Bug 54387 - Upgrade to evdev-2.7.0 (from 2.6.0) breaks mouse wheel on qemu-kvm guest with usb-tablet option
Upgrade to evdev-2.7.0 (from 2.6.0) breaks mouse wheel on qemu-kvm guest with...
Status: RESOLVED FIXED
Product: xorg
Classification: Unclassified
Component: Input/evdev
7.4 (2008.09)
x86-64 (AMD64) Linux (All)
: medium minor
Assigned To: Peter Hutterer
Xorg Project Team
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2012-09-02 11:58 UTC by gbevan
Modified: 2013-01-23 07:33 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description gbevan 2012-09-02 11:58:45 UTC
I'm running Gentoo Linux (64bit) as a qemu-kvm guest:

qemu-kvm -machine pc,accel=kvm -soundhw ac97 -enable-kvm -m 4G -smp 4,cores=2,threads=2 -name Gentoo -drive file=/kvm/gentoo.kvm,if=virtio -vga vmware -net nic -net tap -usbdevice tablet -fsdev local,id=shared,path=/kvm/shared,security_model=mapped -device virtio-9p-pci,fsdev=shared,mount_tag=v_tmp -serial 'telnet:localhost:23,server,nowait'

I use the `-usbdevice tablet` option to provide auto grab of the console on mouse-over.

This worked perfectly until I recently upgraded from evdev-2.6.0 to 2.7.0.  After the upgrade the mouse wheel stopped working.  Reverting evdev back to 2.6.0 fixes the problem.

Here is the Xorg log when running ok under evdev 2.6.0:

[    22.675] (II) Using input driver 'evdev' for 'USBMouse'
[    22.675] (**) Option "CorePointer"
[    22.675] (**) USBMouse: always reports core events
[    22.675] (**) USBMouse: Device: "/dev/input/event2"
[    22.675] (--) USBMouse: Found 3 mouse buttons
[    22.675] (--) USBMouse: Found scroll wheel(s)
[    22.675] (--) USBMouse: Found relative axes
[    22.675] (--) USBMouse: Found absolute axes
[    22.675] (--) USBMouse: Found x and y absolute axes
[    22.675] (II) USBMouse: Configuring as mouse
[    22.675] (II) USBMouse: Adding scrollwheel support
[    22.675] (**) USBMouse: YAxisMapping: buttons 4 and 5
[    22.675] (**) USBMouse: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
[    22.675] (II) XINPUT: Adding extended input device "USBMouse" (type: MOUSE, id 6)
[    22.675] (EE) USBMouse: failed to initialize for relative axes.
[    22.675] (II) USBMouse: initialized for absolute axes.
[    22.675] (**) USBMouse: (accel) keeping acceleration scheme 1
[    22.675] (**) USBMouse: (accel) acceleration profile 0
[    22.675] (**) USBMouse: (accel) acceleration factor: 2.000
[    22.675] (**) USBMouse: (accel) acceleration threshold: 4

Here is the log when running with evdev 2.7.0 (when mouse wheel is not working):

[  1830.061] (II) Using input driver 'evdev' for 'USBMouse'
[  1830.061] (**) Option "CorePointer"
[  1830.061] (**) USBMouse: always reports core events
[  1830.061] (**) evdev: USBMouse: Device: "/dev/input/event2"
[  1830.061] (--) evdev: USBMouse: Vendor 0x627 Product 0x1
[  1830.061] (--) evdev: USBMouse: Found 3 mouse buttons
[  1830.061] (--) evdev: USBMouse: Found scroll wheel(s)
[  1830.061] (--) evdev: USBMouse: Found relative axes
[  1830.061] (--) evdev: USBMouse: Found absolute axes
[  1830.061] (--) evdev: USBMouse: Found x and y absolute axes
[  1830.061] (--) evdev: USBMouse: Found absolute touchscreen
[  1830.061] (II) evdev: USBMouse: Configuring as touchscreen
[  1830.061] (II) evdev: USBMouse: Adding scrollwheel support
[  1830.061] (**) evdev: USBMouse: YAxisMapping: buttons 4 and 5
[  1830.061] (**) evdev: USBMouse: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
[  1830.061] (II) XINPUT: Adding extended input device "USBMouse" (type: TOUCHSCREEN, id 6)
[  1830.061] (WW) evdev: USBMouse: touchpads, tablets and touchscreens ignore relative axes.
[  1830.061] (II) evdev: USBMouse: initialized for absolute axes.
[  1830.061] (**) USBMouse: (accel) keeping acceleration scheme 1
[  1830.061] (**) USBMouse: (accel) acceleration profile 0
[  1830.061] (**) USBMouse: (accel) acceleration factor: 2.000
[  1830.061] (**) USBMouse: (accel) acceleration threshold: 4
[  1830.061] (II) Using input driver 'evdev' for 'Keyboard1'

Notice that the device type in 2.7.0 is reported as a TOUCHSCREEN instead of a mouse.

I tried evdev-2.7.3 too, same problem.

I'm happy to stick at evdev-2.6.0 for now, doesn't seem to be a problem with the version of Xorg I'm running.
Comment 1 Chris Mayo 2012-12-04 21:10:31 UTC
Have you tried the patch 0001-Allow-relative-scroll-valuators-on-absolute-devices.patch against evdev-2.7.3? Works for me.

Committed in Fedora:
http://koji.fedoraproject.org/koji/rpminfo?rpmID=3034113
to solve:
https://bugzilla.redhat.com/show_bug.cgi?id=805902

It can most easily be found in Arch:
https://aur.archlinux.org/packages/xf/xf86-input-evdev-fedora/xf86-input-evdev-fedora.tar.gz
Comment 2 gbevan 2012-12-18 21:20:59 UTC
Hi Chris, sorry for the late reply.  No I haven't tried the patch for 2.7.3.  This virtual instance is for my day job work, so I need to keep stable.  I'll keep masking newer versions of evdev until I get one that includes this patch (presumably 2.7.4)...

Thanks for the response.
Comment 3 Peter Hutterer 2013-01-14 06:09:18 UTC
fwiw, the fedora patch can be directly found here: http://pkgs.fedoraproject.org/cgit/xorg-x11-drv-evdev.git/tree/

and yes, I need to upstream that one, sorry, it dropped off my radar.
Comment 5 Peter Hutterer 2013-01-23 07:33:55 UTC
commit f5fe533f1bef0c636b98658aaf40748c219c9879
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Mar 27 12:18:46 2012 +1000

    Allow relative scroll valuators on absolute devices (#54387)