Gaugusch.at - Select main page

Kernel and X configuration

Kernel configuration

A precompiled kernel (as RPM made with "make rpm") is available for download, including the following patches. Don't forget the kernel parameter resume=/dev/[your swap partition] for software suspend! The download page also offers pre-compiled ALSA drivers and hsflinmodem drivers.

Recommended patches and addons

ACPI (no longer needed for 2.4.22 and up!)
Software Suspend
powernowk7

The kernel config for my 2.4.23 contains my kernel options. Save it to /usr/src/linux/.config when building your own kernel.
I have also built a 2.6 kernel, the 2.6 config is available for download.

Kernel installation instructions

To install the RPM from console, run "rpm -Uvh kernel-2.4.xx-vaio.rpm".

If you are using LILO, add an entry to your /etc/lilo.conf:
image = /boot/vmlinuz-2.4.23
  label = Linux VAIO kernel 2.4.23
  root = /dev/hda5
  append = "hdc=scsi resume=/dev/hda6 hdb=none hdd=none"

After changing lilo.conf, run lilo, or your machine may not boot!

If you are using grub, edit /boot/grub/menu.list:
title Linux VAIO kernel 2.4.23
  kernel (hd0,0)/vmlinuz-2.4.23 root=/dev/hda5 hdc=scsi vga=791 resume=/dev/hda6 hdb=none hdd=none

The hdb=none and hdd=none entries make booting faster. You will probably have to adjust root= and resume= to your own root and swap partition. For software suspend, the swap partition has to be at least twice the amount of installed RAM (e.g. 512MB swap for 256MB RAM).

X Windows configuration

To get the USB mouse working any time, USB drivers have to be loaded. I first tried without USB drivers and the mouse just worked, only without the wheel. Then I realised that there were no USB drivers, loaded them and I could use the wheel. This is probably because of BIOS input device support.
Here is the part of XF86Config, that is responsible for mouse handling:

Section "InputDevice"
  Driver        "mouse"
  Identifier    "Mouse[1]"
  Option        "Device"        "/dev/psaux"
  Option        "Emulate3Buttons"       "on"
  Option        "Emulate3Timeout"       "100"
  Option        "Name"          "AutoDetected"
  Option        "Protocol"      "ps/2"
EndSection      

Section "InputDevice"
  Driver        "mouse"
  Identifier    "Mouse[2]"
  Option        "Device"        "/dev/input/mice"
  Option        "Protocol"      "IMPS/2"
  Option        "Buttons"       "5"
  Option        "ZAxisMapping"  "4 5"
EndSection      

Section "ServerLayout"
  Identifier    "Layout[all]"
  InputDevice   "Keyboard[0]"   "CoreKeyboard"
  InputDevice   "Mouse[2]"      "SendCoreEvents"
  InputDevice   "Mouse[1]"      "CorePointer"
  Screen        "Screen[0]"     
EndSection

You can find the full XF86Config file on the download page.

Touchpad configuration

This requires kernel 2.6. Please read the configuration page, if you haven't already done so. It is absoluteley necessary to patch your kernel! I also suggest to get the mouse working normally, before trying to do the following.
After patching and rebooting, modify the Mouse[1] section in XF86Config to be like this:

Section "InputDevice"
  Driver                        "synaptics"
  Identifier                    "Mouse[1]"
  Option "Device"               "/dev/input/event1"
  Option "Protocol"             "event"
  Option "LeftEdge"             "65"
  Option "RightEdge"            "905"
  Option "TopEdge"              "80"
  Option "BottomEdge"           "660"
  Option "FingerLow"            "25"
  Option "FingerHigh"           "50"
  Option "MaxTapTime"           "180"
  Option "MaxTapMove"           "110"
  Option "EmulateMidButtonTime" "75"
  Option "VertScrollDelta"      "50"
  Option "HorizScrollDelta"     "50"
  Option "MinSpeed"             "0.2"
  Option "MaxSpeed"             "0.5"
  Option "AccelFactor"          "0.01"
  Option "EdgeMotionSpeed"      "40"
  Option "UpDownScrolling"      "1"
  Option "TouchpadOff"          "0"
  Option "SHMConfig"            "on"
  Option "CircScrollTrigger"    "3"
  Option "CircularScrolling"    "1"
EndSection

Take extreme care, that the input device is the right one (cat /proc/bus/input/devices)! Otherwise your keyboard might be dead ...
Then start X and cross fingers ... If you did everything right, you can use the right side to scroll up and down, and the bottom side for left and right scrolling. But there is even more! You can start scrolling on the right side (e.g. scroll down), and then move into the middle of the touchpad and draw circles. The mouse will now scroll very fast, as long as you draw the circles!
I don't know if Windows supports that, but it is absolutely *WHOOOAAA* (for me :).
Things that don't work under linux are the movements on the top edge (I think it is window min/maximizing under Windows), but I can live without that. Edge-tapping for getting button 2/3 also doesn't work (or at least I haven't gotten it to work). You can use the synclient program to change and read parameters of the touchpad at runtime. It is included in the synaptics package.