2015-07-24
Fedora 22's problem with my scroll wheel
Shortly after I upgraded to Fedora 22, I noticed that my scroll wheel was, for lack of a better description, 'stuttering' in some applications. I'd roll it in one direction and instead of scrolling smoothly, what the application was displaying would jerk around all over, both up and down. It didn't happen all of the time and fortunately it didn't happen in any of my main applications, but it happened often enough to be frustrating. As far as I can tell, this mostly happened in native Fedora GTK3 based applications. I saw it clearly in Evince and the stock Fedora Firefox that I sometimes use, but I think I saw it in a few other applications as well.
I don't know exactly what causes this, but I have managed to find
a workaround. Running affected programs with the magic environment
variable GDK_CORE_DEVICE_EVENTS
set to '1
' has made the problem
go away (for me, so far). There are some Fedora and other bugs that
are suggestive of this, such as Fedora bug #1226465, and that bug
leads to an excellent KDE explanation of that specific GTK3
behavior. Since
this Fedora bug is about scroll events going missing instead of
scrolling things back and forth, it may not be exactly my issue.
(My issue is also definitely not fixed in the GTK3 update that
supposedly fixes it for other people. On the other hand, updates
for KDE
and lightdm
now appear to be setting GDK_CORE_DEVICE_EVENTS
, so who knows
what's going on here.)
Since this environment variable suppresses the bad behavior with no visible side effects I've seen, my current solution is to set it for my entire session. I haven't bothered reporting a Fedora bug for this so far because I use a very variant window manager and that seems likely to be a recipe for more argument than anything else. Perhaps I am too cynical.
(The issue is very reproduceable for me; all I have to do is start Evince with that environment variable scrubbed out and my scroll wheel makes things jump around nicely again.)
Sidebar: Additional links
There is this Firefox bug, especially comment 9, and this X server patch from 2013. You'd think a patch from 2013 would be incorporated by now, but who knows.