Smooth scrolling isn't smooth with Logitech Performance MX on Linux
Project Member Reported by sunn...@chromium.org, Apr 12 2016
This mouse has two scrolling modes (traditional step scrolling and hyper scrolling in which the wheel moves freely) that are toggled by a physical button on the mouse. The hyper scrolling mode produces lots of X11 button press/release events while the wheel is in motion. When in traditional scrolling mode, smooth scrolling works as expected. But in hyper scrolling mode there is visible jank and stutter especially towards the end of the scroll. Note that hyper scrolling means that continuous scrolling happens for many seconds at a time. I suspect the same problem also happens with the Logitech M500 (available in go/stuff) that has the same hyper scrolling feature. I'm testing on Google Inbox (with lots of emails in the page) on Google Chrome 51.0.2700.0 (Official Build) dev (64-bit) on Goobuntu 14.04.
Apr 13 2016,
Does the same thing happen in Evince? This is another app that uses xinput2 to receive mouse events (provided that it is using GTK+3). I have this mouse too and I wrote the code porting Chrome to xinput2 mouse events but I've never had such problems (Ubuntu 15.10).
Apr 14 2016,
ymalik@ Can you try this?
Apr 14 2016,
It sounds to me like this feature is basically trying to do smooth scrolling from the hardware side, right? I think in these cases we might do well to turn off our smooth scrolling logic. This is analogous to how on Mac we send touchpad events with a "PrecisePixel" granularity which prevents smooth scroll from kicking in. I don't think we're doing that on Linux when we get high precision mouse ticks.
Apr 14 2016,
I updated the graphics stack on my machine to Ubuntu Wily (15.10) which have evdev 2.9. It seems things are better now but that might just be due to adjusting the scroll speed. However I was able to reproduce the stuttering at the end of the scroll with the same mouse on windows too. Basically the scroll steps at the end of the scroll are rather large compared to the granularity of scrolling on this mouse. I think disabling smooth scroll if we're able to detect high scrolling granularity makes sense.
Apr 19 2016,
We have tried to turn off smooth scrolling for high-precision trackpads on Windows in the past and it has made things worse (see issue 545234 ). For now, we have smooth scrolling enabled for all trackpads and mouse wheels on Windows/Linux. Is there a good heuristic that we can use here to detect high scrolling granularity?
Nov 15 2016,
We added DirectManipulation support on Windows for high-precision trackpads so I think this is probably fixed. Please reopen if still occurring.
Sign in to add a comment