Intel 915GM Graphics/Display

 

Upon first boot, the display is too wide for the screen, I had to scroll left and right to view the whole thing at 1280x768 resolution. The fix for this is the 915resolution utility. The problem is that the video bios for the 915GM graphics card does not support 1280x768 resolution. The 915resolution utility allows you to patch one of the video bios' resolution modes to 1280x768 so the display is correct. The README included with the 915resolution utility provides instructions, but here's the exact steps I took. You might find these more helpful, and you will want to read at least the last section, because it deals with a little Mandriva-specific quirk that the README doesn't account for:

First, uncompress the file 915resolution-0.5.tar.gz . This will create a folder wherever you chose to extract to called 915resolution-0.5

Now, close your X server by opening a console and typing, as root, "init 3". This will take you into runlevel 3 command line mode.

Now cd to the 915resolution directory, i.e., /cd/whereveryouextracedto/915resolution-0.5 and make sure you have root privileges by typing "su" and your root password, then run "make" then "make install"

Now the 915resolution utility is installed to /usr/sbin/915resolution.

To see what resolutions are in your video bios, run: 915resolution -l

The video modes will be listed with a number, the resolution, and bits per pixel, like this:      Mode 4d : 1900x1600, 16 bits/pixel. Pick one of the resolutions you will not be using (I used 4d), and patch it with the command: 915resolution xx 1280 768 24     with "xx" being the video mode you want to patch. The 24 on the end refers to bits per pixel. If you want to use one of the default color depths (8, 16 and 32 are the defaults), then leave the "24" off.

Now, check your xorg.conf file: cd /etc/X11 and open the file with your favorite editor, I use emacs, so in my case: emacs xorg.conf

The file should now have several 1280x768 ModeLines listed under the section "Monitor". Mine reads like this:

Section "Monitor"
Identifier "monitor1"
VendorName "Generic"
ModelName "Flat Panel 1280x768"
HorizSync 31.5-90
VertRefresh 60

#modeline generated by gtf(1) [handled by XFdrake]
ModeLine "1280x768 120" 173.82 1280 1376 1520 1760 768 769 772 823 -HSync
+ Vsync

There are a few more ModeLines listed as well, but this should give you the idea. gtf should assign these for you automagically, but if it didn't, you may have to edit your xorg.conf to include them (my xorg.conf file is listed in full at the bottom of this page).

Now, if you chose 24 bit color depth, you will also need to edit your xorg.conf "Screen" section and change the default color depth to 24 instead of 16. Mine reads like this:

Section "Screen"
Identifier "screen1"
Devide "device1"
Monitor "monitor1"
DefaultColorDepth 24

Subsection "Display"
Depth 8
Virtual 1280 768

Subsection "Display"
Depth 15
Virtual 1280 768

Subsection "Display"
Depth 16
Virtual 1280 768

Subsection "Display"
Depth 24
Virtual 1280 768
 

Because the patch is not permanent, you need to add the patch to your startup scripts so that it runs every time at bootup. This can be done from the command line as well, but I'm not terribly proficient using command line text editors, so I chose to log back into a graphical environment. To log back into X, issue "init 5" or "startx" and log in as root. Your resolution should still be the same at this point.

Now open Konqueror and go to the folder /etc/rc.d . You will see a script called "rc.local". Open it up with your favorite text editor and add the line: /usr/sbin/915resolution xx 1280 768 24 . Remembering that "xx" is the video mode you chose to patch, and "24" only applies if you want 24 bits per pixel.

Now according to the README, and all the other tutorials for installing linux on the X1, this should be it. But we still have more work to do. In the rc.d folder, you will see subfolders rc0.d through rc6.d , these correspond to runlevels 0-6. The script "rc.local" is symlinked to the script "S99local", which can be found in rc2.d through rc5.d . Since X starts at runlevel 5, we will now open the rc5.d folder. The scripts in this folder run in order of their number, so "S99local" is the last script to run. Since the display manager is labeled "S30dm" this means that the patch won't run until after X has already started. So we need to rename "S99local" to "S01local" so that it runs before the display manager.

Now reboot and you should be greeted with a 1280x768 display!

Mandriva 2006 uses a CVS build of Xorg 6.9, so the Intel 915GM graphics driver is already present, and direct rendering is enabled (this was not the case in most of the distributions I read about while trying to find information about this laptop, and they required one to install the driver and dri package), so everything's all good. If you're using Xorg 6.8.2, you should be able to use the same procedure as above, but you'll have to use the vesa driver, and you won't have direct rendering (which shouldn't be a huge problem unless you plan on gaming with this laptop, which probably isn't the case). A future release of Xorg is supposed to include the 915resolution patch, which would void the need to run it manually.

 

In case you need it for reference, here's my xorg.conf:

 

# File generated by XFdrake.

# **********************************************************************
# Refer to the XF86Config man page for details about the format of
# this file.
# **********************************************************************

Section "Files"
# Multiple FontPath entries are allowed (they are concatenated together)
# By default, Mandrake 6.0 and later now use a font server independent of
# the X server to render fonts.
FontPath "unix/:-1"
EndSection

Section "ServerFlags"
#DontZap # disable <Crtl><Alt><BS> (server abort)
#DontZoom # disable <Crtl><Alt><KP_+>/<KP_-> (resolution switching)
AllowMouseOpenFail # allows the server to start up even if the mouse does not work
EndSection

Section "Module"
Load "dbe" # Double-Buffering Extension
Load "v4l" # Video for Linux
Load "extmod"
Load "type1"
Load "freetype"
Load "synaptics"
Load "glx" # 3D layer
Load "dri" # direct rendering
EndSection

Section "InputDevice"
Identifier "Keyboard1"
Driver "keyboard"
Option "XkbModel" "inspiron"
Option "XkbLayout" "us"
Option "XkbOptions" "compose:rwin"
EndSection

Section "InputDevice"
Identifier "Mouse1"
Driver "mouse"
Option "Protocol" "ExplorerPS/2"
Option "Device" "/dev/mouse"
Option "ZAxisMapping" "6 7"
EndSection

Section "InputDevice"
Identifier "SynapticsMouse1"
Driver "synaptics"
Option "Protocol" "auto-dev"
Option "Device" "/dev/input/mice"
Option "MinSpeed" "0.09"
Option "MaxSpeed" "0.18"
Option "BottomEdge" "4200"
Option "SHMConfig" "on"
Option "FingerLow" "25"
Option "LeftEdge" "1700"
Option "MaxTapMove" "220"
Option "MaxTapTime" "180"
Option "FingerHigh" "30"
Option "VertScrollDelta" "100"
Option "TopEdge" "1700"
Option "AccelFactor" "0.0015"
Option "RightEdge" "5300"
EndSection

Section "Monitor"
Identifier "monitor1"
VendorName "Generic"
ModelName "Flat Panel 1280x768"
HorizSync 31.5-90
VertRefresh 60

# TV fullscreen mode or DVD fullscreen output.
# 768x576 @ 79 Hz, 50 kHz hsync
ModeLine "768x576" 50.00 768 832 846 1000 576 590 595 630

# 768x576 @ 100 Hz, 61.6 kHz hsync
ModeLine "768x576" 63.07 768 800 960 1024 576 578 590 616

# modeline generated by gtf(1) [handled by XFdrake]
ModeLine "1280x768_120" 173.82 1280 1376 1520 1760 768 769 772 823 -HSync +Vsync

# modeline generated by gtf(1) [handled by XFdrake]
ModeLine "1280x768_100" 141.96 1280 1376 1512 1744 768 769 772 814 -HSync +Vsync

# modeline generated by gtf(1) [handled by XFdrake]
ModeLine "1280x768_85" 118.53 1280 1368 1504 1728 768 769 772 807 -HSync +Vsync

# modeline generated by gtf(1) [handled by XFdrake]
ModeLine "1280x768_75" 102.98 1280 1360 1496 1712 768 769 772 802 -HSync +Vsync

# modeline generated by gtf(1) [handled by XFdrake]
ModeLine "1280x768_60" 80.14 1280 1344 1480 1680 768 769 772 795 -HSync +Vsync

# modeline generated by gtf(1) [handled by XFdrake]
ModeLine "1280x768_50" 65.18 1280 1336 1464 1648 768 769 772 791 -HSync +Vsync
EndSection

Section "Device"
Identifier "device1"
VendorName "Intel Corp."
BoardName "Intel 915"
Driver "i810"
Option "DPMS"
EndSection

Section "Screen"
Identifier "screen1"
Device "device1"
Monitor "monitor1"
DefaultColorDepth 24

Subsection "Display"
Depth 8
Virtual 1280 768
EndSubsection

Subsection "Display"
Depth 15
Virtual 1280 768
EndSubsection

Subsection "Display"
Depth 16
Virtual 1280 768
EndSubsection

Subsection "Display"
Depth 24
Virtual 1280 768
EndSubsection
EndSection

Section "ServerLayout"
Identifier "layout1"
InputDevice "Keyboard1" "CoreKeyboard"
InputDevice "Mouse1" "CorePointer"
InputDevice "SynapticsMouse1" "AlwaysCore"
Screen "screen1"
EndSection