High precision touchpad scrolling doesn't work in Wayland sessions (but does in Xorg)

Bug #1811219 reported by Daniel van Vugt on 2019-01-10
This bug affects 8 people
Affects Status Importance Assigned to Milestone
Chromium Browser
chromium-browser (Ubuntu)

Bug Description

High precision touchpad scrolling doesn't work in Wayland sessions (but does in Xorg).

I guess it's probably Xwayland failing to support the more advanced XInput stuff?

Note: This bug report is about high precision (and thus low latency) touchpad scrolling. It is not about "Smooth Scrolling" simply because "Smooth Scrolling" actually means something quite different in Chromium. :P

Test case:

1. In chrome://flags, set Smooth Scrolling to Disabled and restart the browser.
2. Use your touchpad (usually two fingers) to scroll a web page.


In an Ubuntu session (pure Xorg), the scrolling is noticeably high precision like a Macbook or Chromebook. In a Wayland session however, the scrolling stutters badly like it's still using old-style mouse wheel emulation.

Note also: If you have "Smooth Scrolling" enabled then Chromium replaces the stutter with smoother scrolling but you can still tell it's broken in Wayland sessions because the latency is much higher. It's having to fake the smoothness by delaying and extrapolating from mouse wheel-style tick events.

ProblemType: Bug
DistroRelease: Ubuntu 19.04
Package: chromium-browser 71.0.3578.98-0ubuntu1
ProcVersionSignature: Ubuntu 4.18.0-11.12-generic 4.18.12
Uname: Linux 4.18.0-11-generic x86_64
ApportVersion: 2.20.10-0ubuntu14
Architecture: amd64
 enabled: disabled
 dpms: Off
 status: disconnected
 enabled: enabled
 dpms: On
 status: connected
 modes: 1920x1200 1920x1080 1920x1080 1920x1080 1920x1080i 1920x1080i 1920x1080i 1920x1080 1920x1080i 1920x1080 1920x1080 1600x1200 1280x1024 1280x1024 1152x864 1280x720 1280x720 1280x720 1280x720 1024x768 1024x768 800x600 800x600 720x576 720x576 720x480 720x480 720x480 720x480 720x480 640x480 640x480 640x480 640x480 720x400
 enabled: disabled
 dpms: Off
 status: disconnected
 enabled: disabled
 dpms: Off
 status: disconnected
 enabled: disabled
 dpms: Off
 status: disconnected
Date: Thu Jan 10 17:11:06 2019

InstallationDate: Installed on 2018-12-04 (37 days ago)
InstallationMedia: Ubuntu 19.04 "Disco Dingo" - Alpha amd64 (20181203)
   => libgnome-shell-browser-plugin.so
         (size: 22496 bytes, mtime: Wed Dec 5 20:53:32 2018)
Load-Avg-1min: 2.33
Load-Processes-Running-Percent: 0.1%
MachineType: LENOVO 10M7CTO1WW
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-4.18.0-11-generic root=UUID=052b7096-9b82-4712-b596-7629d5f6498c ro quiet splash vt.handoff=1
SourcePackage: chromium-browser
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 02/06/2018
dmi.bios.vendor: LENOVO
dmi.bios.version: M16KT47A
dmi.board.name: 3102
dmi.board.vendor: LENOVO
dmi.board.version: SDK0J40709 WIN 3259627060530
dmi.chassis.type: 3
dmi.chassis.vendor: LENOVO
dmi.chassis.version: None
dmi.modalias: dmi:bvnLENOVO:bvrM16KT47A:bd02/06/2018:svnLENOVO:pn10M7CTO1WW:pvrThinkCentreM710s:rvnLENOVO:rn3102:rvrSDK0J40709WIN3259627060530:cvnLENOVO:ct3:cvrNone:
dmi.product.family: ThinkCentre M710s
dmi.product.name: 10M7CTO1WW
dmi.product.sku: LENOVO_MT_10M7_BU_Think_FM_ThinkCentre M710s
dmi.product.version: ThinkCentre M710s
dmi.sys.vendor: LENOVO
modified.conffile..etc.default.chromium-browser: [deleted]

Daniel van Vugt (vanvugt) wrote :
Daniel van Vugt (vanvugt) wrote :

Looks like it was implemented, but seems to have either regressed since then or just never been as precise as it should have been:


Changed in xorg-server (Ubuntu):
importance: Undecided → Medium
description: updated
Daniel van Vugt (vanvugt) wrote :

Surprisingly, it's Chromium that's broken. Not Xwayland...


Changed in xorg-server (Ubuntu):
status: New → Invalid
Changed in chromium-browser (Ubuntu):
status: New → Triaged
no longer affects: xorg-server (Ubuntu)
Daniel van Vugt (vanvugt) wrote :
Changed in chromium-browser (Ubuntu):
status: Triaged → Fix Committed
tags: added: fixed-upstream
removed: disco
Daniel van Vugt (vanvugt) wrote :

Fixed in Chromium 84, apparently.

Olivier Tilloy (osomon) wrote :

Daniel: any chance you can test this with the chromium snap from the beta channel, and confirm the fix?

Daniel van Vugt (vanvugt) wrote :

Not today... I don't use a machine with a touchpad usually.

Daniel van Vugt (vanvugt) wrote :

Verified fixed in chromium 84 (beta).

Although that means it's now as good as Xorg sessions, which isn't really good enough IMHO. There's too much lag in both, which you can remove with 'Smooth Scrolling = Disabled' in chrome://flags/

Weird ChromeOS doesn't have any of these problems...

Olivier Tilloy (osomon) wrote :

Thanks for confirming the fix Daniel!

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

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