[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] X support for QXL and SPICE
From: |
Soeren Sandmann |
Subject: |
[Qemu-devel] X support for QXL and SPICE |
Date: |
12 Dec 2009 00:58:13 +0100 |
User-agent: |
Gnus/5.09 (Gnus v5.9.0) Emacs/21.4 |
Hi,
Here is an overview of what the current QXL driver does and does not
do. The parts of X rendering that are currently being used by cairo
and Qt are:
- Most of XRender
- Image compositing
- Glyphs
- Trapezoids
- Bits of the core protocol:
- Solid fills
- CopyArea
The X driver for the QXL device is not yet very sophisticated. What it
does is basically this:
- It keeps a separate memory framebuffer uptodate using
software
- Solid fills and CopyArea requests are turned into SPICE
commands.
- The cursor is drawn using cursor commands
- For other things, bitmaps are sent across the wire
- It uses the hashing feature of SPICE to only send
hashcodes for those bitmaps if it can get away with
it.
Even this simple support provides a better user experience than VNC
because scrolling is accelerated and doesn't result in a huge bitmap
getting sent across the wire. (I don't know if VNC has support for
bltblt, but even if it does, a screenscraping VNC server can't easily
make use of it).
I believe some parts of XRender can be supported within the existing
SPICE protocol, and that it would be fairly straightforward to add the
other parts.
However, as things stand right now, there is not much point in adding
this support, because X applications essentially always work like
this:
- render to offscreen pixmap
- copy pixmap to screen
There is not yet support for offscreen pixmaps in SPICE, so at the
moment, solid fill and CopyArea are the two main things that actually
make a difference.
Soren
- Re: [Qemu-devel] Re: Spice project is now open, (continued)
- Re: [Qemu-devel] Re: Spice project is now open, Avi Kivity, 2009/12/13
- Re: [Qemu-devel] Spice project is now open, Alexander Graf, 2009/12/11
- Re: [Qemu-devel] Spice project is now open, Dor Laor, 2009/12/11
- Re: [Qemu-devel] Spice project is now open, Izik Eidus, 2009/12/11
- Re: [Qemu-devel] Spice project is now open, Alexander Graf, 2009/12/11
- Re: [Qemu-devel] Spice project is now open, Izik Eidus, 2009/12/11
- Re: [Qemu-devel] Spice project is now open, Alexander Graf, 2009/12/11
- Re: [Qemu-devel] Spice project is now open, Izik Eidus, 2009/12/11
- Re: [Qemu-devel] Spice project is now open, Alexander Graf, 2009/12/11
- Re: [Qemu-devel] Spice project is now open, Izik Eidus, 2009/12/11
- [Qemu-devel] X support for QXL and SPICE,
Soeren Sandmann <=
- [Qemu-devel] Re: X support for QXL and SPICE, Alexander Graf, 2009/12/11
- Re: [Qemu-devel] Re: X support for QXL and SPICE, Izik Eidus, 2009/12/11
- Re: [Qemu-devel] Re: X support for QXL and SPICE, Alexander Graf, 2009/12/11
- [Qemu-devel] Re: X support for QXL and SPICE, Izik Eidus, 2009/12/11
- Re: [Qemu-devel] X support for QXL and SPICE, Anthony Liguori, 2009/12/11
- Re: [Qemu-devel] X support for QXL and SPICE, Izik Eidus, 2009/12/11
- Re: [Qemu-devel] X support for QXL and SPICE, Anthony Liguori, 2009/12/12
- Re: [Qemu-devel] X support for QXL and SPICE, Izik Eidus, 2009/12/12
- Re: [Qemu-devel] X support for QXL and SPICE, Alexander Graf, 2009/12/12
- Re: [Qemu-devel] X support for QXL and SPICE, Izik Eidus, 2009/12/12