Fedora 22's problem with my scroll wheel

July 24, 2015

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.

Comments on this page:

By bevans at 2015-07-24 14:34:42:

I'm seeing what I think is this exact same issue as well on Fedora 22 (especially in the stock Firefox).

Where did you put the environment variable?

By cks at 2015-07-24 15:26:44:

Unfortunately I can't give you a useful answer about where to put the environment variable, because I don't log in via a *dm GUI login window (gdm, lightdm, xdm, etc). If you feel like making this a system-wide change, I think you can drop a file in /etc/X11/xinit/xinitrc.d that sets and exports the environment variable.

(Although these files look like shell scripts, they are actually shell fragments that are sourced into the main startup script; this lets them set environment variables that will be inherited by your session.)

Written on 24 July 2015.
« A modest little change I'd like to see in bug reporting systems
Everything that does TLS should log the SSL parameters used »

Page tools: View Source, View Normal, Add Comment.
Login: Password:
Atom Syndication: Recent Comments.

Last modified: Fri Jul 24 00:53:59 2015
This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.