Great news, yesterday the i2c Linux kernel drivers from Synaptics made it upstream and are in the proposed repository. This is relevant for those Sputnik 3 users who have upgraded from Ubuntu 12.04 to either 13.10 or 14.04 LTS.
If you want to start kicking the tires before the drivers hit updates, you can enable the proposed repository and get to the test kernels by following the instructions here:
https://wiki.ubuntu.com/Testing/EnableProposed
What the issue was
From 13.10 on there is better i2c support and since there weren’t any drivers, this caused the touchpad to operate in very basic i2c mode, meaning no multi-touch, tap-to-click, scrolling, etc. Users were either left with a minimally-functional touchpad in i2c mode, or they had to end up blacklisting the i2c-hid modules as a workaround so the touchpad would come up in psmouse mode and operate similar to how it did in 12.04.
Going Forward
Canonical, who has been instrumental in this whole process, is also doing their best to try and backport this functionality into 14.04 LTS so that users can take advantage of native i2c touchpad support.
Thanks
I would like to give big shout outs to Synaptics, Canonical and Kent Baxley from Canonical for making this happen!!
Pau for now….
You can follow the progress of this issue here:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1305522
Be aware that the kernel from the -proposed repository indeed fixes the touchpad, but, can also cause problems for those Sputnik-3 users with touchscreens. The touchscreen will stop working.
This is because the new rmi-hid driver support required to help get the touchpad working also wants to take control of the touchscreen (though it shouldn’t). There are some patches in the works that attempt to correct this behavior. Please see the bug report link above for full details.
There are still a few kinks to iron out, but, we are getting there.
LikeLike
Our kernel developer working on this issue has posted another test kernel on his people page. This one should correct the issues mentioned in my previous post. At least one person has reported that the kernel is working well on their XPS 13, Sputnik-3 model.
http://people.canonical.com/~acelan/bugs/lp1305522/20140515/
LikeLike
Hey Kent, can you please explain the proper way to install the kernel from that link you posted?
LikeLike
@arashbahramnia: to install the kernel download all 4 files to the same place then install them with dpkg. For example, you can make a directory like this:
mkdir ~/Downloads/kernel/
Download the debian packages to that directory. From the commmand line run the following:
cd ~/Downloads/kernel/
sudo dpkg -i *.deb
This will install all the packages. When they’re done installing, reboot. To verify you are running the new kernel after installtion, open up a terminal and run the “uname -a” command. You should see “3.13.0-27-generic” somewhere in the output.
Please report results here, if you like:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1305522
Hope that helps.
LikeLike
Update from our kernel folks:
The latest patches from AceLan’s people page posted on May 15th have been merged upstream.
The patches in question address lingering issues that folks encountered where the kernel in -proposed seemed to break the touchscreens on Sputnik-3 machines.
AceLan is in the process of re-submitting everything for inclusion in an update to Ubuntu 14.04 LTS. There will be another kernel posted to the -proposed repository. If testing of the -proposed kernel checks out OK, then an official fix will be posted to -updates.
I will try and let everyone know as soon as possible when the -proposed kernel lands. Please test thoroughly so we can get the update out as soon as possible
Thanks.
LikeLike
Another update for those that are interested:
The test kernel that AceLan has posted has received very positive feedback so far. Here’s the link to the latest one for those that are interested:
http://people.canonical.com/~acelan/bugs/lp1305522/20140523/
XPS 13 users are reporting that the touchpad and multi-touch features are working well and the touchscreen is also working quite well with this patched kernel (multi-touch included).
There is one minor thing that I and others have noticed after applying the kernels and that’s the presence of a PS/2 mouse device in xinput, which (I think) shouldn’t be there since the touchpad is operating in i2c mode now:
xinput
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ ATML1000:00 03EB:842F id=10 [slave pointer (2)]
⎜ ↳ DLL05E3:01 06CB:2734 id=11 [slave pointer (2)]
⎜ ↳ PS/2 Synaptics TouchPad id=14 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Power Button id=8 [slave keyboard (3)]
↳ Integrated Webcam id=9 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=12 [slave keyboard (3)]
↳ Dell WMI hotkeys id=13 [slave keyboard (3)]
Further inspection shows us that the psmouse driver does try to load up but it can’t enable the mouse, which, of course, is expected since i2c is in effect.
Also, there are some users reporting some ‘jumpiness’ with the touchpads with the test kernels.
If anyone is interested in helping out or providing feedback with their systems, please feel free to add comments here:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1305522
LikeLike
New update. A re-vamped patch for touchscreens and touchpads will be going into trusty-proposed soon. I’ll put an update here when those kernels go out.
LikeLike
More info on the kernel patches:
The patch set is in master-next, ready for the next turn of the crank (Monday):
HID: rmi: do not handle touchscreens through hid-rmi
HID: rmi: fix masks for x and w_x data
HID: rmi: fix wrong struct field name
HID: rmi: do not fetch more than 16 bytes in a query
HID: rmi: check for the existence of some optional queries before
reading query 12
HID: rmi: do not stop the device at the end of probe
HID: rmi: introduce RMI driver for Synaptics touchpads
….so, we should (I hope) see a -proposed kernel early next week with the above patch set. This should get the touchpads working natively in i2c mode as well as get the touchscreens working.
LikeLike
Update – Still waiting for kernels to land in proposed. I’ll have a short week due to the July 4th holiday but will try and update this early next week if something lands.
LikeLike
Kernels are now in -proposed repository for tire-kicking. Keep in mind that this is *not* the only fix included. There may be others included for testing other issues. If you see a problem in the -proposed repo kernels, don’t assume that it is directly tied to the touchpad patches. To see everything that’s included in -proposed. Look in the Version: 3.13.0-31.55 section in the below page:
http://www.ubuntuupdates.org/package/core/trusty/main/proposed/linux
…most of the rmi-related packages deal with touchpad and touchscreen issues on machines like the xps 13.
To enable the proposed repo, go here for instructions:
https://wiki.ubuntu.com/Testing/EnableProposed
LikeLike
Call for testing the proposed repo is now in the bug report. I’ll be checking my sample this week as well. Please check out the kernels if you have a skin in this game 🙂
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1305522/comments/92
LikeLike
The touchpad / touchscreen functionality is now available in a kernel update for Ubuntu 14.04!
Please make sure you have installed the following version of the kernel packages on your XPS 13:
3.13.0-32.57
LikeLike