Wikia

Google CR-48 Wiki

Watchlist Recent changes

Getting the Trackpad Working in Ubuntu

Contents

Alternate and Easier WayEdit

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 WayEdit

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 XorgEdit

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.

  1. 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
  2. Move all the .deb files to their own folder and open a terminal and cd to that directory
  3. Run "sudo dpkg -i ./*.deb" to install them all
  4. 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 FilesEdit

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:

  1. sudo su
  2. mkdir /tmp/ubuntu
  3. mount /dev/sda7 /tmp/ubuntu
  4. 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.confEdit

Now we need to add a section to Xorg.conf. The default Ubuntu install does not come with one, so we will make it.

  1. Logout and Switch to Virtual Terminal 2
  2. Become root (sudo su) and type "stop gdm"
  3. Type "X -configure" then "cp /root/xorg.conf.new /etc/X11/xorg.conf"
  4. Now edit /etc/X11/xorg.conf (for example "vi /etc/X11/xorg.conf")
  5. 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 TouchesEdit

When the notebook starts back up the mouse should be working.

  1. Once you login open a terminal and cd to /opt/Synaptics/bin.
  2. Type "./SynTPEnh &" This starts the synaptic enhancement daemon
  3. 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:

  1. Command: /opt/Synaptics/bin/SynTPEnh
  2. Command: /opt/Synaptics/bin/tpcontrol_syncontrol taptoclick on

Broken PackagesEdit

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.

  1. Open up Synaptic Package Manager
  2. Click on "Status" and then "Installed (Upgradeable)"
  3. Select all the packages with xorg in them (They might be highlighted in red)
  4. In the menu on the top click Package -> Lock Version
  5. 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.
  6. Click Mark, then Apply

This should fix the broken packages!


It Works For Me!

47 comments

 
10.8.56.52Anonymous User
Log in?
  Loading editor
  • RE my previous comment. DO not use this instructions with 11. go to http://cr-48.wikispaces.com/Fix+Touchpad+in+Ubuntu which worked for me with just the initial step (installing a specific downgrade other than what's proposed by this process). i had to multiple factory resets due to trouble getting 11 to reinstall from the script after arriving at non functional trackpad using these instructions

  • these instructions were very difficult to follow, especially in the area of editing xorg.conf. the formatting is not good calling out the changes. after that, i get a similar error to a few called out that they got a text only login. I found that it doesn't succeed in loading the syntp driver we are poitning it to. there is an error about undefined symbol XIToCoreType, and so the rest of the config fails and we cant start since monitors and other needed stuff happen after that section and couldnt be completed. ubuntu 11 from the most recent install script guide for it. now i can't get the trackpad to work again even after reinstating the original Xorg file in /usr/bin and removing the xorg.conf that did not work.

  • I downloaded and installed the package given in the very first link, yet it still doesn't work, even after a reboot. What else should I have done?

  • if you are using Ubuntu 10.10 on a Chrome CR-48 then you just need you just need to enable 'Pre-release Updates (Maverick-proposed)' from the settings of 'Update Manager' in the System>Administration menu. Also use Kenny_Strawn's guide to install Unity Netbook edition for Ubuntu 10.10

    http://www.chromeoslounge.com/cr-48-chrome-notebook/923-ubuntu-trackpad-drivers-cr-48-a.html

  • this is the most failed guide i have ever seen you fail man just quit trying give up on life thats all i have to say

  • Well, on my Google Cr-48, Ubuntu 11.04 (and Unity) seems to work much better for the Synaptics touchpad than the default GNOME desktop, even in Ubuntu 11.04. Of course, 11.04 might also have this fix preinstalled.

  • The new easy way still doesn't work... I've installed, restarted, and nothing. tried removing other touchpad packages, but nothing is working. Has anyone gotten it to work? If so, what packages did you install/uninstall??

  • anyway to undo this if already done? its not worth it

    it breaks access to virtual terminal it breaks the arrow keys the trackpad works worst then before

    i just connected a old mighty mouse i had and will use that when needed

  • this breaks being able to enter virtual terminal how can i fix this?

  • I also had a problem with not being able to access a virtual terminal after rebooting, so I couldn't proceed. Scripting would be easy, I'd love to take that on as soon as I figure out why people have been having issues with the VT. To be safe, I removed all of the files I had replaced and restored my backed-up Xorg, then fixed the broken packages in Synaptic. I'm also using Mint 10, shouldn't make much of a difference though.

  • Oh, gosh. I followed the instructions to the letter, but now X won't load, and I just boot into the command line.

    startx just returns errors about failing to load modules. Any clues?

    • I had the same problem, I just re-copied Xorg to /usr/bin. Just make sure you're paying attention and copy it to /usr/bin, and not /etc/X11, like I did. :) The problem was that it wouldn't copy the first time while X was running.

  • This is awesome! Works great! Although it was a lengthy process it was totally worth it! Thank you. And maybe you can make a shell script out of this

  • Any likelihood of scripting this process?

  • When I get to the Xorg.conf section, I get an error when I try input X -config:

    /etc/X11/X is not executable

  • I got this working. I had to do things a few different ways, but I did get it working.

    However, I cannot open VT2 now. Or any VT for that matter. Any idea what's up?

  • I would like to echo the problem of being unable to start Virtual Terminal 2. Before I totally could, but as soon as I copied the files then restarted nothing happens.

  • Does anyone have the 64bit versions of xorg and the touchpad drivers? I know google recently released a 64bit build of ChromiumOS. Does anyone have that build, and can they provide a download for the xorg files and the touchpad drivers? Thanks!

  • Two-finger scrolling *does* work, but you first must add two options to xorg.conf! In the trackpad's "InputDevice" section, you add:

    Option "VertTwoFingerScroll" "1" Option "HorizTwoFingerScroll" "1"

    the reboot. After the reboot, two-finger scrolling is enabled!

  • First of all, thanks for the excellent write-up! I did it perfectly till the fixing the broken packages part. I locked the version for all the packages with xorg in them, but Synaptic didn't tell me anything about removing packages. I clicked on Status->Broken there I find a list of packages, but if I click remove, it wants to remove "xserver-xorg-input-all". Can you please help me with this? Thanks!

  • This worked for me, until I got ahead of myself and tried to fix the broken packages on my own. DOH!

    Screwed everything up, had to recover my cr48 (which was a surprisingly nice experience). ReInstalling Ubuntu, but will probably wait until updated drivers and/or kernel is released before mucking around again.

  • Hi there! This is really good and the instructions worked for me. Is there any way to modify the settings to decrease acceleration, for example? Thanks!

  • @rob365 I ran /usr/share/vboot/bin/make_dev_ssd.sh --remove_rootfs_verification from a ChromeOS shell, but I get "11: can't open /usr/share/vboot/bin/common_minimal.sh. Can someone upload the files?

  • Maybe I'm blind, but when I'm going through this on my CR-48, I cannot find a file named kbd_drv.so? All I've got is evdev, mouse, synaptics, vmmouse, and wacom.

  • So this solution still doesn't enable multitouch functionality such as pinch-to-zoom or scrolling using two fingers?

  • I was able to do all the steps and two finger tap does do a right click but two finger scrolling doesn't work. How can I enable that.

Pages on Google CR-48 Wiki

Add a Page
3pages on
this wiki
Advertisement | Your ad here

Latest Photos

Add a Photo
8photos on this wiki

Recent Wiki Activity

See more >

Around Wikia's network

Random Wiki