Touch and Multi-touch X.org support

Registered by Bryce Harrington on 2010-03-08

We'd like to ensure that Lucid works with the current generation of touch screens, as broadly as possible.

Blueprint information

Status:
Complete
Approver:
Martin Pitt
Priority:
High
Drafter:
Bryce Harrington
Direction:
Needs approval
Assignee:
Duncan McGreggor
Definition:
Approved
Series goal:
Accepted for lucid
Implementation:
Implemented
Milestone target:
milestone icon ubuntu-10.04
Started by
Rick Spencer on 2010-03-12
Completed by
Martin Pitt on 2012-05-15

Related branches

Sprints

Whiteboard

Work Items for ubuntu-10.04-beta-1:
[apw] investigate kernel driver requirements for multi-touch support:DONE
[apw] look at backporting drivers from 2.6.33/2.6.34 for multi-touch devices:DONE
[apw] select drivers and prepare kernel for multi-touch PPA:DONE
[bryceharrington] Port evdev-multitouch.patch to apply to lucid's -evdev: DONE
[bryceharrington] Apply http://ofb.net/~rafi/xf86-input-wacom_ntrig_2010_02_03.patch to -wacom: DONE
[bryceharrington] Investigate why -evtouch is not building against xserver 1.7 anymore: DONE

Work Items for ubuntu-10.04-beta-2:
[apw] evaluate whether kernel modifications are suitable for Lucid:DONE
[bryceharrington] Update the -evdev multitouch backport patch, using http://gitorious.org/lanedo/xf86-input-evdev: DONE
Ensure apport scripts (kernel and xorg) capture needed MT debug data: POSTPONED
[apulido] Produce QA test plan for verifying non-MT input devices are ok: DONE
Produce QA test plan for verifying MT input device functionality: POSTPONED
[apulido] Fine-tune Touchscreen QA document at https://wiki.ubuntu.com/X/Testing/Touchscreen: DONE
Craft udev hook and rules for enabling multitouch: DROPPED
[rafi] Review -wacom's mt code: DONE
[rafi] Examine status of gesture support in -wacom: DONE
Ensure that -evdev (or -wacom) supports all the hardware that -evtouch did and then drop -evtouch: DONE

Work Items for ubuntu-10.04:
Ensure apport scripts (kernel and xorg) capture needed MT debug data:
Produce QA test plan for verifying MT input device functionality:
Craft udev hook and rules for enabling multitouch: DONE
Ensure that -evdev (or -wacom) supports all the hardware that -evtouch did and then drop -evtouch: DONE
[rafi] Collect existing patches for single touch ntrig firmwares.
[rafi] Prepare and test ntrig sensitivity patch needed for studio 17 to work reliably

Work for Lucid+1:
Identify the list of gestures we expect to have supported:
Identify data and files (dmesg, etc.) needed for MT debugging:
Document xinput use for multitouch enablement:
The X server input API still uses the principle of first + num_valuators instead of the bitmask that the XI2 protocol uses. These calls need to be added and then used by the drivers
No protocol changes are necessary, though care must be taken in regards to XI1 clients; QA should ensure that nothing breaks here
Drivers need to be updated to parse ABS_MT_FOO and forward it on:

bryce 2010-03-05: Requested by Mark Shuttleworth for lucid

pitti 2010-03-10: very low-priority target of opportunity for lucid, and I'd rather not see this land in lucid. We have tons of bugs to fix, not more to add..

bryce 2010-03-10: The -evdev patch is largish and not yet taken upstream so may well have some significant regression risk to it so I'll hold off on it until we've had some chance to discuss it more. The wacom patch looks quite simple and sane and even aside from this blueprint looks fine to include. I looked at -evtouch and noticed it is no longer building against xserver 1.7, which is a problem in general; fortunately there is already a fix for this in Debian; I looked into doing a merge of that today but it turns out all our ubuntu changes are irrelevant now that HAL is deprecated so we can just sync the package; bug lp #536928 is filed for this purpose.

apw 2010-03-11: initial review of the kernel patches complete. patches seem to be in v2.6.34-rc1 stability as yet unknown.

bryce 2010-03-11: -wacom patch integrated into Lucid.

bryce 2010-03-11: Multitouch patch to -evdev packaged and uploaded to this PPA: https://edge.launchpad.net/~xorg-edgers/+archive/multitouch

bryce 2010-03-14: Rafi and Mark feel we should focus on getting the mt event functionality into -evdev rather than employ the userspace daemon, thus the packaging task for it is obviated.

apw 2010-03-15: identified and pulled back a series of commits for multi-touch from 2.6.34-rc1

oubiwann 2010-03-15: Updated the task list with items from Bryce's and Peter Hutterer's emails.

apw 2010-03-16: pulled together patches and pushed to a new PPA, will get with bryce to get these into the X PPA for testing

oubiwann 2010-03-18: moved non-kernel work items into Lucid+1 section.

bryce 2010-03-18: Two of the tasks Rafi had said he needed to do, so marking him the owner for them.

rafi 2010-03-22: Wacom is not really suitable as a platform to push forward with mt either as true multi-point or for gestures. It might contain useful gestures (to be determined), but it would probably be easier to replicate them elsewhere than it would be to coerce all the mt kernel drivers into the wacom mt-gesture protocol or to adjust the wacom input filters. Though it might not be all that tricky to adjust the wacom driver to be more friendly to multi-touch devices, that's likely to be effort wasted in the long run.

apw 2010-03-29: Kernel patches seem to work well on the HP tx2 fixing single-touch for both finger and pen on this device. The drivers appear to have stablised (no longer changing) so pushing to kernel-team list for consideration for Lucid beta-2.

apw 2010-03-30: Kernel patches have been applied and should be in the main Lucid kernel for beta-2.

bryce 2011-11-15: Postponed work items that still sound relevant have been migrated to desktop-p-xorg.

(?)

Work Items