qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Anthony Liguori <anthony@codemonkey.ws>
To: Alon Levy <alevy@redhat.com>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Avi Kivity <avi@redhat.com>, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] Cirrus bugs vs endian: how two bugs cancel each other out
Date: Mon, 30 Jul 2012 15:19:48 -0500	[thread overview]
Message-ID: <87a9yhatnf.fsf@codemonkey.ws> (raw)
In-Reply-To: <20120730162419.GN29361@garlic.redhat.com>

Alon Levy <alevy@redhat.com> writes:

> On Mon, Jul 30, 2012 at 10:08:07PM +1000, Benjamin Herrenschmidt wrote:
>> On Mon, 2012-07-30 at 14:58 +0300, Avi Kivity wrote:
>> > Let's balkanize some more then?
>> > 
>> > No, qxl is our paravirt vga, we should improve it instead of spawning
>> > new ones (which will be horrible in the eyes of the next person to look
>> > at them).  You should also be getting the drm driver for free.
>> > 
>> > http://spice-space.org/page/DRM
>> 
>> "Free" is a big word here, I wouldn't be surprised if it was totally
>> endian busted :-)
>> 
>> Why so much effort into a bad design on top of a crack transport btw ?
> Could you elaborate about the design and transport issues that you
> see?

"bad design" is too simplistic.  The design is fine for what it
initially targetted.

But we have better ways of doing things now and a much broader scope.
There's no way we can support non-PCI architectures without heavy
lifting.  We also have the opportunity to improve things in such a way
to have a single unified graphics adapter which is a very good thing.

Basically, the core requirements are VESA-compatible + virtio for
command queue.

This gives us reasonable performance/features when a guest driver isn't
available and a path to supporting non-PCI platforms.

Non-PCI graphics is actually very common place.  Many embedded systems
have some form of framebuffer.  Having a graphics platform that supports
non-PCI systems would be quite valuable.

>
>> Is it just RH politics of there's a good reason hiding somewhere ? Some
> No politics AFAIK. Spice code may suck but it's doing a good job while
> sucking, so we prefer to fix it unless a good design that makes it
> easier to rebuild from scratch comes along. I'm all ears.
>
>> kind of morbid fascination for anything Windows ?
> We do have bad linux performance but the is work going to improve it, by
> adding RENDER implementation to our driver and protocol additions, among
> others.

FWIW, when I talk about PV graphics, I'm really only interested in
having a variable sized linear framebuffer (in a sane format--32-bit
8-bit pixels), 2d acceleration like blit and solid fill, and ARGB cursor
offload.

I strongly suspect that even Linux has this today with Spice.  My only
problem with Spice is that it's all or nothing.  If we could negotate
capabilities, I'd be very happy with it.

Offscreen bitmaps, YUV surfaces, etc, are all just icing on the cake.
Requring libspice for that kind of stuff is fine by me.

Regards,

Anthony Liguori

>> 
>> People I've talked to around in the community seem to agree that some
>> minor improvements on qemu-vga are worthwhile, so I'm doing them,
>> nothing drastic, mostly having a mirror of the legacy IO registers in an
>> MMIO BAR so it's more usable for non-x86 platforms, and I'm about to add
>> some simplistic 2D blit facility so we can have a semi-decent fb console
>> over vnc. I can trivially do an equivalent of cirrusdrmfb for it so we
>> get X mode setting / RandR.
>> 
>> That gives us a baseline for mostly unaccelerated 2D.
>> 
>> Something tells me that getting that spice/qxl gunk will be more than a
>> trivial effort (but I might be wrong) and I'm reluctant to start
>> committing effort on it since so far I yet have to see it being actually
>> picked up by people.
>
> I'll be happy to elaborate on any part of qxl/spice that I understand
> and help you help us improve it.
>
>> 
>> Cheers,
>> Ben.
>> 
>>  
>> 
>> 

  reply	other threads:[~2012-07-30 20:19 UTC|newest]

Thread overview: 55+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-07-30  6:24 [Qemu-devel] Cirrus bugs vs endian: how two bugs cancel each other out Benjamin Herrenschmidt
2012-07-30 10:08 ` Avi Kivity
2012-07-30 11:20   ` Benjamin Herrenschmidt
2012-07-30 11:25     ` Avi Kivity
2012-07-30 11:54       ` Benjamin Herrenschmidt
2012-07-30 11:58         ` Avi Kivity
2012-07-30 12:08           ` Benjamin Herrenschmidt
2012-07-30 12:15             ` Avi Kivity
2012-07-30 12:23               ` Benjamin Herrenschmidt
2012-07-30 16:24             ` Alon Levy
2012-07-30 20:19               ` Anthony Liguori [this message]
2012-07-30 22:24               ` Benjamin Herrenschmidt
2012-07-31  8:10                 ` Alon Levy
2012-08-01 14:35                 ` Avi Kivity
2012-08-06 12:57             ` Gerd Hoffmann
2012-07-30 13:18           ` Anthony Liguori
2012-07-30 13:30             ` Avi Kivity
2012-07-30 13:45               ` Anthony Liguori
2012-07-30 13:55                 ` Avi Kivity
2012-07-30 14:29                   ` Anthony Liguori
2012-07-30 14:36                     ` Avi Kivity
2012-07-30 16:01                       ` Anthony Liguori
2012-07-30 23:47                         ` Rusty Russell
2012-07-31  3:16                           ` Benjamin Herrenschmidt
2012-08-06 14:02                             ` Gerd Hoffmann
2012-08-06 21:13                               ` Benjamin Herrenschmidt
2012-08-01 23:29                         ` Andreas Färber
2012-08-06 13:47                         ` Gerd Hoffmann
2012-08-06 14:35                           ` Anthony Liguori
2012-07-31  8:20                     ` Alon Levy
2012-07-30 22:15                   ` Benjamin Herrenschmidt
2012-07-31  0:17                     ` Anthony Liguori
2012-07-31  3:26                       ` Benjamin Herrenschmidt
2012-08-06 13:20             ` Gerd Hoffmann
2012-08-06 21:16               ` Benjamin Herrenschmidt
2012-08-07  5:30                 ` Gerd Hoffmann
2012-08-07  6:07                   ` Benjamin Herrenschmidt
2012-07-30 16:19         ` Alon Levy
2012-08-01 15:42           ` Andreas Färber
2012-08-01 19:22             ` Anthony Liguori
2012-08-03  6:45               ` Alon Levy
2012-08-03 13:41                 ` Anthony Liguori
2012-08-07  7:00                   ` Alon Levy
2012-08-07  8:01                     ` Gerd Hoffmann
2012-08-07 13:05                       ` Erlon Cruz
2012-08-07 14:07                         ` Gerd Hoffmann
2012-08-07 19:43                           ` Erlon Cruz
2012-08-08  6:18                             ` Gerd Hoffmann
2012-08-08 14:14                               ` Erlon Cruz
2012-08-09  6:17                                 ` Gerd Hoffmann
2012-07-30 15:18 ` Blue Swirl
2012-07-30 15:30   ` Peter Maydell
2012-07-30 15:44     ` Blue Swirl
2012-07-31  8:44 ` ronnie sahlberg
2012-07-31 10:30   ` Benjamin Herrenschmidt

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=87a9yhatnf.fsf@codemonkey.ws \
    --to=anthony@codemonkey.ws \
    --cc=alevy@redhat.com \
    --cc=avi@redhat.com \
    --cc=benh@kernel.crashing.org \
    --cc=qemu-devel@nongnu.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).