All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] Virtual frame buffer
@ 2006-06-26 13:38 Markus Armbruster
  2006-06-26 13:39 ` [PATCH 1/2] Virtual frame buffer: frontend Markus Armbruster
                   ` (2 more replies)
  0 siblings, 3 replies; 32+ messages in thread
From: Markus Armbruster @ 2006-06-26 13:38 UTC (permalink / raw)
  To: xen-devel

I ported Anthony Liguori's virtual frame buffer to current kernels and
converted it to use Xenstore.

Here's a brief sketch of how it works.
http://wiki.xensource.com/xenwiki/VirtualFramebuffer has more detail,
and also also outlines future work, but the stuff on startup there no
longer applies.

The VFB's architecture is comparable to the common split device driver
architecture: xenfb and xenkbd modules serve as frontend in domU, and
the user space vncfb server serves as backend in dom0.

xenfb and xenkbd don't use the Xenbus infrastructure for frontends,
because it doesn't quite fit.  They publish their shared memory page
and event channel in Xenstore entries
{vfb,vkbd}/{page-ref,event-channel}.

As usual, the shared memory page contains information about the
device, input event ring and output event ring.

xenkbd defines pointer motion events, button events and keyboard
events.  xenfb defines events to optionally signal frame buffer page
updates.

vncfb runs in dom0.  It takes the domain to watch as argument.  It
then watches /local/domain/DOMID/{vfb,vkbd} until everything it needs
is there.  It maps the shared memory and connects the event channels.
Use of event ring and event channel follows the common patterns.

xenfb actually shares more memory than just a page.  It also shares
the frame buffer itself.  The page shared through Xenstore has enough
information so that vncfb can map the frame buffer as well.

^ permalink raw reply	[flat|nested] 32+ messages in thread

end of thread, other threads:[~2006-08-04  8:34 UTC | newest]

Thread overview: 32+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-06-26 13:38 [PATCH 0/2] Virtual frame buffer Markus Armbruster
2006-06-26 13:39 ` [PATCH 1/2] Virtual frame buffer: frontend Markus Armbruster
2006-07-07  7:18   ` Markus Armbruster
2006-07-07 16:45   ` Christian Limpach
2006-07-10  7:37     ` Markus Armbruster
2006-07-10 10:57       ` Christian Limpach
2006-07-10 18:29     ` Markus Armbruster
2006-07-26 20:28       ` Christian Limpach
2006-07-27  5:11         ` Markus Armbruster
2006-07-27  7:26           ` Gerd Hoffmann
2006-08-04  8:00           ` Markus Armbruster
2006-08-04  8:34             ` Christian Limpach
2006-07-28 13:52   ` Laurent Vivier
2006-08-04  7:54     ` Markus Armbruster
2006-06-26 13:40 ` [PATCH 2/2] Virtual frame buffer: user space backend Markus Armbruster
2006-07-07  7:18   ` Markus Armbruster
2006-07-28 15:55     ` Laurent Vivier
2006-08-04  7:57       ` Markus Armbruster
2006-07-07 16:57   ` Christian Limpach
2006-07-07 17:31     ` Anthony Liguori
2006-07-07 18:33       ` Christian Limpach
2006-07-07 18:50         ` Anthony Liguori
2006-07-07 22:50           ` Christian Limpach
2006-07-07 23:05             ` Anthony Liguori
2006-07-08  1:10               ` Christian Limpach
2006-07-08  1:49                 ` Anthony Liguori
2006-07-08 10:20                   ` Christian Limpach
2006-07-08  0:35             ` Rik van Riel
2006-07-08  1:38               ` Christian Limpach
2006-07-10  7:37     ` Markus Armbruster
2006-07-10 18:29     ` Markus Armbruster
2006-07-07  7:17 ` [PATCH 0/2] Virtual frame buffer Markus Armbruster

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.