Activity log for bug #774938

Date Who What changed Old value New value Message
2011-05-01 15:24:26 Stefan Löffler bug added bug
2011-05-01 15:30:38 Stefan Löffler bug added subscriber Chase Douglas
2011-05-16 14:29:44 Chase Douglas xserver-xorg-input-evdev (Ubuntu): status New In Progress
2011-05-16 14:29:50 Chase Douglas xserver-xorg-input-evdev (Ubuntu): importance Undecided Medium
2011-05-16 14:29:53 Chase Douglas xserver-xorg-input-evdev (Ubuntu): assignee Chase Douglas (chasedouglas)
2011-05-16 19:43:29 Chase Douglas xserver-xorg-input-evdev (Ubuntu): status In Progress Fix Committed
2011-05-16 19:43:45 Chase Douglas nominated for series Ubuntu Natty
2011-05-16 19:44:33 Chase Douglas affects xserver-xorg-input-evdev (Ubuntu) xorg-server (Ubuntu)
2011-05-16 19:58:16 Chase Douglas description Binary package hint: xserver-xorg-input-evdev When using something like `xinput set-float-prop $INPUTDEV "Coordinate Transformation Matrix" 0.0 -1.0 1.0 1.0 0.0 0.0 0.0 0.0 1.0` to match the coordinates of a touchscreen/tablet to a rotated (transformed) screen, the cursor moves around erratically. From the original report of david-dklevine (https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-input-evdev/+bug/742567/comments/32): when a horizontal or vertical drag is performed the cursor jumps wildly - it appears to jump between what it should be according to the coordinate transformation and what it would be if x=0 and y=1 (that is if the second line of the matrix was the identity). With a diagonal drag or a touch the cursor appears where it should be. In addition to the Cando Multi Touch Panel reported at https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-input-evdev/+bug/742567/comments/32, it also affects me with a AsusTek, Inc. MultiTouch(TTI) (on Asus EeePC T101MT) lsb_release -rd Description: Ubuntu 11.04 Release: 11.04 $ apt-cache policy xserver-xorg-input-evdev xserver-xorg-input-evdev: Installed: 1:2.6.0-1ubuntu12 Candidate: 1:2.6.0-1ubuntu12 Version table: *** 1:2.6.0-1ubuntu12 0 500 http://gd.tuwien.ac.at/opsys/linux/ubuntu/archive/ natty/main amd64 Packages 100 /var/lib/dpkg/status SRU Justification: ================== In previous releases of xserver-xorg-input-evdev there was an option to invert and/or swap axes. This allowed for simple screen rotation support. In the latest version of the module in Ubuntu, this option has been deprecated in favor of the server-side input coordinate transformation matrix support. See https://wiki.ubuntu.com/X/InputCoordinateTransformation for details. Unfortunately, the XInput 2.1 changes caused the input coordinate transformation matrix support to cause erratic pointer behavior. Without a fix, users cannot reliably use a rotated touchscreen. The fix involves maintaining and using the proper previous states of the X and Y event coordinates when performing the input coordinate transformation. If one coordinate is updated but not the other, the other's previous untransformed coordinate must be used to compute the correct new transformed coordinates. Then, the new transformed coordinates must be compared to the previous transformed coordinates to see if they should be reported to the client. Unchanged values are not reported in some XI 1.x and 2.x events. The current X server conflates the previous untransformed and previous transformed values and ends up calculating the new transformed values incorrectly. To reproduce, use xinput to set a new coordinate transformation matrix with a rotation. For example, use a 90 degree turn by setting the input coordinate transformation matrix to 0 -1 1 1 0 0 0 0 1. See the above wiki page for details on how to set the matrix. Then, try to touch the touchscreen and move the cursor. The cursor will jump arround erratically when moving in pure horizontal or pure vertical motions. The risk of regression is minimal because the only time the fix will cause a change is when the transformation matrix has been modified from the identity matrix to a matrix including some amount of rotation. The patch was also tested in the xorg-edgers ppa for a few weeks before it was even uploaded to Oneiric. Original Bug Report: ==================== When using something like `xinput set-float-prop $INPUTDEV "Coordinate Transformation Matrix" 0.0 -1.0 1.0 1.0 0.0 0.0 0.0 0.0 1.0` to match the coordinates of a touchscreen/tablet to a rotated (transformed) screen, the cursor moves around erratically. From the original report of david-dklevine (https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-input-evdev/+bug/742567/comments/32): when a horizontal or vertical drag is performed the cursor jumps wildly - it appears to jump between what it should be according to the coordinate transformation and what it would be if x=0 and y=1 (that is if the second line of the matrix was the identity). With a diagonal drag or a touch the cursor appears where it should be. In addition to the Cando Multi Touch Panel reported at https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-input-evdev/+bug/742567/comments/32, it also affects me with a AsusTek, Inc. MultiTouch(TTI) (on Asus EeePC T101MT) lsb_release -rd Description: Ubuntu 11.04 Release: 11.04 $ apt-cache policy xserver-xorg-input-evdev xserver-xorg-input-evdev:   Installed: 1:2.6.0-1ubuntu12   Candidate: 1:2.6.0-1ubuntu12   Version table:  *** 1:2.6.0-1ubuntu12 0         500 http://gd.tuwien.ac.at/opsys/linux/ubuntu/archive/ natty/main amd64 Packages         100 /var/lib/dpkg/status
2011-05-16 19:59:31 Chase Douglas attachment added 503_fix_masked_transformed_valuators.patch https://bugs.launchpad.net/ubuntu/+source/xorg-server/+bug/774938/+attachment/2131372/+files/503_fix_masked_transformed_valuators.patch
2011-05-17 08:01:35 Rex Tsai bug added subscriber Rex Tsai
2011-05-17 11:25:49 bugbot tags natty edgers natty
2011-05-17 17:31:32 Brian Murray bug added subscriber Ubuntu Review Team
2011-05-17 17:31:33 Brian Murray tags edgers natty edgers natty patch
2011-05-17 22:10:12 Launchpad Janitor xorg-server (Ubuntu): status Fix Committed Fix Released
2011-05-17 23:12:22 Launchpad Janitor branch linked lp:ubuntu/xorg-server
2011-05-18 16:56:37 Chase Douglas description SRU Justification: ================== In previous releases of xserver-xorg-input-evdev there was an option to invert and/or swap axes. This allowed for simple screen rotation support. In the latest version of the module in Ubuntu, this option has been deprecated in favor of the server-side input coordinate transformation matrix support. See https://wiki.ubuntu.com/X/InputCoordinateTransformation for details. Unfortunately, the XInput 2.1 changes caused the input coordinate transformation matrix support to cause erratic pointer behavior. Without a fix, users cannot reliably use a rotated touchscreen. The fix involves maintaining and using the proper previous states of the X and Y event coordinates when performing the input coordinate transformation. If one coordinate is updated but not the other, the other's previous untransformed coordinate must be used to compute the correct new transformed coordinates. Then, the new transformed coordinates must be compared to the previous transformed coordinates to see if they should be reported to the client. Unchanged values are not reported in some XI 1.x and 2.x events. The current X server conflates the previous untransformed and previous transformed values and ends up calculating the new transformed values incorrectly. To reproduce, use xinput to set a new coordinate transformation matrix with a rotation. For example, use a 90 degree turn by setting the input coordinate transformation matrix to 0 -1 1 1 0 0 0 0 1. See the above wiki page for details on how to set the matrix. Then, try to touch the touchscreen and move the cursor. The cursor will jump arround erratically when moving in pure horizontal or pure vertical motions. The risk of regression is minimal because the only time the fix will cause a change is when the transformation matrix has been modified from the identity matrix to a matrix including some amount of rotation. The patch was also tested in the xorg-edgers ppa for a few weeks before it was even uploaded to Oneiric. Original Bug Report: ==================== When using something like `xinput set-float-prop $INPUTDEV "Coordinate Transformation Matrix" 0.0 -1.0 1.0 1.0 0.0 0.0 0.0 0.0 1.0` to match the coordinates of a touchscreen/tablet to a rotated (transformed) screen, the cursor moves around erratically. From the original report of david-dklevine (https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-input-evdev/+bug/742567/comments/32): when a horizontal or vertical drag is performed the cursor jumps wildly - it appears to jump between what it should be according to the coordinate transformation and what it would be if x=0 and y=1 (that is if the second line of the matrix was the identity). With a diagonal drag or a touch the cursor appears where it should be. In addition to the Cando Multi Touch Panel reported at https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-input-evdev/+bug/742567/comments/32, it also affects me with a AsusTek, Inc. MultiTouch(TTI) (on Asus EeePC T101MT) lsb_release -rd Description: Ubuntu 11.04 Release: 11.04 $ apt-cache policy xserver-xorg-input-evdev xserver-xorg-input-evdev:   Installed: 1:2.6.0-1ubuntu12   Candidate: 1:2.6.0-1ubuntu12   Version table:  *** 1:2.6.0-1ubuntu12 0         500 http://gd.tuwien.ac.at/opsys/linux/ubuntu/archive/ natty/main amd64 Packages         100 /var/lib/dpkg/status SRU Justification: ================== In previous releases of xserver-xorg-input-evdev there was an option to invert and/or swap axes. This allowed for simple screen rotation support. In the latest version of the module in Ubuntu, this option has been deprecated in favor of the server-side input coordinate transformation matrix support. See https://wiki.ubuntu.com/X/InputCoordinateTransformation for details. Unfortunately, the XInput 2.1 changes caused the input coordinate transformation matrix support to cause erratic pointer behavior. Without a fix, users cannot reliably use a rotated touchscreen. The fix involves maintaining and using the proper previous states of the X and Y event coordinates when performing the input coordinate transformation. If one coordinate is updated but not the other, the other's previous untransformed coordinate must be used to compute the correct new transformed coordinates. Then, the new transformed coordinates must be compared to the previous transformed coordinates to see if they should be reported to the client. Unchanged values are not reported in some XI 1.x and 2.x events. The current X server conflates the previous untransformed and previous transformed values and ends up calculating the new transformed values incorrectly. TEST CASE: To reproduce, use xinput to set a new coordinate transformation matrix with a rotation. For example, use a 90 degree turn by setting the input coordinate transformation matrix to 0 -1 1 1 0 0 0 0 1. See the above wiki page for details on how to set the matrix. Then, try to touch the touchscreen and move the cursor. The cursor will jump arround erratically when moving in pure horizontal or pure vertical motions. The risk of regression is minimal because the only time the fix will cause a change is when the transformation matrix has been modified from the identity matrix to a matrix including some amount of rotation. The patch was also tested in the xorg-edgers ppa for a few weeks before it was even uploaded to Oneiric. Original Bug Report: ==================== When using something like `xinput set-float-prop $INPUTDEV "Coordinate Transformation Matrix" 0.0 -1.0 1.0 1.0 0.0 0.0 0.0 0.0 1.0` to match the coordinates of a touchscreen/tablet to a rotated (transformed) screen, the cursor moves around erratically. From the original report of david-dklevine (https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-input-evdev/+bug/742567/comments/32): when a horizontal or vertical drag is performed the cursor jumps wildly - it appears to jump between what it should be according to the coordinate transformation and what it would be if x=0 and y=1 (that is if the second line of the matrix was the identity). With a diagonal drag or a touch the cursor appears where it should be. In addition to the Cando Multi Touch Panel reported at https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-input-evdev/+bug/742567/comments/32, it also affects me with a AsusTek, Inc. MultiTouch(TTI) (on Asus EeePC T101MT) lsb_release -rd Description: Ubuntu 11.04 Release: 11.04 $ apt-cache policy xserver-xorg-input-evdev xserver-xorg-input-evdev:   Installed: 1:2.6.0-1ubuntu12   Candidate: 1:2.6.0-1ubuntu12   Version table:  *** 1:2.6.0-1ubuntu12 0         500 http://gd.tuwien.ac.at/opsys/linux/ubuntu/archive/ natty/main amd64 Packages         100 /var/lib/dpkg/status
2011-05-18 16:57:14 Chase Douglas bug added subscriber Ubuntu Stable Release Updates Team
2011-05-21 11:35:20 Martin Pitt bug task added xorg-server (Ubuntu Natty)
2011-05-21 11:35:44 Martin Pitt xorg-server (Ubuntu Natty): status New Fix Committed
2011-05-21 11:35:46 Martin Pitt bug added subscriber SRU Verification
2011-05-21 11:35:49 Martin Pitt tags edgers natty patch edgers natty patch verification-needed
2011-05-21 12:27:25 Launchpad Janitor branch linked lp:ubuntu/natty-proposed/xorg-server
2011-05-25 09:03:54 Timo Kluck bug added subscriber Timo Kluck
2011-05-25 12:38:05 Martin Pitt tags edgers natty patch verification-needed edgers natty patch verification-done
2011-05-30 07:34:31 Launchpad Janitor xorg-server (Ubuntu Natty): status Fix Committed Fix Released
2011-06-12 00:07:50 Jon Szymaniak bug added subscriber Jon Szymaniak
2011-06-13 07:12:27 HX_unbanned tags edgers natty patch verification-done edgers natty patch verification-failed
2011-06-26 13:41:56 Eduard Hasenleithner bug added subscriber Eduard Hasenleithner
2011-08-11 18:00:54 Snorre Jensen bug added subscriber Snorre Jensen
2011-09-19 20:54:58 Ubuntu Foundations Team Bug Bot tags edgers natty patch verification-failed edgers natty patch testcase verification-failed
2012-07-09 21:41:40 Marcelo bug added subscriber Marcelo
2012-08-16 18:37:40 Darryl Moore bug added subscriber Darryl Moore
2012-08-20 14:06:05 Zachary Salzbank bug added subscriber Zachary Salzbank
2012-11-20 12:30:48 xop bug added subscriber xop
2012-11-20 12:30:59 xop bug added subscriber Rus Sh