Installation of the Synaptics Touchpad Driver for X.Org ======================================================= Author: Stefan Gmeiner Requirements ------------ Libraries: You need the modular X.Org header files. Also having randr and and input protocols is necessary. Kernel: For use with kernel 2.6.x you need to enable synaptics touchpad support when configuring the kernel (CONFIG_MOUSE_PS2). You also need support for the evdev interface (CONFIG_INPUT_EVDEV). If you compile evdev as a module, make sure it is loaded before starting the X server, as it will not be auto-loaded. Installing ---------- 1. Type "./configure && make" to compile the driver. 2. Type "make install" to install the driver. 3. Add the driver to the X.Org configuration file (usually called /etc/X11/xorg.conf): Section "InputDevice" Identifier "Synaptics Mouse" Driver "synaptics" Option "Device" "/dev/psaux" Option "Protocol" "auto-dev" # enable SHMConfig if you want to enable synclient # NB: enabling SHMConfig is insecure, since any user can invoke it # Option "SHMConfig" "on" 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 "VertScrollDelta" "100" Option "CornerCoasting" "1" Option "CoastingSpeed" "3" Option "MinSpeed" "0.09" Option "MaxSpeed" "0.18" Option "AccelFactor" "0.0015" EndSection Change the Identifier to the same name as in the ServerLayout section. 5. Add the "CorePointer" option to the InputDevice line at the ServerLayout section: Section "ServerLayout" ... InputDevice "Synaptics Mouse" "CorePointer" ... Note! You can not have more than one core pointer, so if you want to use an external mouse too, you have to set all mouse input devices except one to "AlwaysCore" instead of "CorePointer". For example: Section "ServerLayout" ... InputDevice "Mouse0" "CorePointer" InputDevice "Synaptics Mouse" "AlwaysCore" ... Section "InputDevice" ... Identifier "Mouse0" Option "Device" "/dev/input/mice" ... This also applies if you are using a 2.6 linux kernel and the touchpad contains a "pass through" device. Usually a pass through device is a touch stick located in the middle of the keyboard, but it can also be a separate set of buttons located next to the touchpad. If you want the pass through device to be enabled in X, the second InputDevice is needed. If there is a line in /proc/bus/input/devices that begins with "P: Phys=synaptics-pt" it means that the kernel has found a pass through device. 6. Start/Restart the X Server. If the touchpad doesn't work: a) Check the X.Org log file. This file is usually called /var/log/Xorg.0.log. b) Try to start the X server with 'startx -- -logverbose 8' for more output. 7. If you want to be able to change driver parameters without restarting the X server, enable the "SHMConfig" option in the X.Org configuration file. You can then use the "synclient" program to query and modify driver parameters on the fly. Note! This is not secure if you are in an untrusted multiuser environment. All local users can change the parameters at any time. If you can't get the driver working, check the trouble-shooting.txt file for common problems. If that doesn't help, mail the log files and the configuration file to petero2@telia.com. If you use a 2.6.x linux kernel, also mail the output from dmesg and the output from "cat /proc/bus/input/devices".