Bug 807493
Summary: | F16 X hang due to frequent evdev mouse scrollwheel events (F14 ok) | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Peter Hutterer <peter.hutterer> | ||||||
Component: | xorg-x11-drv-evdev | Assignee: | Peter Hutterer <peter.hutterer> | ||||||
Status: | CLOSED WONTFIX | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||||
Severity: | unspecified | Docs Contact: | |||||||
Priority: | unspecified | ||||||||
Version: | 16 | CC: | mcepl, mcepl, peter.hutterer, trevor, vylekzhanin, xgl-maint | ||||||
Target Milestone: | --- | ||||||||
Target Release: | --- | ||||||||
Hardware: | i686 | ||||||||
OS: | Linux | ||||||||
Whiteboard: | |||||||||
Fixed In Version: | Doc Type: | Bug Fix | |||||||
Doc Text: | Story Points: | --- | |||||||
Clone Of: | 754674 | Environment: | |||||||
Last Closed: | 2013-02-14 02:11:22 UTC | Type: | --- | ||||||
Regression: | --- | Mount Type: | --- | ||||||
Documentation: | --- | CRM: | |||||||
Verified Versions: | Category: | --- | |||||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||
Cloudforms Team: | --- | Target Upstream Version: | |||||||
Embargoed: | |||||||||
Bug Depends On: | 754674 | ||||||||
Bug Blocks: | |||||||||
Attachments: |
|
Description
Peter Hutterer
2012-03-27 23:28:20 UTC
Here's the problem: REL_WHEEL and friends contains the scroll wheel value, which appears to be broken for your device but is valid on all other devices. If we apply your change, we'd lose any fast scrolling information and essentially make the new smooth scrolling support pointless. Can you attach the utouch-evemu recording of this device when it produces too many events? http://people.freedesktop.org/~whot/evemu/ Created attachment 573333 [details]
evemu-describe output for a IBM ScrollPoint MO18B
Created attachment 573338 [details]
evemu-record output for a IBM ScrollPoint MO18B
I tried to move the mouse very little (but it's sensitive).
I did the following:
did a sequence of up/down scrollwheel super lightly/quickly twice
did a sequence of up/down scrollwheel super heavily/long twice
Maybe the problem isn't that we need to set the value to 1, maybe it's that we need to scale it (looking at the recording output). When I was hacking the code, my questions were: what scale, and how to detect when to apply it. For those who don't know, the ScrollPoint mouse "wheel" is basically a up/down only version of the ubiquitous IBM pencil-eraser pointing device on all ThinkPads. The harder you press, the faster it goes. Perhaps the answer lies in looking what the pencil-eraser on ThinkPads does in X and pattern this mouse after that? I assume the pencil-eraser works well in X! The scrollwheel works great in Windows (XP) with a downloadable IBM driver. It's extremely smooth and works as expected. Without the driver, I can't remember what it does but it's not pretty. If it might be helpful, I can gather all the various web posts regarding this exact problem and collect them here. Most fixes I saw involved setting the value to 1. When I ran the recordings, I was using my hacked-to-1 copy of evdev but it doesn't appear to have affected the output. Thanks! I should note, I don't own one, but there also exists a version of this mouse with up/down *and* left/right scrolling functionality. I suppose for other people it would be nice to fix the left/right at the same time (and I assume the fix would be nearly the same). oh dear. this isn't going to be pretty. So judging from the reports, the axis is simply too large. The average mousewheel barely manages to get up to a 10/-10, this axis here seems to get up to 63 without issues, and even the super-light gets -27. I'm sure the custom windows driver simply caters for that and scales that axis down. To fix this sensibly, we'd have to put in axis scaling into evdev. Generic, of course so you can scale any axis. Which isn't going to be pretty, I'll have to have a think about this. Can you please file this as an evdev bug on bugs.freedesktop.org, linking back/forth between the two bugs? This needs to be fixed upstream. I made a freedesktop bug: https://bugs.freedesktop.org/show_bug.cgi?id=48118 Not sure how to "link" them, but I tried wherever it let me put a url. Thanks! Fedora 16 changed to end-of-life (EOL) status on 2013-02-12. Fedora 16 is no longer maintained, which means that it will not receive any further security or bug fix updates. As a result we are closing this bug. If you can reproduce this bug against a currently maintained version of Fedora please feel free to reopen this bug against that version. Thank you for reporting this bug and we are sorry it could not be fixed. Now I've got Fedora 19 (*x86_64*) on my ASUS laptop n46vz. X server (currently is xorg-x11-server-Xorg-1.14.2-5.fc19.x86_64) hangs several times per a day. Mouse and keyboard freezes, video and any animation (if presents) freezes too, but sound continues. OS is working, I may ssh into it from other laptop. If I kill X process (killall -9 X) system will restart X server (via kdm) and, after login, everything will run OK. There is no any useful information about it in system's logs. I've cleaned coolers, changed thermal grease, RAM, updated BIOS =) and changed couple of mouses (now I use third one; general mouses like Logitech M185 - wireless, Sigma M213 - wired, Rapoo 6080 - bluetooth). Also have changed DE and nouveau/nvidia drivers (via bumblebee). Then I try to strace frozen X server's process and got something like futex deadlock (in infinite loop): futex(0x30d9507a40, FUTEX_WAIT_PRIVATE, 2, NULL) = ? ERESTARTSYS (To be restarted if SA_RESTART is set) --- SIGALRM {si_signo=SIGALRM, si_code=SI_KERNEL} --- rt_sigreturn() = -1 EINTR (Interrupted system call) futex(0x30d9507a40, FUTEX_WAIT_PRIVATE, 2, NULL) = ? ERESTARTSYS (To be restarted if SA_RESTART is set) --- SIGALRM {si_signo=SIGALRM, si_code=SI_KERNEL} --- rt_sigreturn() = -1 EINTR (Interrupted system call) futex(0x30d9507a40, FUTEX_WAIT_PRIVATE, 2, NULL) = ? ERESTARTSYS (To be restarted if SA_RESTART is set) --- SIGALRM {si_signo=SIGALRM, si_code=SI_KERNEL} --- On my other laptop (old Acer, *i386* arch, fc19) everything is OK with these mouses. Solved! I've used proprietary nvidia driver long time ago (unsuccessfully). Nvidia uninstaller didn't remove all its libs, I think. I've deleted it manually and reinstall some libGL-related packages. Removed bumblebee, primus, etc. Then I've got other kind of error (got info in system logs), like: (BUG: soft lockup - CPU#7 stuck for 22s! [X:602]). I've reinstalled nvidia driver && libs in separate dir, reinstalled bumblebee, set it up... and now everything is gone OK! Now I found similary story (with happy end =) ): https://lists.fedoraproject.org/pipermail/users/2013-June/436453.html A note to interested parties, this bug (scrollwheel too fast) has been fixed upstream (see freedesktop.org link) and should be coming to the distros somewhere down the road. To partake of the fix, you have to add some lines to either your xorg.conf (if you have one) or a new file. The new file would look like: #cat /etc/X11/xorg.conf.d/99-scrollpoint.conf Section "InputClass" Identifier "ScrollPoint" MatchUSBID "04b3:3100|04b3:3103|04b3:3105|04b3:3108|04b3:3109" Option "VertScrollDelta" "18" Option "HorizScrollDelta" "18" EndSection Peter, I can't change the metadata for this bug to reflect these new changes, so if you can adjust as appropriate that would be great. (A new summary to reflect this is the too-fast bug may be helpful too.) Thanks! fwiw. it hasn't yet been fixed, there are patches available but they're not merged yet (close, but not yet). I won't be backporting this to F16 so I'll leave the bug as is. Feel free to file a new one, but right now it's easier to just wait for it to trickle down because my time to handle this for older fedora version is pretty much 0. I'm on Fedora 19 now, so 14 / 16 is irrelevant. If I read this correctly, we'll just wait for the upstream to show up (that's fine). This/these notes here will serve as info for anyone searching this out in the meantime. So unless you feel a need to tweak this bugzilla entry here to reflect this new status, we'll just leave it as is and I'll stop commenting on this bugzilla. Thanks! |