It’s been far too long in coming from our perspective but we finally put our minds towards it and cleaned up the code and made sure all the legal ducks were in order, and today I am proud to announce that we’ve finally committed the vmmouse driver to xorg cvs!
If you’ve run a reasonably recent (last 4 years) linux distro in a virtual machine probably noticed, the video driver is already part of X and if the distro has an X based installer, it probably came up using the ‘vmware’ driver straight away. Unfortunately, you probably then noticed that the mouse was laggy and had different acceleration characteristics from your host, and until you installed our guest tools (and the vmmouse driver) there wasn’t anything you could do about it. Well, hopefully that will now change. In terms of out-of-the-box experience, the mouse driver adds a great deal. It greatly improves responsiveness (and if you’re using a recent version of Workstation with host-cursor support, it will be exactly like your host cursor because it’s, well, your host cursor) and allows for automatic mouse grab/ungrab when you enter/exit the VM without having the guest tools installed or running.
Perhaps more interestingly for some people, you can use this code to write drivers for other platforms; obviously other operating systems come to mind, but I think it would be neat to see a linux kernel input driver and/or support in gpm.
Now, while the code is in cvs, it will not yet build by default with jhbuild or the build.sh script because I haven’t changed those files; reason being that the driver only builds on x86 and it would mess up the build process for people building on other hardware. Hopefully, that won’t take too long to sort out.
I’ve also put up a 7.0 compliant tarball here. If I am not mistaken, 6.9 installs all the correct .pc files so you can build against that as well. Given the difficulty involved for anyone to build a driver for Imake based Xorg, I haven’t implemented support for it, but if you grit your teeth and set everything up and write a makefile, the code should compile as-is.