All of lore.kernel.org
 help / color / mirror / Atom feed
From: Anthony Liguori <aliguori@us.ibm.com>
To: mark.williamson@cl.cam.ac.uk
Cc: xen-devel <xen-devel@lists.xensource.com>
Subject: Re: [RFC] Xen Virtual Framebuffer
Date: Mon, 05 Dec 2005 19:19:01 -0600	[thread overview]
Message-ID: <4394E705.2000208@us.ibm.com> (raw)
In-Reply-To: <Prayer.1.0.16.0512060050260.15311@hermes-1.csi.cam.ac.uk>

M.A. Williamson wrote:

> Wow!  That was fast work ;-)

Linux rocks :-)  The fb driver infrastructure is really easy to work with.

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

Yeah, I can post some (I'll link on the wiki page) tomorrow as I forgot 
to re-enable VNC on my dev machine so I have to wait to head back in the 
office.  It looks a lot like VT or Qemu right now as you can imagine :-)

> 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.

What's nice is that the fbdev device maps the memory directly to 
userspace, so you don't take a hit at all by going through the kernel 
interface.  My current line of thinking is to use an fb device with 
special device-specific ioctls for the couple non-standard accelerations 
we could implement.

The X.org code doesn't look so bad.  Interestingly, VMware has a driver 
in the X.org tree so I don't think we'll have a problem just working 
with those guys to get our own driver :-)

> 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 ;-)

Absolutely.  libvncserver is not a pleasant library but a reasonable 
place to start.  We really need to implement a few accelerations first 
before VNC is a reasonable option (at least copyrect) since otherwise 
we'll have to do a lot of computation to figure out what portions of the 
screen have changed.

> 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?

I'm not sure.  I think there may be some clever approachs to it.  If 
nothing else, some patches to gpm could achieve the desired effect.  
copy/paste would be an awesome feature to have so I'm definitely 
interested in making it work.

The same is true for drag and drop :-)  There are a lot of cool things 
we can do...

Regards,

Anthony Liguori

> Cheers,
> Mark
>
> 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.
>>
>> http://www.cs.utexas.edu/users/aliguori/xen-vfb-20051205.tar.gz
>>
>> Regards,
>>
>> Anthony Liguori
>>
>> _______________________________________________
>> Xen-devel mailing list
>> Xen-devel@lists.xensource.com
>> http://lists.xensource.com/xen-devel
>>
>

  reply	other threads:[~2005-12-06  1:19 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-12-05 23:00 [RFC] Xen Virtual Framebuffer Anthony Liguori
2005-12-06  0:17 ` Anthony Liguori
2005-12-06  0:35   ` Jon Smirl
2005-12-06  1:09     ` Anthony Liguori
2005-12-06  1:19       ` Jon Smirl
2005-12-06  1:25         ` Anthony Liguori
2005-12-06  1:31           ` Jon Smirl
2005-12-06  2:13             ` Anthony Liguori
2005-12-06  2:35           ` Jon Smirl
2005-12-06  2:55             ` Anthony Liguori
2005-12-06  3:13               ` Jon Smirl
2005-12-06  4:45                 ` 答复: [Xen-devel] " 苗枫
2005-12-06  5:08                   ` Anthony Liguori
2005-12-09 21:54     ` Tracy R Reed
2005-12-11  2:27       ` Jon Smirl
2005-12-16 12:14         ` Jacob Gorm Hansen
2005-12-16 15:48           ` Jon Smirl
2005-12-19 10:32             ` Jacob Gorm Hansen
2005-12-19 15:01               ` Jon Smirl
2005-12-06  0:50 ` M.A. Williamson
2005-12-06  1:19   ` Anthony Liguori [this message]
2005-12-06 10:50 ` Gerd Knorr
2005-12-06 11:06 ` Jacob Gorm Hansen
2005-12-06 14:54   ` Jon Smirl
2005-12-11  2:38 ` Jon Smirl
2005-12-16 11:20 ` Gerd Knorr
2005-12-16 16:16   ` Jon Smirl
2005-12-16 17:01     ` Gerd Knorr
2005-12-16 17:28       ` Anthony Liguori
2005-12-16 17:23   ` Anthony Liguori
2005-12-19 10:57     ` Gerd Knorr
  -- strict thread matches above, loose matches on Subject: below --
2005-12-06  0:48 James Harper
2005-12-06  0:53 ` M.A. Williamson
2005-12-06  1:13   ` Jon Smirl
2005-12-06  2:51     ` M.A. Williamson
2005-12-06  1:15 ` Jon Smirl
2005-12-06 14:18   ` Charles Duffy
2005-12-06 10:59 Petersson, Mats
2005-12-06 20:41 John Byrne
2005-12-06 20:52 ` Anthony Liguori

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4394E705.2000208@us.ibm.com \
    --to=aliguori@us.ibm.com \
    --cc=mark.williamson@cl.cam.ac.uk \
    --cc=xen-devel@lists.xensource.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.