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.