public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@elte.hu>
To: Alexander Graf <agraf@suse.de>
Cc: Pekka Enberg <penberg@kernel.org>,
	kvm@vger.kernel.org, Cyrill Gorcunov <gorcunov@gmail.com>,
	John Floren <john@jfloren.net>,
	Sasha Levin <levinsasha928@gmail.com>
Subject: Re: [PATCH] kvm tools, ui: Optimize SDL updates
Date: Sat, 4 Jun 2011 12:54:43 +0200	[thread overview]
Message-ID: <20110604105443.GH16292@elte.hu> (raw)
In-Reply-To: <34B8A15A-AEF2-4E2D-99F5-0EDB41447C31@suse.de>


* Alexander Graf <agraf@suse.de> wrote:

> 
> On 04.06.2011, at 12:42, Ingo Molnar wrote:
> 
> > 
> > * Alexander Graf <agraf@suse.de> wrote:
> > 
> >> I wrote up 2 virtio-fb implementations a while back and I still 
> >> believe it's a bad idea. Better implement QXL in kvm-tool, so work 
> >> doesn't get needlessly duplicated. If you really have to use virtio 
> >> for whatever reason (no PCI available), just write a small QXL over 
> >> virtio transport that allows you to reuse the protocol.
> >> 
> >> I really don't want to see people waste time on reinventing the 
> >> wheel over and over again.
> > 
> > Oh, we are just ignorantly blundering around trying to find a good 
> > solution! :-)
> > 
> > We are not trying to reimplement the wheel (at all), if you check we 
> > started with VNC GUI support which is as far from NIH as it gets! :-)
> > 
> > I didn't know about QXL but it looks interesting at first sight: a 
> > virtual GPU seen by the guest OS with Xorg support for it in the 
> > guest Xorg. But i do not see guest kernel framebuffer support for it 
> > - how does that aspect work, if one boots without Xorg, etc.?
> 
> IIUC it implements VESA and just goes through the respective fb. 
> [...]

So, if you look at the context of this dicussion our motivation is 
slow scrolling and our desire to support smooth scrolling on 64-bit 
too. It was unclear whether VESA would proper panning/scrolling on 
64-bit as well - Pekka thinks that it is not supported there.

> [...] I would love to see a QXL fb implementation though. I'd also 
> love to see QXL working on !PCI, so we can potentially use it on 
> s390x and ppc-hv which can't easily do MMIO.
> 
> So instead of putting effort into writing virtio-fb host and guest 
> sides, why not implement QXL-fb against a working target (qemu) and 
> then implement the QXL host side against a working target (working 
> guest support)? That probably makes the development process a lot 
> easier.

Have a look at the 'kvm' tool:

  git pull git://github.com/penberg/linux-kvm master

We'd like to implement better graphics support there, in a gradual 
fashion if possible. Right now we have VNC and SDL support - two 
rather primitive 2D framebuffer concepts with no acceleration at all.

If you think qxl-fb can be done gradually in that context then that's 
probably the right solution. Is there *any* QXL code in the kernel 
that would allow us to get started? I really know nothing about QXL.

The natural steps for us would be:

 - add primitive 2D acceleration support: scrolling

 - check what it would require to get good guest Xorg support. QXL has
   a full driver on the guest side Xorg server - but how does this
   get channeled over to the virtualizer - is it a magic PCI device
   that the host has to provide to the guest and which the guest Xorg
   server uses as a PCI device? Or does the guest side DRM code know
   about this GPU and uses it in KMS?

Thanks,

	Ingo

  reply	other threads:[~2011-06-04 10:54 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-06-03 21:20 [PATCH] kvm tools, ui: Optimize SDL updates Pekka Enberg
2011-06-04  9:54 ` Ingo Molnar
2011-06-04 10:27   ` Alexander Graf
2011-06-04 10:42     ` Ingo Molnar
2011-06-04 10:46       ` Alexander Graf
2011-06-04 10:54         ` Ingo Molnar [this message]
2011-06-04 11:07           ` Alexander Graf
2011-06-04 11:53             ` Ingo Molnar
2011-06-04 11:59               ` Alexander Graf
2011-06-04 12:04               ` Sasha Levin
2011-06-04 13:48                 ` Alexander Graf
2011-06-04 14:19                   ` Sasha Levin
2011-06-04 15:21                     ` Alexander Graf
2011-06-04 15:34                       ` Sasha Levin
2011-06-04 15:40                         ` Alexander Graf
2011-06-04 16:49                           ` Sasha Levin
2011-06-05  8:41                             ` Alexander Graf
2011-06-05  9:32             ` Alon Levy
2011-06-06  7:02             ` Gerd Hoffmann

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=20110604105443.GH16292@elte.hu \
    --to=mingo@elte.hu \
    --cc=agraf@suse.de \
    --cc=gorcunov@gmail.com \
    --cc=john@jfloren.net \
    --cc=kvm@vger.kernel.org \
    --cc=levinsasha928@gmail.com \
    --cc=penberg@kernel.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