This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


Re: [Xen-devel] pvfb: Absolute vs relative mouse tracking mystery

To: John Haxby <john.haxby@xxxxxxxxxx>
Subject: Re: [Xen-devel] pvfb: Absolute vs relative mouse tracking mystery
From: Joshua West <jwest@xxxxxxxxxxxx>
Date: Tue, 03 Aug 2010 20:35:41 -0400
Cc: Jeremy Fitzhardinge <jeremy@xxxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Tue, 03 Aug 2010 17:36:43 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <768613C6-FA1E-455A-A2EF-183E69AEA517@xxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <4BE49501.6000408@xxxxxxxx> <alpine.DEB.2.00.1005101537310.11380@kaball-desktop> <4BE86945.9050408@xxxxxxxx> <alpine.DEB.2.00.1005111154050.11380@kaball-desktop> <20100619154145.GM17817@xxxxxxxxxxx> <4C1CE6DE.8000602@xxxxxxxx> <4C1F7DC4.3090706@xxxxxxxxxx> <4C1F7E58.8030605@xxxxxxxx> <4C55C6CD.40200@xxxxxxxxxxxx> <4C5715C9.3030006@xxxxxxxx> <4C571E88.3050704@xxxxxxxxxxxx> <4C571F20.5010903@xxxxxxxx> <768613C6-FA1E-455A-A2EF-183E69AEA517@xxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv: Gecko/20100720 Fedora/3.1.1-1.fc13 Thunderbird/3.1.1
 On 08/03/2010 12:23 PM, John Haxby wrote:
On 2 Aug 2010, at 20:40, Jeremy Fitzhardinge wrote:

On 08/02/2010 12:37 PM, Joshua West wrote:
On 08/02/10 15:00, Jeremy Fitzhardinge wrote:
On 08/01/2010 12:11 PM, Joshua West wrote:

Do you know if this will be fixed in the Xen 3.4.x series as well?  In the 
3.4.x ioemu-remote qemu code and the xen kernel?

I ask because this is an issue for me on RHEL5 domU's which are 
paravirtualized.  Using Xen 3.4.3 w/ Xen kernel and I'm not yet ready 
to switch production clusters to 4.0.x.
RHEL/CentOS5 deliberately avoids using the absolute pointer mode for reasons I 
don't understand, so it is broken as expected.

Ahh yes, but thats if you're using the RHEL/CentOS Xen kernel.  I'm not using a 
RHEL kernel... instead I'm using linux-2.6.18-xen.hg, but still the issue 
persists on RHEL5 domU's.
OK, in that case it would be worth looking at backporting the changes to older 

I'm not sure if it will make much difference.

The 2.6.18.x X server uses the PS/2 mouse driver which is strictly relative, in 
fact that driver basically maps on to the kernel's mousedev driver which 
carefully converts the absolute pointer events from the xen driver to relative 
ones and most of the problems with tracking arise from a built-in assumption 
that the absolute coordinates are on a 1024x768 screen (this is why the local 
mouse and the guest mouse appear to be connected by a pantograph, albeit a 
poorly functioning pantograph).

One solution is to use xorg-x11-drv-evdev which _does_ take the absolute 
pointer events and passes them directly to the X server.   Unfortunately while 
this is possible it is difficult to configure because the 2.6.18.x kernel has a 
combined xen mouse and keyboard device and the X server wants to distinct 
devices (if linux-2.6.18-xen.hg has separated the drivers (and you can see 
distinct keyboard and mouse devices in /proc/bus/input/devices) then just 
configure a evdev driver as a pointer for X.

For RHEL/CentOS 5 I appear to have a solution: an X input driver that takes 
only the mouse events from the kernel's evdev driver.   I have something that 
works and that I believe I can publish but I need to check both of those when I 
get back to work (I'm not quite on the beach at the moment, but not far off 
it).  Of course, for 5.5 you need to re-enable request-abs-pointer on the 
kernel command line, but that's not too onerous.

Ahh... So then if we get the PVFB going with 1024x768 resolution, instead of wonderful 1990's 800x600, we're all set ;-)

I've been testing with evdev driver as well (Option "Device" "/dev/input/event1" for me), but that has not worked. I see what you're saying though - I can see two entries in /proc/bus/input/devices, and my mouse handlers are "mouse0 event1 ts0", but both the keyboard and mouse physical device is the same: "xen/device/vkbd/0". And this is all with linux-2.6.18-xen.hg.

I'm looking forward to your custom RHEL/CentOS driver to get this going.

One last question -- even if using linux-2.6.18-xen.hg, are you saying we still need request-abs-pointer kernel argument? Wasn't that just to enable absolute pointer mode in the RHEL mouse driver if using RHEL 5.5 and their Xen kernel (looked that way from their patch)? Or is RHEL's Xorg somehow also looking for this directive?


Joshua West
Senior Systems Engineer
Brandeis University

Xen-devel mailing list