From: Soeren Sandmann <sandmann@daimi.au.dk>
To: Izik Eidus <ieidus@redhat.com>
Cc: Yaniv Kamay <ykamay@redhat.com>, Alexander Graf <agraf@suse.de>,
qemu-devel@nongnu.org
Subject: [Qemu-devel] X support for QXL and SPICE
Date: 12 Dec 2009 00:58:13 +0100 [thread overview]
Message-ID: <ye8hbrxrrl6.fsf_-_@camel26.daimi.au.dk> (raw)
In-Reply-To: <20091212004635.0b57a8c0@redhat.com>
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
next prev parent reply other threads:[~2009-12-11 23:58 UTC|newest]
Thread overview: 126+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1072764996.1548651260538641101.JavaMail.root@zmail05.collab.prod.int.phx2.redhat.com>
2009-12-11 13:45 ` [Qemu-devel] Spice project is now open Yaniv Kamay
2009-12-11 14:03 ` Jun Koi
2009-12-11 14:17 ` Yaniv Kamay
2009-12-11 14:09 ` Alexander Graf
2009-12-11 14:28 ` Jun Koi
2009-12-11 16:34 ` Anthony Liguori
2009-12-11 16:52 ` Chris Wright
2009-12-11 17:01 ` Anthony Liguori
2009-12-11 17:31 ` Chris Wright
2009-12-11 17:02 ` Yaniv Kamay
2009-12-11 17:16 ` Anthony Liguori
2009-12-11 17:21 ` Alexander Graf
2009-12-11 17:28 ` Anthony Liguori
2009-12-11 17:18 ` Alexander Graf
2009-12-11 18:49 ` Glauber Costa
2009-12-11 15:57 ` Anthony Liguori
2009-12-11 16:47 ` Yaniv Kamay
2009-12-11 16:57 ` Chris Wright
2009-12-11 17:00 ` Anthony Liguori
2009-12-11 17:38 ` Johannes Schindelin
2009-12-11 18:48 ` Izik Eidus
2009-12-11 18:57 ` Ben Taylor
2009-12-11 19:06 ` Izik Eidus
2009-12-11 19:09 ` Glauber Costa
2009-12-11 19:00 ` Izik Eidus
2009-12-11 19:06 ` Anthony Liguori
2009-12-11 19:22 ` Izik Eidus
2009-12-11 19:37 ` Glauber Costa
2009-12-11 19:07 ` Glauber Costa
2009-12-11 19:24 ` Izik Eidus
2010-01-23 23:39 ` Izik Eidus
2009-12-11 19:03 ` malc
2009-12-11 19:10 ` Izik Eidus
2009-12-11 19:24 ` malc
2009-12-11 19:33 ` Izik Eidus
2009-12-11 19:53 ` malc
2009-12-11 20:26 ` Izik Eidus
2009-12-13 11:11 ` Izik Eidus
2009-12-11 19:04 ` Anthony Liguori
2009-12-11 19:15 ` Glauber Costa
2009-12-11 19:25 ` Izik Eidus
2009-12-11 19:42 ` Chris Wright
2009-12-11 19:21 ` Izik Eidus
2009-12-11 19:30 ` Anthony Liguori
2009-12-11 19:39 ` Izik Eidus
2009-12-11 19:51 ` Anthony Liguori
2009-12-11 20:21 ` Izik Eidus
2009-12-11 20:46 ` Anthony Liguori
2009-12-11 21:13 ` Izik Eidus
2009-12-11 21:54 ` Anthony Liguori
2009-12-11 22:34 ` Izik Eidus
2009-12-12 0:54 ` [Qemu-devel] " Paolo Bonzini
2009-12-12 3:34 ` Anthony Liguori
2009-12-12 9:14 ` Paolo Bonzini
2009-12-12 15:11 ` Anthony Liguori
2009-12-12 16:09 ` Avi Kivity
2009-12-12 17:28 ` Anthony Liguori
2009-12-13 10:18 ` Avi Kivity
2009-12-11 22:08 ` [Qemu-devel] " Alexander Graf
2009-12-11 22:33 ` Dor Laor
2009-12-11 22:46 ` Izik Eidus
2009-12-11 23:54 ` Alexander Graf
2009-12-12 0:14 ` Izik Eidus
2009-12-12 0:27 ` Alexander Graf
2009-12-12 0:53 ` Izik Eidus
2009-12-12 1:08 ` Alexander Graf
2009-12-12 1:33 ` Izik Eidus
2009-12-11 23:58 ` Soeren Sandmann [this message]
2009-12-12 0:05 ` [Qemu-devel] Re: X support for QXL and SPICE Alexander Graf
2009-12-12 0:31 ` Izik Eidus
2009-12-12 0:37 ` Alexander Graf
2009-12-12 0:08 ` Izik Eidus
2009-12-12 3:31 ` [Qemu-devel] " Anthony Liguori
2009-12-12 3:52 ` Izik Eidus
2009-12-12 15:13 ` Anthony Liguori
2009-12-12 15:29 ` Izik Eidus
2009-12-12 15:43 ` Alexander Graf
2009-12-12 16:01 ` Izik Eidus
2009-12-12 6:22 ` Dave Airlie
2009-12-12 16:39 ` Soeren Sandmann
2009-12-14 14:07 ` Gerd Hoffmann
2009-12-14 13:56 ` [Qemu-devel] Spice project is now open Gerd Hoffmann
2009-12-14 14:33 ` Anthony Liguori
2009-12-11 20:32 ` Izik Eidus
2009-12-11 20:48 ` Anthony Liguori
2009-12-11 21:31 ` Izik Eidus
2009-12-11 21:58 ` Anthony Liguori
2009-12-11 22:55 ` Chris Wright
2009-12-12 3:27 ` Anthony Liguori
2009-12-12 1:03 ` [Qemu-devel] " Paolo Bonzini
2009-12-12 3:44 ` Anthony Liguori
2009-12-12 14:44 ` Andrea Arcangeli
2009-12-12 15:03 ` Anthony Liguori
2009-12-12 16:06 ` Andrea Arcangeli
2009-12-12 17:40 ` Anthony Liguori
2009-12-12 17:48 ` Izik Eidus
2009-12-12 19:26 ` Anthony Liguori
2009-12-12 19:48 ` Izik Eidus
2009-12-12 22:41 ` Dor Laor
2009-12-12 22:35 ` Dor Laor
2009-12-12 23:46 ` Anthony Liguori
2009-12-13 0:23 ` Daniel P. Berrange
2009-12-13 10:46 ` Avi Kivity
2009-12-14 14:42 ` Anthony Liguori
2009-12-14 14:53 ` Avi Kivity
2009-12-14 15:17 ` Daniel P. Berrange
2009-12-14 15:21 ` Avi Kivity
2009-12-14 15:46 ` Anthony Liguori
2009-12-14 15:10 ` Daniel P. Berrange
2009-12-14 15:50 ` Anthony Liguori
2009-12-14 16:00 ` Avi Kivity
2009-12-14 16:15 ` Anthony Liguori
2009-12-14 17:52 ` Mark McLoughlin
2009-12-13 14:56 ` Gildas Le Nadan
2009-12-14 14:40 ` Gerd Hoffmann
2009-12-14 14:50 ` Anthony Liguori
2009-12-12 23:43 ` Andrea Arcangeli
2009-12-12 23:52 ` Anthony Liguori
2009-12-13 0:04 ` Andrea Arcangeli
2009-12-13 0:18 ` Anthony Liguori
2009-12-13 9:10 ` Izik Eidus
2009-12-15 13:25 ` Soeren Sandmann
2009-12-11 19:25 ` [Qemu-devel] " Mark McLoughlin
2009-12-11 19:38 ` Anthony Liguori
2009-12-11 19:45 ` Mark McLoughlin
2009-12-11 19:53 ` 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=ye8hbrxrrl6.fsf_-_@camel26.daimi.au.dk \
--to=sandmann@daimi.au.dk \
--cc=agraf@suse.de \
--cc=ieidus@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=ykamay@redhat.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).