|  |  | 
  
    |  |  | 
 
  |   |  | 
  
    |  |  | 
  
    |  |  | 
  
    |   xen-devel
Re: [Xen-devel] pvfb: Absolute vs relative mouse tracking mystery 
| 
 On 22/07/10 20:13, Jeremy Fitzhardinge wrote:
 
On 07/22/2010 12:04 PM, John Haxby wrote:
 
CentOS 5.5 (and RHEL5.5) deliberately turns off request-abs-pointer in
favour of relative pointers.
The excuse given is that the RHEL5 X server isn't up to the job of
dealing with absolute pointers.  The claim is that you get better
responsiveness with relative pointers and a gtk-vnc-based viewers.
 
Er, what?  How do they get it to work properly then?  Is there any way
to make it use abs?
 
The bug for this is https://bugzilla.redhat.com/show_bug.cgi?id=492866
That doesn't explain much, but the corresponding patch to the RHEL 
kernel has this to say: 
 
    The Xen para-virtual frame buffer protocol supports absolute and
relative pointer events.  The backend sends absolute pointer 
events only
    if the frontend has agreed to that feature.
For reasons that seemed sensible at the time, the RHEL-5 frontend 
always
    agrees, even though RHEL-5 user-space is incapable of actually running
the mouse in absolute mode without manual configuration.  So, out 
of the
    box, the guest kernel is doing abs -> rel coordinate conversion.  This
in turn causes problems for anyone connecting to the guest using 
the VNC
    server in the host, because their mouse pointer is prone to hit an
    "invisible wall".
    The out-of-the-box experience is much better with relative pointer
    events.  It is better still with user-space correctly set up for
    absolute pointer events.
This patch makes the xenkbd driver reject absolute pointers, 
unless they
    This patch makes the xenkbd driver reject absolute pointers, 
unless they
    are enabled with kernel parameter xenkbd.abs_pointer=1.  Improves the
    out-of-the box user experience, and still allows those who care for an
    even better experience to manually set that up.
 
The "out-of-the-box experience" relies on you using a gtk-vnc-based VNC 
viewer that grabs the mouse and turns off the visible local mouse 
pointer so it can work properly.  When I tried it it didn't seem that 
great and, of course, it doesn't work at all when you're using a 
java-plugin VNC viewer from Windows where you can't turn off the local 
mouse pointer. 
It is possible to fix RHEL5 so that you can configure the Xen mouse 
properly -- I did it.  However, the way I did it involved fixing the X11 
evdev driver since evdev interface provides both mouse and keyboard but 
the evdev driver doesn't do XKB.   Configuring all that took some doing, 
but it can be done automatically and I even retrofitted the changes into 
anaconda so that it all worked properly at installation time as well. 
Is there a better way to talk to the xen mouse?  One that means that we 
can get the absolute events and give them to the X server?   A new mouse 
driver is likely to be less painful than the far-reaching attempt I 
tried before. 
jch
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
 | 
 |  | 
  
    |  |  |