erratic cursor movement with multi touch

Bug #503944 reported by dan
52
This bug affects 9 people
Affects Status Importance Assigned to Milestone
xserver-xorg-input-synaptics (Ubuntu)
Incomplete
Low
Unassigned

Bug Description

Binary package hint: xserver-xorg-input-synaptics

Using Acer Aspire 5735Z.

Touchpad works fine unless it picks up 2 or more fingers which then cause the mouse cursor to jump erratically all over the screen constantly until it is back to 1 finger (not the same as known bug where cursor jumps to place on release of finger)

ProblemType: Bug
Architecture: i386
Date: Wed Jan 6 19:33:59 2010
DistroRelease: Ubuntu 9.10
InstallationMedia: Ubuntu 9.10 "Karmic Koala" - Release i386 (20091028.5)
MachineType: Acer Aspire 5735
Package: xserver-xorg-input-synaptics 1.1.2-1ubuntu7
ProcCmdLine: BOOT_IMAGE=/boot/vmlinuz-2.6.31-16-generic root=/dev/sdb1 ro quiet splash
ProcEnviron:
 LANG=en_GB.UTF-8
 SHELL=/bin/bash
ProcVersionSignature: Ubuntu 2.6.31-16.53-generic
RelatedPackageVersions:
 xserver-xorg 1:7.4+3ubuntu10
 libgl1-mesa-glx 7.6.0-1ubuntu4
 libdrm2 2.4.14-1ubuntu1
 xserver-xorg-video-intel 2:2.9.0-1ubuntu2
 xserver-xorg-video-ati 1:6.12.99+git20090929.7968e1fb-0ubuntu1
SourcePackage: xserver-xorg-input-synaptics
Uname: Linux 2.6.31-16-generic i686
XorgConf: Error: [Errno 2] No such file or directory: '/etc/X11/xorg.conf'
XsessionErrors:
 (gnome-settings-daemon:5681): GLib-CRITICAL **: g_propagate_error: assertion `src != NULL' failed
 (nautilus:5823): Eel-CRITICAL **: eel_preferences_get_boolean: assertion `preferences_is_initialized ()' failed
 (polkit-gnome-authentication-agent-1:5867): GLib-CRITICAL **: g_once_init_leave: assertion `initialization_value != 0' failed
 (firefox:19355): GLib-WARNING **: g_set_prgname() called multiple times
dmi.bios.date: 02/02/2009
dmi.bios.vendor: Phoenix Technologies LTD
dmi.bios.version: V1.11
dmi.board.name: CathedralPeak
dmi.board.vendor: Acer
dmi.board.version: Rev
dmi.chassis.type: 10
dmi.chassis.vendor: Acer
dmi.chassis.version: N/A
dmi.modalias: dmi:bvnPhoenixTechnologiesLTD:bvrV1.11:bd02/02/2009:svnAcer:pnAspire5735:pvr0100:rvnAcer:rnCathedralPeak:rvrRev:cvnAcer:ct10:cvrN/A:
dmi.product.name: Aspire 5735
dmi.product.version: 0100
dmi.sys.vendor: Acer
fglrx: Not loaded
system:
 distro: Ubuntu
 architecture: i686kernel: 2.6.31-16-generic

Revision history for this message
dan (dan5625) wrote :
Revision history for this message
Maxime Gamboni (tendays-kde) wrote :

I have the same problem. I thought the output (attached) of synclient gives interesting insight on this.

I did the following:
1) I started synclient -m 10
2) (time=2.374) I put one finger near the right of the touchpad, trying to keep the position and pressure constant
3) (approx time=3.931) Keeping the right finger still I put a second finger near the left side of the touchpad, trying to keep both finger's position and pressure constant
4) (time=5.296) Keeping the left finger still I release the right finger
5) (time=6.639) I release the left finger
6) I exit synclient

Observable mouse pointer behaviour:
Up to time 3.931 the pointer stays more or less where it is (as expected)
between time 3.931 and 5.296 the pointer moves quickly and erratically all over the screen (but there seems to be some pattern, the distance and direction from one position to the next seem rather constant). Occasionally, a left click is triggered (not sure if it happened during this particular test, sorry). As soon as I release one finger the pointer stops moving and remains where it is (not the same place as when I started, of course) until the end of the test.

Some points to note:

- the finger count (column "f") is always reported as 1 although it should give 2 between time 3.931 and time 5.296.
- between time 3.931 and 5.296 (which is when the bug occurs) the x coordinate sometimes corresponds to the right finger's (around 4620), and the rest of the time is around the average x coordinate of the two fingers
- between time 3.931 and 5.296 the y coordinate is either at the average y-coordinate of the two fingers, or the exact value 1741. Twice (time 4.621 and 5.142), the y coordinate becomes *negative* (which never happens when I use a single finger).

Running xinput list-props "SynPS/2 Synaptics TouchPad" indicates ("Synaptics Capabilities (265): 1, 1, 1, 0, 0") that my synaptics driver or touchpad doesn't support multi-touch (Although it does under windows - zooming gestures and all).

My (rather uninformed) guess is that the synaptics driver thinks my touchpad doesn't support multi-touch, and, when receiving multi-touch information, tries parsing it as the position of a single finger, resulting in corrupted information which in turn makes the mouse pointer jump around.

Revision history for this message
Maxime Gamboni (tendays-kde) wrote :

I'm attaching information as specified in https://wiki.ubuntu.com/DebuggingTouchpadDetection

Revision history for this message
Jim Rorie (jfrorie) wrote :

I'm seeing this in Lucid Alpha 2 as well on a Sony Vaio.

Revision history for this message
Jim Rorie (jfrorie) wrote :

Another data point. To reproduce the problem:

Place finger 1 on the pad.

Place finger 2 somewhere else on pad.

Lift finger 1. The cursor will slam to a corner of the screen.

What I'm seeing is during two finger scroll, the finger 1 sometime comes up slightly before finger 2, thus triggering the erratic behavior,

Revision history for this message
Iain Farrell (iain-farrell) wrote :

Seeing same issue on Acer 1810TZ running 64-bit daily so Alpha 3 plus.

Bryce Harrington (bryce)
tags: added: karmic
Revision history for this message
Neatchee (neatchee) wrote :

Confirmed for Acer Aspire 5740 running Lucid Alpha 3.

What method does the synaptics driver use for determining multitouch support? Is it actually probing the hardware, or is it using a serial/hardware ID table? This seems to be an issue (there's another large bug report regarding this here: https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-input-synaptics/+bug/308191) for newer touchpad hardware only.

Neatchee (neatchee)
Changed in xserver-xorg-input-synaptics (Ubuntu):
status: New → Confirmed
Revision history for this message
Jim Rorie (jfrorie) wrote :
Revision history for this message
Jim Rorie (jfrorie) wrote :

Sorry, not a duplicate but closely related. I think 308191 is what is making the problem apparent. Upstream appears to have recognized a similar problem. Some patches are available.

https://bugs.freedesktop.org/show_bug.cgi?id=21614

Revision history for this message
Maxime Gamboni (tendays-kde) wrote :

Jim Rorie: It's not the same bug. Note the keywords "jump erratically all over the screen *constantly* " and "not the same as known bug where cursor jumps to place on release of finger".

This bug is triggered by having and keeping two (or more) fingers pressed - the mouse pointer jumps around even though I'm not moving or releasing or pressing my fingers. It looks like a protocol mismatch, the touchpad sending information about both finger positions, and the driver expecting data about a single finger, and returning garbage to X.

That bug number 21614 you linked, as well as the one you described in comment #12, is triggered by *releasing* one finger and keeping another one pressed. The cause of that other bug is obvious - The driver reports the finger position as the average of physical finger positions, so when two fingers touch the pad it reports a single but heavy finger in the middle, and when you release one finger it reports the position of the remaining finger, so to X it looks like the finger has moved and it moves the pointer accordingly.

OTOH 308191 may be related, as xinput incorrectly reports the touchpad not supporting multi-touch, so it's possible that fixing that one will fix this one.

Revision history for this message
Maxime Gamboni (tendays-kde) wrote :

(oops, the bugs.launchpad.net web interface turns "bug number 21614" into a link but to a totally unrelated thing - I was of course referring to https://bugs.freedesktop.org/show_bug.cgi?id=21614)

Revision history for this message
Maxime Gamboni (tendays-kde) wrote :

Actually there seems to be some confusion in that https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-input-synaptics/+bug/308191 bug - From the description up to comment #32 the bug is only about the touchpad only detecting one finger (no mention about pointer jumping anywhere) then comment #33 suddenly brings up the problem described in this bug (number 503944) with videos and everything...

Revision history for this message
Jim Rorie (jfrorie) wrote :

Apologies Maxime. There are four closely related bugs and I'm getting them terribly confused. There is another bug that IS directly related, but I can't keep them straight for the life of me. Bottom line appears to be that there is voodoo in the synaptics driver.

Revision history for this message
Maxime Gamboni (tendays-kde) wrote :

I am no longer experiencing this bug so removing my vote. Specifically, if I press two fingers on my touchpad the pointer doesn't move as long as I keep both fingers still and in contact with the touchpad.

I had to send my computer for repair for unrelated reasons and they upgraded the BIOS, maybe that somehow fixed the issue? I also upgraded to lucid, I am now on kernel version 2.6.32-22. I suspect the issue was already gone before I upgraded to lucid but I may be wrong. I did not do any other manipulations.

(It *does* jump to a border of the screen if I release the finger that had first come in contact with the touchpad, but I don't mind and I think that if that's considered to be a bug it should be another bug report. And my touchpad still isn't recognised as multi-touch according to xinput but I still don't mind and also think that should be another bug report)

Revision history for this message
Ivan Matyunin (sibrus-gmail) wrote :

Hi folks,

I was able to alleviate this issue to a large degree by the following change:

edit /usr/lib/X11/xorg.conf.d/10-synaptics.conf

add the line:

        Option "JumpyCursorThreshold" "90"

to the area starting with:

Section "InputClass"
        Identifier "touchpad catchall"

I still get a few jumps (but a lot less, and they are short jumps (apparently below the threshold)). Probably that value of 90 could be reduced until it starts to affect regular movement.

Gursimran singh (simar)
Changed in xserver-xorg-input-synaptics (Ubuntu):
importance: Undecided → Low
Revision history for this message
codeslinger (codeslinger) wrote :

I had the same problem "jumps erratically" if any part of my hand even lightly brushed the mousepad. This is on an HP dv7.
The problem with erratic mouse was so bad that it was nearly unusable.

I tried Ivan's fix above -- adding Option "JumpyCursorThreshold" "90"

and that solved my problem!!! at least as far as having a usable mouse goes. It still jumps a little but is very acceptable.

on the other hand I believe that this mousepad is designed to support multi-touch, but I don't see any apparent multi-touch behaviour???

meanwhile, the RIGHT mouse button continues to not work, but that is a separate bug.

Revision history for this message
penalvch (penalvch) wrote :

dan, this bug was reported a while ago and there hasn't been any activity in it recently. We were wondering if this is still an issue? If so, could you please test for this with the latest development release of Ubuntu? ISO images are available from http://cdimage.ubuntu.com/daily-live/current/ .

If it remains an issue, could you please run the following command in the development release from a Terminal (Applications->Accessories->Terminal), as it will automatically gather and attach updated debug information to this report:

apport-collect -p xserver-xorg-input-synaptics REPLACE-WITH-BUG-NUMBER

Please note, given that the information from the prior release is already available, doing this on a release prior to the development one would not be helpful.

Thank you for your understanding.

Helpful bug reporting tips:
https://wiki.ubuntu.com/ReportingBugs

Changed in xserver-xorg-input-synaptics (Ubuntu):
status: Confirmed → Incomplete
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.