Starting to scroll is erratic with edge scrolling on touchpad or mouse scrollwheels

Bug #925785 reported by Chris Coulson
60
This bug affects 12 people
Affects Status Importance Assigned to Milestone
X.Org X server
Fix Released
Medium
xorg-server (Ubuntu)
Fix Released
Critical
Chase Douglas

Bug Description

Since the X transition in precise, scrolling is very erratic. When I activate edge scrolling on my touchpad, the content I'm scrolling often jumps by an unpredictable and large amount in either direction, before scrolling correctly.

Other people have reported the same issue with mouse scrollwheels too, so it doesn't seem to be touchpad specific.

This is easily triggered by using either of the other touchpad buttons before scrolling. If I activate a scroll without touching any other buttons, then it appears to work correctly.

ProblemType: Bug
DistroRelease: Ubuntu 12.04
Package: xorg 1:7.6+10ubuntu1
ProcVersionSignature: Ubuntu 3.2.0-12.20-generic 3.2.2
Uname: Linux 3.2.0-12-generic x86_64
.tmp.unity.scope.cities: Error: [Errno 21] Is a directory: '/tmp/unity-scope-cities'
.tmp.unity.support.test.0:

ApportVersion: 1.91-0ubuntu1
Architecture: amd64
CompizPlugins: [core,bailer,detection,composite,opengl,compiztoolbox,decor,vpswitch,regex,snap,move,resize,gnomecompat,mousepoll,grid,place,imgpng,unitymtgrabhandles,animation,session,workarounds,wall,fade,scale,expo,ezoom,unityshell]
CompositorRunning: compiz
Date: Thu Feb 2 23:01:13 2012
DistUpgraded: Log time: 2011-11-16 16:59:15.521011
DistroCodename: precise
DistroVariant: ubuntu
ExtraDebuggingInterest: Yes, whatever it takes to get this fixed in Ubuntu
GraphicsCard:
 Intel Corporation Core Processor Integrated Graphics Controller [8086:0046] (rev 02) (prog-if 00 [VGA controller])
   Subsystem: Dell Device [1028:040a]
InstallationMedia: Ubuntu 11.10 "Oneiric Ocelot" - Beta amd64 (20110901)
MachineType: Dell Inc. Latitude E6410
PccardctlIdent:
 Socket 0:
   no product info available
PccardctlStatus:
 Socket 0:
   no card
PlymouthDebug: Error: [Errno 13] Permission denied: '/var/log/plymouth-debug.log'
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.2.0-12-generic root=UUID=b2e419c9-361b-45c5-8964-3ee8ca387122 ro quiet splash vt.handoff=7
SourcePackage: xorg
UpgradeStatus: Upgraded to precise on 2011-11-16 (78 days ago)
dmi.bios.date: 02/15/2011
dmi.bios.vendor: Dell Inc.
dmi.bios.version: A07
dmi.board.name: 04373Y
dmi.board.vendor: Dell Inc.
dmi.board.version: A03
dmi.chassis.type: 9
dmi.chassis.vendor: Dell Inc.
dmi.modalias: dmi:bvnDellInc.:bvrA07:bd02/15/2011:svnDellInc.:pnLatitudeE6410:pvr0001:rvnDellInc.:rn04373Y:rvrA03:cvnDellInc.:ct9:cvr:
dmi.product.name: Latitude E6410
dmi.product.version: 0001
dmi.sys.vendor: Dell Inc.
version.compiz: compiz 1:0.9.6+bzr20110929-0ubuntu8
version.ia32-libs: ia32-libs N/A
version.libdrm2: libdrm2 2.4.30-1ubuntu1
version.libgl1-mesa-dri: libgl1-mesa-dri 7.11-0ubuntu4
version.libgl1-mesa-dri-experimental: libgl1-mesa-dri-experimental N/A
version.libgl1-mesa-glx: libgl1-mesa-glx 7.11-0ubuntu4
version.xserver-xorg-core: xserver-xorg-core 2:1.11.3-0ubuntu9
version.xserver-xorg-input-evdev: xserver-xorg-input-evdev 1:2.6.99.901-1ubuntu3
version.xserver-xorg-video-ati: xserver-xorg-video-ati 1:6.14.99~git20111219.aacbd629-0ubuntu1
version.xserver-xorg-video-intel: xserver-xorg-video-intel 2:2.17.0-1ubuntu3
version.xserver-xorg-video-nouveau: xserver-xorg-video-nouveau 1:0.0.16+git20111201+b5534a1-1build2

Revision history for this message
Chris Coulson (chrisccoulson) wrote :
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in xorg (Ubuntu):
status: New → Confirmed
Bryce Harrington (bryce)
summary: - Starting to scroll is erratic
+ Starting to scroll is erratic with edge scrolling on touchpad
summary: - Starting to scroll is erratic with edge scrolling on touchpad
+ Starting to scroll is erratic with edge scrolling on touchpad or mouse
+ scrollwheels
Changed in xorg (Ubuntu):
assignee: nobody → Chris Halse Rogers (raof)
importance: Undecided → Critical
status: Confirmed → Triaged
affects: xorg (Ubuntu) → xserver-xorg-input-synaptics (Ubuntu)
Revision history for this message
Chris Halse Rogers (raof) wrote :

Aha! It seems that I can reliably reproduce this. For me the steps are:

1) Plug in an external mouse
2) Move the external mouse
3) The start of the first set of scroll events from the touchpad is bad (scrolling in the opposite direction). After the initial bad events, scrolling works as normally until I move the external mouse again.

Robert Hooker (sarvatt)
Changed in xserver-xorg-input-synaptics (Ubuntu):
assignee: Chris Halse Rogers (raof) → Chase Douglas (chasedouglas)
Revision history for this message
Timo Aaltonen (tjaalton) wrote :

moving to the xserver, since both synaptics and evdev are affected.

affects: xserver-xorg-input-synaptics (Ubuntu) → xorg-server (Ubuntu)
Revision history for this message
In , Timo Aaltonen (tjaalton) wrote :

forwarded from https://bugs.launchpad.net/ubuntu/+source/xorg-server/+bug/925785

TL;DR, plug another pointer device with horiz scroll support, then after touching the other device try to scroll with the second device and notice how "many" scroll button events are emitted.

Revision history for this message
In , Timo Aaltonen (tjaalton) wrote :

Actually, the scroll axis doesn't matter, it's the same for both horizontal and vertical (meant vertical originally). Just that for vertical scrolls the jumping happens to the other direction (since the axis seems reversed, I'll file another bug about that..).

Revision history for this message
In , Timo Aaltonen (tjaalton) wrote :

another observation:

- touch device 1
- scroll device 2, note that it jumps
- touch device 1
- scroll device 2 to the same direction as before, note that nothing happens on the first click, the next one is normal
- touch device 2
- scroll device 2 to the same direction as before, note that you get _opposite_ action on the first click, next one is normal

... :)

Changed in xorg-server:
importance: Unknown → Medium
status: Unknown → Confirmed
Revision history for this message
In , Peter Hutterer (peter-hutterer) wrote :

verified on master, thanks.

Appears to be a bad update of last.valuators[], resetting that value to 0 whenever the SD changes. As a result, the next value isn't on top of the previous one but rather starting from 0, causing a bad in value. The jumps come from that

Revision history for this message
Dave Gilbert (ubuntu-treblig) wrote :

ah, so it's not just me....
For me the behaviour is that if I repeatedly scroll down slowly sometimes the scroll will suddenly jump right back up.
I had wondered if it's something like moving the mouse at the same time as I was scrolling but I don't think so.

(Logitech M90 USB mouse)

Revision history for this message
Alexander (alexander-) wrote :

Confirmed - and I find this very annoying because I can't play quakelive in linux anymore (weapons binded in mouseup and mousedown) as scroll just doesn't respond most of the time. Thought my mouse broke.. but works perfectly in Windows.

Revision history for this message
Alexander (alexander-) wrote :

In case someone missed the freedesktop.org bug report:

"Appears to be a bad update of last.valuators[], resetting that value to 0
whenever the SD changes. As a result, the next value isn't on top of the
previous one but rather starting from 0, causing a bad in value. The jumps come
from that"

Revision history for this message
In , Peter Hutterer (peter-hutterer) wrote :

Created attachment 56877
0001-dix-reset-last.scroll-when-resetting-the-valuator-45.patch

How does this one work for you?

Revision history for this message
In , Timo Aaltonen (tjaalton) wrote :

Nice! Works great.

Tested-by: Timo Aaltonen <email address hidden>

Revision history for this message
Alexander (alexander-) wrote :

This completely f**ks up irssi too. The wheel just randomly scrolls in it's own and pastes random lines. Fix in sight?

Revision history for this message
Alexander (alexander-) wrote :

If you're going to leave this for 12.04 please at least let users know so they can know not to upgrade. Considering amount of critical stuff that has been left unfixed for years, this would be fair.

Revision history for this message
Chase Douglas (chasedouglas) wrote :

Tarmo,

It sounds like you are trying to use Precise in a production environment. Precise is still an alpha, not even a beta yet. Rest assured, this will get handled. Please be patient.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package xorg-server - 2:1.11.4-0ubuntu1

---------------
xorg-server (2:1.11.4-0ubuntu1) precise; urgency=low

  [ Chase Douglas ]
  * Allow for non-root config paths so xorg-gtest can be run without root
    - Add 225_non-root_config_paths.patch backported from upstream

  [ Alberto Milone]
  * debian/patches/226_fall_back_to_autoconfiguration.patch:
    - Fall back to autoconfiguration for graphics drivers in some cases
      instead of letting X fail when configuration files are available.

  [ Chase Douglas ]
  * Update to 1.11.99.902 input stack
  * Update to 1.11.4 for everything else
  * Drop input patches that have been merged upstream:
    - 220_dont_scale_indirect.patch
    - 221_pointer_motion_update_fix.patch
    - 222_touch_valuators_absolute.patch
    - 223_indirect_touch_x_y_valuators.patch
  * Add reviewed input patches that have not been merged upstream yet:
    - 600-Revert-dix-deduplicate-callers-of-DeliverDeviceEvent.patch
    - 601-Store-window-pointer-in-touch-listener-record.patch
    - 602-Factor-out-TouchEnd-generation-and-delivery.patch
    - 603-Export-TouchEventRejected-as-TouchRejected.patch
    - 604-Move-AllowTouch-to-dix-touch.c-and-rename-to-TouchAc.patch
    - 605-Check-for-proper-window-ID-when-processing-touch-all.patch
    - 606-Implement-early-touch-reject.patch
    - 607-Implement-touch-early-accept.patch
    - 608-dix-fix-an-out-of-memory-crash.patch
    - 609-Xi-handle-new-XIAllowEvents-request-in-inputproto-2..patch
    - 610-Fix-scrolling.patch (LP: #925785)
  * Bump deps on x11proto-input-dev to 2.1.99.6
 -- Chase Douglas <email address hidden> Fri, 10 Feb 2012 16:27:25 -0800

Changed in xorg-server (Ubuntu):
status: Triaged → Fix Released
Revision history for this message
Dave Gilbert (ubuntu-treblig) wrote :

Confirm - that fixed it for me (on both my machines) - thanks! That was a really frustrating bug in use!

Changed in xorg-server:
status: Confirmed → In Progress
Revision history for this message
In , Peter Hutterer (peter-hutterer) wrote :

commit 6f28388187cffae9e5bc9bfc9425acff4f478b59
Author: Peter Hutterer <email address hidden>
Date: Sat Feb 11 01:29:26 2012 +1000

    dix: reset last.scroll when resetting the valuator (#45611)

Revision history for this message
Alexander (alexander-) wrote :

If this is supposed to be fixed in Precise already, it is not. The scroll still responds only randomly, especially it doesn't respond at all if you press keyboard at the same time. Works perfectly in 11.10.

Revision history for this message
Chase Douglas (chasedouglas) wrote :

Alexander,

It sounds like you have "Disable touchpad while typing" checked in your mouse and touchpad settings. That would explain why the scrolling doesn't occur if when you type on the keyboard.

If that does not resolve your issues, please open a new bug.

Thanks!

Revision history for this message
Alexander (alexander-) wrote :

After little pinning down what's going on, actually the bug I'm experiencing is in the DGA (libxxf86dga1) library.

Scrolling in the browser works, through any game using DGA for input it doesn't, then again I experimented with Warsow by adding mouse support to read it directly from evdev and this didn't have scrolling problems either. I'll try to pinpoint this down better and and file a new bug.

Revision history for this message
In , Richard Jones (rjones-redhat) wrote :

This bug -- or something remarkably similar to it -- has reappeared in 1.17.2 (latest X package in Fedora 22).

Changed in xorg-server:
status: In Progress → Confirmed
Revision history for this message
In , Peter Hutterer (peter-hutterer) wrote :

This ended up being a GTK3 bug, not an xorg bug, see https://bugzilla.redhat.com/show_bug.cgi?id=1245247. Closing again

Changed in xorg-server:
status: Confirmed → Fix Released
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.