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] [RFC] Xen Virtual Framebuffer

To: Anthony Liguori <aliguori@xxxxxxxxxx>
Subject: Re: [Xen-devel] [RFC] Xen Virtual Framebuffer
From: "M.A. Williamson" <maw48@xxxxxxxxx>
Date: 06 Dec 2005 00:50:26 +0000
Cc: xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxx>
Delivery-date: Tue, 06 Dec 2005 00:50:46 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <4394C683.1070000@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/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <4394C683.1070000@xxxxxxxxxx>
Reply-to: mark.williamson@xxxxxxxxxxxx
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Wow!  That was fast work ;-)

Sounds like really good stuff. Is there any chance of a couple of screenshots?

Have you had a chance to check out comparable X.org drivers? How hairy are they to put together? I agree it seems nicest (in terms of compatibility with Xen-unaware X servers) to use a kernel-based framebuffer as a basis for things (as opposed to having X talk to the virtual display directly). It also allows us automagic compatibility with toolkits and apps that can render to the framebuffer directly.

Side note: it'd be really nice to be able to have an option to export the guest framebuffer display over VNC using libvncserver. The intent would be to allow management software on another node to access domain consoles, without needing the domain to mess about running VNC (or indeed, having a working network setup). I'm sure you've thought of that, though ;-)

Other side note: it'd be really neat to be able to support copy-and-paste operations from text mode consoles to other windows in dom0. Does the kernel have hooks in the right places to make this workable?


On Dec 5 2005, Anthony Liguori wrote:

Now that's 3.0.0's out, I thought it would be a good time to bring up the topic of framebuffer virtualization.

I threw together a proof-of-concept over the weekend of a simple virtual framebuffer/keyboard/mouse. The basic design is have a vmalloc()'d buffer in the guest exposed as /dev/fb0 and mmap()'d in dom0. There's also a simple message system for keyboard/mouse events.

The first frontend is a GTK widget with python bindings (so it can easily be embedded in a larger management app) and a small python app. Right now, the VT system seems to work fine and X starts quite happily (using the fbdev driver). Clicking in the app captures the mouse/keyboard and ctrl+alt will release the capture.

There's a readme and an hg bundle in the tarball below that explains how to set things up.

Some interesting topics in this area are acceleration, whether we should implement our own X driver (or just enhance the fbdev driver since it uses no acceleration right now), and how to properly expose it over something like VNC.

As always, feedback is greatly appreciated.



Anthony Liguori

Xen-devel mailing list

Xen-devel mailing list