From: Anthony Liguori <anthony@codemonkey.ws>
To: Alon Levy <alevy@redhat.com>
Cc: linux-kernel@vger.kernel.org,
Rusty Russell <rusty@rustcorp.com.au>,
Ian Molton <ian.molton@collabora.co.uk>,
QEMU Developers <qemu-devel@nongnu.org>,
virtualization@lists.linux-foundation.org,
virtualization@lists.osdl.org, Avi Kivity <avi@redhat.com>
Subject: Re: [Qemu-devel] Re: [PATCH] Implement a virtio GPU transport
Date: Mon, 01 Nov 2010 08:28:48 -0500 [thread overview]
Message-ID: <4CCEC090.3050009@codemonkey.ws> (raw)
In-Reply-To: <1097264455.965471288612409433.JavaMail.root@zmail06.collab.prod.int.phx2.redhat.com>
On 11/01/2010 06:53 AM, Alon Levy wrote:
>> The alternative proposal is Spice which so far noone has mentioned.
>> Right now, Spice seems to be taking the right approach to guest 3d
>> support.
>>
>>
> While we (speaking as part of the SPICE developers) want to have the same
> support in our virtual GPU for 3d as we have for 2d, we just don't at this
> point of time.
>
Yes, but I think the point is that are two general approaches to
supporting 3d that are being proposed. One approach is to an RPC layer
at the OpenGL level which essentially passes through the host OpenGL
stack. That's what virtio-gl is. This has existed for quite a while
and there are multiple transports for it. It supports serial ports, TCP
sockets, a custom ISA extension for x86, and now a custom virtio transport.
Another approach would be to have a virtual GPU and to implement
GPU-level commands for 3d. I have been repeated told that much of the
complexity of Spice is absolutely needed for 3d and that that's a major
part of the design.
GPU-level support for 3d operations has a number of advantages mainly
that it's more reasonably portable to things like Windows since the 3d
commands can be a superset of both OpenGL and Direct3d.
Also, Spice has an abstraction layer that doesn't simply passthrough
graphics commands, but translates/sanitizes them first. That's another
advantage over OpenGL passthrough. Without a layer to sanitize
commands, a guest can do funky things with the host or other guests.
I think a Spice-like approach is the best thing long term. In the short
term, I think doing the GL marshalling over virtio-serial makes a ton of
sense since the kernel driver is already present upstream. It exists
exactly for things like this.
In the very, very short term, I think an external backend to QEMU also
makes a lot of sense because that's something that Just Works today. I
think we can consider integrating it into QEMU (or at least simplifying
the execution of the backend) but integrating into QEMU is going to
require an awful lot of the existing code to be rewritten. Keeping it
separate has the advantage of allowing something to Just Work as an
interim solution as we wait for proper support in Spice.
Regards,
Anthony Liguori
>
>> Regards,
>>
>> Anthony Liguori
>>
>>
>>> I understand others are skeptical,
>>> but this seems simple and if it works and you're happy to maintain
>>>
>> it I'm
>>
>>> happy to let you do it :)
>>>
>>> Cheers,
>>> Rusty.
>>>
>>>
>>>
next prev parent reply other threads:[~2010-11-01 13:28 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <4CAC9CD1.2050601@collabora.co.uk>
[not found] ` <4CB1D79A.6070805@redhat.com>
2010-10-19 10:31 ` [Qemu-devel] Re: [PATCH] Implement a virtio GPU transport Ian Molton
2010-10-19 10:39 ` Avi Kivity
2010-10-27 13:00 ` Ian Molton
2010-10-28 9:27 ` Avi Kivity
2010-10-28 11:54 ` Ian Molton
2010-10-28 14:24 ` Avi Kivity
2010-10-28 14:43 ` Anthony Liguori
2010-10-28 19:50 ` Ian Molton
2010-10-28 20:14 ` Anthony Liguori
2010-10-28 21:41 ` Ian Molton
2010-10-28 19:52 ` Ian Molton
2010-11-01 10:42 ` Avi Kivity
2010-11-01 13:21 ` Anthony Liguori
2010-11-01 15:49 ` Ian Molton
2010-11-01 15:57 ` Anthony Liguori
2010-11-03 17:49 ` Ian Molton
2010-11-01 15:50 ` Ian Molton
2010-10-29 11:18 ` Rusty Russell
2010-10-29 11:49 ` Ed Tomlinson
2010-10-29 13:05 ` Anthony Liguori
2010-11-01 11:53 ` Alon Levy
2010-11-01 13:28 ` Anthony Liguori [this message]
2010-11-03 18:03 ` Ian Molton
2010-11-03 18:17 ` Anthony Liguori
2010-11-05 18:05 ` Ian Molton
2010-11-10 17:22 ` Ian Molton
2010-11-10 17:47 ` Anthony Liguori
2010-11-12 12:14 ` Ian Molton
2010-11-12 13:21 ` Anthony Liguori
2010-11-04 9:13 ` Alon Levy
2010-11-05 17:57 ` Ian Molton
2010-11-03 17:50 ` Ian Molton
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=4CCEC090.3050009@codemonkey.ws \
--to=anthony@codemonkey.ws \
--cc=alevy@redhat.com \
--cc=avi@redhat.com \
--cc=ian.molton@collabora.co.uk \
--cc=linux-kernel@vger.kernel.org \
--cc=qemu-devel@nongnu.org \
--cc=rusty@rustcorp.com.au \
--cc=virtualization@lists.linux-foundation.org \
--cc=virtualization@lists.osdl.org \
/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).