[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH 0/2] PV framebuffer


  • To: xen-devel@xxxxxxxxxxxxxxxxxxx
  • From: Markus Armbruster <armbru@xxxxxxxxxx>
  • Date: Fri, 10 Nov 2006 09:53:44 +0100
  • Delivery-date: Fri, 10 Nov 2006 00:54:00 -0800
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>

Summary of changes:

* Use xenbus_device API.

  Some xm configuration magic is still missing, see below.

* Negotiate features through Xen Store.

* Key identification

  Discussed at length on this list.  I fixed sdlfb to use scan codes
  (assumes standard AT or PS/2 keyboard).  vncfb is not fixable.  See
  comments in the code.

* Drop XENKBD_TYPE_BUTTON in favour of XENKBD_TYPE_KEY.  Simpler, and
  gets rid of the three button limit.

* Support shadow translate mode guests (untested).

* Absolute mouse pointer (optional feature)

* Fix event delivery and receipt notification.

* Use __s32 for coordinates instead of __u16 and __s16 for pixel
  coordinates, to match linux/input.h, which uses int.

* Don't drop the first pointer event on the floor in vncfb.

* Backends diagnose lost kbd events.

* Some renames to make xenkbd and xenfb drivers more similar.  Sorry
  for the extra diffs, but the inconsistencies were just too
  confusing.

Known issues:

* What to do when backend closes the connection?  I guess we want to
  keep the frontend running, ready for another connection.  This works
  already, but in a rather hackish and limited way.

* What to do when the frontend closes the connection?  Make backend
  exit?

* What happens when multiple backends connect to the same frontend?
  Chaos, most likely.

* Resume not implemented.

* xm configuration magic doesn't know the new devices, yet.  I'm
  ignorant of how this magic works, perhaps somebody can lend me a
  hand with it.

  Workaround:

  - Convert /etc/xen/FOO into FOO.sxp with xm create -n.  Make sure to
    delete the junk at the beginning of the output.

  - Add
        (device (vfb ()))
        (device (vkbd ())
    and change kernel and ramdisk to point to suitable copies.

  - xm create -F FOO.sxp.

* A couple of FIXMEs are still left in the code.

Future work:

* Investigate ditching LibVNCServer.

* Use grant tables when they become capable of mapping the
  framebuffer.

* Support multiple framebuffers.

* Dynamic screen resolution.

* Support other keyboards.

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.