From: Gerd Hoffmann <kraxel@redhat.com>
To: John Baboval <john.baboval@citrix.com>
Cc: "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>
Subject: Re: [Qemu-devel] Multi-head support RFC
Date: Wed, 06 Nov 2013 11:55:51 +0100 [thread overview]
Message-ID: <1383735351.1739.57.camel@nilsson.home.kraxel.org> (raw)
In-Reply-To: <52795824.3090105@citrix.com>
Hi,
> In QEMU 1.3, there was a DisplayState list. We used one DisplayState per
> monitor. The DisplayChangeListener has a new hw_add_display vector, so
> that when the UI requests a second monitor the new display gets attached
> to the emulated hardware. (patch: add_display_ptr)
I don't think we want actually add/remove stuff here. On real hardware
your gfx card has a fixed set of display connectors, and I think we are
best of mimic that.
Support for propagating connect/disconnect events and enabling/disabling
displays needs to be added properly. Currently qxl/spice can handle
this, but it uses a private side channel.
> A new vector, hw_store_edid, was added to DisplayState so that UIs could
> tell emulated hardware what the EDID for a given display should be.
> (patch: edid-vector)
Note that multiple uis can be active at the same time.
What happened with the edids then?
> VRAM size was made configurable, so that more could be allocated to
> handle multiple high-resolution displays. (patch: variable-vram-size)
upstream stdvga has this meanwhile.
> I don't think it makes sense to have a QemuConsole per display.
Why not? That is exactly my plan. Just have the virtual graphic card
call graphic_console_init() multiple times, once for each display
connector it has.
Do you see fundamental issues with that approach?
> I can use a model similar to what qxl does, and put the framebuffer for
> each display inside a single DisplaySurface allocated to be a bounding
> rectangle around all framebuffers. This has the advantage of looking
> like something that already exists in the tree, but has several
> disadvantages.
Indeed. I don't recommend that. It is that way for several historical
reasons (one being that the code predates the qemu console cleanup in
the 1.5 devel cycle).
> Are these features something that people would want to see in the tree?
Sure. One of the reasons for the console cleanup was to allow proper
multihead support.
cheers,
Gerd
next prev parent reply other threads:[~2013-11-06 10:56 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
2013-11-06 10:55 ` Gerd Hoffmann [this message]
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=1383735351.1739.57.camel@nilsson.home.kraxel.org \
--to=kraxel@redhat.com \
--cc=john.baboval@citrix.com \
--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).