qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: John Baboval <baboval@spineless.org>
To: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] Multi-head support RFC
Date: Wed, 06 Nov 2013 10:48:18 -0500	[thread overview]
Message-ID: <527A64C2.3010906@spineless.org> (raw)
In-Reply-To: <CAPM=9tzjSZpeCn5TaAAQypynyNm=Zf_5eTVtnkpb80N0KawKHw@mail.gmail.com>

On 11/05/2013 08:46 PM, Dave Airlie wrote:
> On Wed, Nov 6, 2013 at 6:42 AM, John Baboval <john.baboval@citrix.com> wrote:
>> Hello,
>>
>> I am currently the device model maintainer for XenClient Enterprise. As you
>> may or may not know, we maintain a patch queue on top of QEMU (currently
>> 1.3) that adds functionality needed to support XCE features.
>>
>> One of the major things we add is robust multi-head support. This includes
>> DDC emulation for EDID data, variable VRAM size, monitor hot-plug support,
>> simulated VSYNC, and guest controlled display orientation. This includes
>> both the necessary interfaces between the hw and ui, and a new emulated
>> adapter (with drivers) that exercises the interfaces.
> I don't think we'd want to lump all these things together though,
I agree. In my current patch set they are all separated out into 
individual bits.

> I've started looking at doing multi-head support for a new virtio-gpu,
> and I've gotten basic multi-head working with SDL2.0 with cursor
> support.
>
> It currently just adds multiple DisplaySurfaces to the QemuConsole,
> now Gerd said he thought I should be using multiple QemuConsoles but I
> really didn't think this was a good idea, and I still think multiple
> surfaces makes more sense wrt how best to interact with this.
>
> Why do you need to emulate DDC btw? is this just to fool the guest
> vesa code etc?
Basically, yes. It's convenient if you don't want to install a driver in 
the guest, but you want it to boot to a reasonable resolution. There are 
two parts to the change. The big part is in the vga BIOS, to add an 
INT10(0x4F) handler that reads the EDID from an IO port. The QEMU side 
is simply the IO port handler, and a place in VGACommonState to squirrel 
away the EDID.

For multi-head, we install a driver anyway (The X.org driver is GPL. The 
windows one, we can only distribute the binary for now because it's got 
closed-source code from Microsoft in it), and then it doesn't even use 
the DDC. There's a shared memory channel for passing EDID.


>
> Dave.
>
>

  parent reply	other threads:[~2013-11-06 15:48 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-11-05 20:42 [Qemu-devel] Multi-head support RFC John Baboval
2013-11-06  1:46 ` Dave Airlie
2013-11-06 10:57   ` Gerd Hoffmann
2013-11-06 23:44     ` Dave Airlie
2013-11-07 13:00       ` Gerd Hoffmann
2013-11-08 15:20       ` John Baboval
2013-11-06 15:48   ` John Baboval [this message]
2013-11-06 10:55 ` Gerd Hoffmann
2013-11-06 15:39   ` John Baboval
2013-11-07 13:46     ` Gerd Hoffmann
2013-11-07 15:54       ` John Baboval
2013-11-15 20:14         ` John Baboval
2013-11-19  6:57           ` Gerd Hoffmann
2013-11-19 14:17             ` John Baboval
2013-11-20  7:39               ` 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=527A64C2.3010906@spineless.org \
    --to=baboval@spineless.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).