Synaptics Touchpad on a Linux Dell laptop
January 28, 2007 at 7:28 pm | In IT |This article was written on 23 May 2004. Newer Linux distributions do natively recognise and install all the required drivers for the Synaptics Touchpads. I had lost this article and found it again on newsgroups. Here for posterity.
I’ve recently installed Mandrake Linux 10.0 on my Dell laptop and was pleasantly surprised when everything seem to work right away after the basic install, including my wireless network card.
My Dell laptop is an Inspiron 2650 which comes with an integrated Synaptics Touchpad. I do not use any other pointing device and am quite happy tapping and sliding away when using my computer.
After installation though, I identified that although I could move the cursor around and use the left-click and right-click buttons, the touchpad was not responding to tapping or gliding.
After numerous searches on the web and through newsgroups, I finally got it to work because of one little details that was missing …. a required kernel module was not loaded at boot time…. This is how I went about solving my problem, and now, it is working perfectly!
Step-by-step guide
Install Mandrake and let it detect everything. Your touchpad will be detected as a PS/2 mouse
Once installation is finished, point your browser to http://w1.894.telia.com/~u89404340/touchpad/index.html and download the latest drivers. At the time of writing, the latest version is 0.13.2
This will download a file with a bz2 extension
Open a terminal window and point to the folder in which you saved the file
Unpack the file using the command ‘bunzip2 synaptics-0.13.2.tar.bz2′ which will produce a .tar file
Unpack the synaptics-0.13.2.tar file using the command ‘tar -xvf synaptics-0.13.2.tar’. This will produce a directory with all the file contained in the archive.
Access the newly created folder using the command ‘cd synaptics-0.13.2′ and once in the folder type the command ‘make’. This will create the Touchpad driver for your computer. This should only take a few seconds until you are at the prompt again.
Logon as root using the command ’su -l root’ and type ‘make install’. This will install the driver and a few other things for the touchpad to work properly.
Now that the driver has been created and placed where it should be, it is necessary to call it when launching X. This will require modifications to be made to the XF86Config-4 file which defines all of X’s parameters. Still as root, open the relevant directory using the command ‘cd /etc/X11′. Backup your existing configuration file using the command ‘cp ./XF86Config-4 ./XF86Config-4.backup’.
Now edit the XF86Config-4 file using emacs or kwrite .
There is a section which defines which modules are to be loaded at startup time. This should look like this:
Section “Module” Load “dbe” # Double-Buffering Extension
Load “v4l” # Video for Linux
Load “extmod”
Load “type1″
Load “freetype”
Load “glx” # 3D layer
Load “synaptics”
EndSection
It is not a problem if the number of modules or their names is different from the list above. The important thing is to add the last entry ‘Load “synaptics”’ which is the driver we just created.
Next step is to replace the section ‘InputDevice’ with the following one:
Section “InputDevice”
Identifier “touchpad”
Driver “synaptics”
Option “Device” “/dev/mouse”
Option “Protocol” “auto”
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 “MinSpeed” “0.06″
Option “MaxSpeed” “0.12″
Option “AccelFactor” “0.0010″
Option “SHMConfig” “on”
EndSection
Now in the ‘ServerLayout’ section you should have two ‘InputDevice’ entries. One for the keyboard, and for the Touchpad. Because we said in the section above that the touchpad was to be known with the identifier ‘touchpad’ we need to make sure this is repeated in this section. Mine looks like this:
Section “ServerLayout”
Identifier “layout1″
InputDevice “Keyboard1″ “CoreKeyboard”
InputDevice “touchpad” “CorePointer”
Screen “screen1″
EndSection
NOTE: Your screen and keyboard will not necessarily be known as ’screen1′ and ‘keyboard1′. This section has to reflect the identifiers defined in the respective sections.
Save the file and open the file ‘/etc/modprobe.preload’. Add the entry ‘evdev’ on a new line. My file looks like this:
# /etc/modprobe.preload: kernel modules to load at boot time.
#
scsi_hostadapter
intel-agp
evdev
Save,reboot and enjoy!
In summary:
- We installed the base system
- We downloaded the latest driver for the Touchpad
- We compiled the driver on your machine and installed it
- We modified the X configuration file to make sure the appropriate driver was loaded.
- For this to work, the appropriate kernel module needs to be loaded when the machine is started and that’s what we did by adding it to the relevant file.
This worked fine for me and again was using a Dell Inspiron 2650 and Mandrake 10.0.
One noticeable difference: the up/down glider (right hand-side of the Touchpad) only really works if the pointer is above the vertical scrollbar. The left/right glider (bottom of the Touchpad) will scroll up and down, without requiring the pointer to be above the vertical scrollbar ….. Slight different reaction than under Windows.
Hope this helps whoever reads this.
2 Comments »
RSS feed for comments on this post. TrackBack URI
Leave a comment
You must be logged in to post a comment.
Powered by
.
Entries and comments feeds.
Valid XHTML and CSS.

Technology and Electronics…
I couldn’t understand some parts of this article, but it sounds interesting…
Trackback by Technology and Electronics — 30 Aug 07 #
As I said, it is an old article. Most if not all Linux distros now support the touchpad by default. Wasn’t the case back in 2004 …
Comment by serge — 03 Sep 07 #