XFree

That was a very hard one: The BIOS says that 1400x1050 is not supported, so XFree doesn't recognize this as a possible resolution. The solution came with a tool called 855resolution, wich can be found at http://perso.wanadoo.fr/apoirier/. This patches the BIOS everytime the X display manager is started (patch is not permanent). All you need to do is:

855resolution 5a 1400 1050

and all works. I embedded this in the xdm start script at /etc/init.d/xdm:

start() {
        setup_dm
        # run 855-script for intel graphics card in full 1400x1050
        /scripts/855

        # set the cpu to the right speed
        /scripts/switchspeed

...

The /scripts/855 just contains the 855resolution call. Another thing you see here is the switchspeed script which changes sets the CPU speed for battery and cable differently on boot.

Parts of my /etc/X11/XF86Config looks like this:

Section "InputDevice"
 Identifier  "Keyboard1"
 Driver      "Keyboard"
 Option "AutoRepeat" "500 30"
 Option "XkbRules"      "xfree86"
 Option "XkbModel"      "pc104"
 Option "XkbLayout"     "de"
 Option "XkbVariant"    "nodeadkeys"
EndSection


Section "InputDevice"
 Identifier             "Touchpad"
 Driver                 "synaptics"
 Option "Protocol"      "ImPS/2"
 Option "Device"        "/dev/psaux"
 Option "LeftEdge"      "1700"
 Option "RightEdge"     "5300"
 Option "TopEdge"       "1700"
 Option "BottomEdge"    "4200"
 Option "FingerLow"     "25"
 Option "FingerHigh"    "30"
 Option "MaxTapTime"    "180"
 Option "MaxTapMove"    "220"
 Option "VertScrollData"        "100"
 Option "MinSpeed"      "0.06"
 Option "MaxSpeed"      "0.12"
 Option "AccelFactor"   "0.0010"
 Option "SHMConfig"     "on"
EndSection

# USB-Mouse
Section "InputDevice"
 Identifier             "USBMouse"
 Driver                 "mouse"
 Option "Device"        "/dev/usbmouse"I
 Option "Protocol"      "IMPS/2"
 Option "ZAxisMapping"  "4 5"
EndSection


Section "Monitor"
    Identifier  "Acer Travelmate 6003LCi"
    HorizSync   28-65
    VertRefresh 60
EndSection 


Section "Device"
    Identifier  "Acer Travelmate 6003LCi"
    Driver      "i810"
EndSection

Section "Screen"
    Identifier  "Screen 0"
    Device      "Acer Travelmate 6003LCi"
    Monitor     "Acer Travelmate 6003LCi"
    DefaultDepth 24

    Subsection "Display"
        Depth       8
        Modes       "1400x1050" "1280x1024" "1024x768" "800x600" "640x480"
        ViewPort    0 0
    EndSubsection
    Subsection "Display"
        Depth       16
        Modes       "1400x1050" "1280x1024" "1024x768" "800x600" "640x480"
        ViewPort    0 0
    EndSubsection
    Subsection "Display"
        Depth       24
        Modes       "1400x1050" "1280x1024" "1024x768" "800x600" "640x480"
        ViewPort    0 0
    EndSubsection
EndSection


Section "ServerLayout"
 Identifier  "Simple Layout"
 Screen "Screen 0"

 InputDevice "Touchpad" "CorePointer"
 InputDevice "Keyboard1" "CoreKeyboard"
 InputDevice "USBMouse" "AlwaysCore"
EndSection

Section "DRI"
   Mode 0666
EndSection

Intel graphics drivers

Note

The XFree mentioned above has been replaced with an X.org 6.8.2 server. All future documentation will refer to this one.

X.org provides a driver for Intel based graphics chipsets, the i810. Unfortunately, glxgears is somehow slow (around 600fps), and I wanted to replace the X.org driver (which are generally built for stability) with the one Intel provides on its website.

They have two files for the driver:

  • dri-I915-v1.1-20041217.i386.rpm

  • i915Graphics.tar.gz

The first one didn't install, but as I don't like rpms on a Gentoo box, I tried the driver compilation via the install.sh script in the tar.gz driver package. It has a menu which guides you through the installation process. However, compilation failed with the message:

Compiling new agpgart module...
Compiling DRM module...
ERROR: Kernel modules did not compile

The dri.log then contained the following lines:

make -f Makefile.linux DRM_MODULES=gdg.ko modules
make[1]: Entering directory `/data/download/intel855/dripkg/drm'
make -C /lib/modules/2.6.13/build  SUBDIRS=`pwd` DRMSRCDIR=`pwd` modules
make[2]: Entering directory `/usr/src/linux-2.6.13'
  CC [M]  /data/download/intel855/dripkg/drm/gdg_drv.o
In file included from /data/download/intel855/dripkg/drm/gdg_drv.c:17:
/data/download/intel855/dripkg/drm/drm_agpsupport.h:47: error: syntax error before '*' token
... (usual stuff which follows the first error)

I wrote to Intel support asking for help or an updated driver. The answer came one day later:

The support we provide for Linux* is limited to providing drivers. For assistance in other support topics, please contact your Linux* vendor.

They are telling me that they provide drivers, and if they don't work it's my problem? If they really mean this seriously, Intel just lost a customer.