Bug 10512

Summary: "Attempt to add the 'mouse' driver in more situations" hack breaks VMware, Xen mouse
Product: xorg Reporter: Ben Gertzfield <beng>
Component: Input/MouseAssignee: ajax
Status: RESOLVED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: major    
Priority: medium CC: xorgbugs.philipl
Version: 7.1 (2006.05)   
Hardware: All   
OS: All   
Whiteboard:
i915 platform: i915 features:

Description Ben Gertzfield 2007-04-02 15:16:03 UTC
VMware and Xen users are reporting that upon upgrading to X.org 7.1.1, their mouse moves erratically, as if two mouse devices with the same backend were being fed to to the X server.  This causes the mouse to move twice as fast as it normally would.

The following shows up in the logs:

===
(==) Using config file: "/etc/X11/xorg.conf"
(==) ServerLayout "single head configuration"
(**) |-->Screen "Screen0" (0)
(**) |   |-->Monitor "vmware"
(**) |   |-->Device "VMware SVGA"
(**) |-->Input Device "Keyboard0"
(**) |-->Input Device "Mouse0"
(II) No default mouse found, adding one
(**) |-->Input Device "<default pointer>"

(snip)

(II) LoadModule: "vmmouse"
(II) Loading /usr/lib/xorg/modules/input/vmmouse_drv.so
(II) Module vmmouse: vendor="X.Org Foundation"
        compiled for 7.1.1, module version = 12.4.1
        Module class: X.Org XInput Driver
        ABI class: X.Org XInput driver, version 0.6
(II) VMWARE(0): VMMOUSE module was loaded
(II) Loading sub module "mouse"
(II) LoadModule: "mouse"
(II) Loading /usr/lib/xorg/modules/input/mouse_drv.so
(II) Module mouse: vendor="X.Org Foundation"
        compiled for 7.1.1, module version = 1.1.1
        Module class: X.Org XInput Driver
        ABI class: X.Org XInput driver, version 0.6
(II) LoadModule: "mouse"
(II) Reloading /usr/lib/xorg/modules/input/mouse_drv.so
===

We traced down the behavior to the following checkin by ajax to hw/xfree86/common/xf86Config.c :

http://gitweb.freedesktop.org/?p=xorg/xserver.git;a=commitdiff;h=43d9edd31e31b33b9da4a50d8ab05004881c8d5a;hp=739224d05eb4f356c9cab9dcb8a44a8d78287765

This change results in an extraneous "default" mouse device added to any user who doesn't have a mouse with a driver named either "mouse" or "void".  Since the VMware driver is named "vmmouse", VMware users (and Xen users) are getting a second default mouse device added, which causes the erratic movement described above.

This would also effect upcoming evdev mouse users, so it's a pretty major bug.

I'm not sure what the best solution is to the original problem (the change was meant to help users who have a trackpoint only in their config), but the change above is probably not the best solution.

Here's some users reporting the issue with Xen, along with a workaround (adding a "void" driver section):

http://zaitcev.livejournal.com/108213.html
http://zaitcev.livejournal.com/108617.html

This issue is easily reproducible with a clean Fedora 6 installation under VMware, upgraded to the latest X.org 7.1.1, with VMware Tools installed.
Comment 1 Daniel Stone 2007-04-08 03:37:33 UTC
nasty hack pushed to master

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.