- 47 Comments
-
Getting the Trackpad Working in Ubuntu
Contents |
Alternate and Easier Way
Edit
Using the method in the link allows you to have two finger tapping and scrolling without having to downgrade Xorg. This method is only tested with Ubuntu 10.10
Original Way
Edit
Once Ubuntu is installed you will notice that the trackpad does not work like it did in ChromeOS. Two finger scrolling and two finger tapping does not work. Follow these instructions to get it working like it should.
NOTE: These steps worked for me, if they do not work for you, leave a comment. If you have an improvement, be sure to edit that page!
NOTE: If you used Lucid (Ubuntu 10.04) image for the rootfs.bin, you can skip the first step (Downgrade Xorg) and last step (Broken Packages).
Downgrade Xorg
Edit
Ubuntu 10.10 ships with Xorg version 1.9.0, ChromeOS uses 1.7.6, and the Synaptic driver was built for this version of Xorg, so we must downgrade it.
- Download the archive here (http://goo.gl/3sQ0Y ) with all pertaining files and continue to step 2, or go to the ubuntu lucid repository and download the following packages, xorg, xserver-xorg, xserver-xorg-core, xserver-xorg-input-all, xserver-xorg-input-evdev, xserver-xorg-input-mouse, xserver-xorg-video-intel, xserver-xorg-input-synaptics, xserver-xorg-video-vesa
- Move all the .deb files to their own folder and open a terminal and cd to that directory
- Run "sudo dpkg -i ./*.deb" to install them all
- Reboot
NOTES:
- In the future when Ubuntu offers to upgrade Xorg for you DO NOT DO IT.
- Ubuntu will report broken packages, just ignore them.
Copy Files
Edit
You can just download this archive (http://goo.gl/Ueggt), and copy them to the corresponding places below, or copy the actual files from the ChromeOS partition yourself.
Now make sure the ChromeOS partition is mounted, in Ubuntu you can do that just by clicking on "C-ROOT" in the places menu. You can also access Ubuntu partition directly in Chrome OS by mounting /dev/sda7 using "mount" command:
- sudo su
- mkdir /tmp/ubuntu
- mount /dev/sda7 /tmp/ubuntu
- cd /tmp/ubuntu
Copy the following files from the ChromeOS partition to the corrosponding spot on the Ubuntu partition:
- /usr/lib/xorg/modules/input/syntp_drv.so
- /usr/lib/xorg/modules/input/kbd_drv.so
- /usr/bin/Xorg (Be sure to backup your existing xorg in case something goes wrong!)
- /opt/Synaptics (The whole folder.)
- /etc/init/synaptics.conf
- /etc/init/synaptics-dbus.conf
- /etc/init/syntpenh.conf
If you are not able to access your Chrome C-ROOT partition due to some errors, here are all the files. Just extract the folder, all the files are inside: http://goo.gl/Ueggt
Xorg.conf
Edit
Now we need to add a section to Xorg.conf. The default Ubuntu install does not come with one, so we will make it.
- Logout and Switch to Virtual Terminal 2
- Become root (sudo su) and type "stop gdm"
- Type "X -configure" then "cp /root/xorg.conf.new /etc/X11/xorg.conf"
- Now edit /etc/X11/xorg.conf (for example "vi /etc/X11/xorg.conf")
- Make sure it looks like this: (The changes have been bolded and italisized) NOTE: This is for Ubuntu, Arch Linux may look different, just make sure the syntp section is the only mouse section.
Section "ServerLayout"
Identifier "X.org Configured"
Screen 0 "Screen0" 0 0
InputDevice "Mouse0" "CorePointer"
InputDevice "Keyboard0" "CoreKeyboard"
EndSection
Section "ServerFlags"
Option "IgnoreABI" "True"
EndSection
Section "Files"
ModulePath "/usr/lib/xorg/modules"
FontPath "/usr/share/fonts/X11/misc"
FontPath "/usr/share/fonts/X11/cyrillic"
FontPath "/usr/share/fonts/X11/100dpi/:unscaled"
FontPath "/usr/share/fonts/X11/75dpi/:unscaled"
FontPath "/usr/share/fonts/X11/Type1"
FontPath "/usr/share/fonts/X11/100dpi"
FontPath "/usr/share/fonts/X11/75dpi"
FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
FontPath "built-ins"
EndSection
Section "Module"
Load "dbe"
Load "dri"
Load "dri2"
Load "extmod"
Load "glx"
Load "record"
EndSection
Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
EndSection
Section "InputDevice"
Identifier "Mouse0"
Driver "syntp"
Option "Device" "/dev/input/mice"
Option "SendCoreEvents" "true"
EndSection
#Section "InputDevice"
# Identifier "Mouse0"
# Driver "mouse"
# Option "Protocol" "auto"
# Option "Device" "/dev/input/mice"
# Option "ZAxisMapping" "4 5 6 7"
#EndSection
Section "Monitor"
Identifier "Monitor0"
VendorName "Monitor Vendor"
ModelName "Monitor Model"
EndSection
Section "Device"
### Available Driver options are:-
### Values: : integer, <f>: float, <bool>: "True"/"False",
### <string>: "String", <freq>: "<f> Hz/kHz/MHz",
### <percent>: "<f>%"
### [arg]: arg optional
#Option "NoAccel" # [<bool>]
#Option "SWcursor" # [<bool>]
#Option "ColorKey" # <i>
#Option "CacheLines" # <i>
#Option "Dac6Bit" # [<bool>]
#Option "DRI" # [<bool>]
#Option "NoDDC" # [<bool>]
#Option "ShowCache" # [<bool>]
#Option "XvMCSurfaces" # <i>
#Option "PageFlip" # [<bool>]
Identifier "Card0"
Driver "intel"
BusID "PCI:0:2:0"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
SubSection "Display"
Viewport 0 0
Depth 1
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 4
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 8
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 15
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 16
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 24
EndSubSection
EndSection
6. Save it and reboot
Final Touches
Edit
When the notebook starts back up the mouse should be working.
- Once you login open a terminal and cd to /opt/Synaptics/bin.
- Type "./SynTPEnh &" This starts the synaptic enhancement daemon
- Type "./tpcontrol_syncontrol taptoclick on" to turn on tap to click
Now assuming everything works we want this to run automatically on startup. To do this just add these commands as new startup items in System -> Preferences -> Startup Programs (Remove the "&" for the first command.)
Need to add two items in the Startup Program:
- Command: /opt/Synaptics/bin/SynTPEnh
- Command: /opt/Synaptics/bin/tpcontrol_syncontrol taptoclick on
Broken Packages
Edit
After this is done you will notice broken packages, and you cannot install anything else. We need to lock the xserver-xorg-core package to fix this.
- Open up Synaptic Package Manager
- Click on "Status" and then "Installed (Upgradeable)"
- Select all the packages with xorg in them (They might be highlighted in red)
- In the menu on the top click Package -> Lock Version
- Synaptic will say it has to remove some packages, make ABSOULUTLY SURE that the only packages that appear there have either xserver-xorg-input or xserver-xorg-video in them, and than none of the packages installed using dpkg earlier are listed.
- Click Mark, then Apply
This should fix the broken packages!
It Works For Me!