qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] Various VGA / VNC fixes and cleanups to prep for multih


From: Daniel P. Berrange
Subject: Re: [Qemu-devel] Various VGA / VNC fixes and cleanups to prep for multiheaded graphics
Date: Thu, 30 Jul 2009 11:34:06 +0100
User-agent: Mutt/1.4.1i

On Thu, Jul 30, 2009 at 12:14:58AM -1000, Zachary Amsden wrote:
> These patches grew from a very strange process, but nonetheless they exist 
> now.
> All of the initial patches are robustness / bugfixes / cleanups.  The final
> result is that we can use multiple Cirrus VGA adapters simultaneously.
> 
> Note the last patch is a complete hack.  It is not meant to be designed this
> way, and is included for demonstration purposes only.  You will also need to
> know how to hack your xorg.conf file to setup multihead properly, but it does
> work, at least under SDL, for me.  You can switch using the standard qemu
> ctrl-alt-1 / ctrl-alt-2 to switch between both graphic consoles.
> 
> I would attach a screenshot to demonstrate this if I could, but the patch mail
> program, or my skills at manipulating it are not sufficient to do that.
> 
> Not that this is very useful, but it was possible, and a consequence of what
> I had been working on, so I felt compelled to release it.
> 
> The next step if anyone were to be interested in multiheaded machine 
> simulation
> would be to create a console.h abstraction designed to support this; it would
> at least require a 'display_state_init' and 'run' callback, and would need
> differentiation to determine whether all displays should be multiplexed on
> one console; or whether there should be multiple consoles supporting all
> displays; or whether there should be a master console with access to all
> monitor targets and slave displays for secondary graphics consoles.
> 
> Multiple concurrent SDL displays would require a much deeper design, with a
> separate process for each display, given the current state of SDL does not
> support multiple windows.  This may or may not be possible under Cocoa, which
> I have access to but have not fully investigated.
> 
> This might be more useful when applied to a VNC or other remote display 
> target.
> Initial attempts to get multiple simultaneous VNC displays did not work, but
> there is no obvious technical obstacle to the progress.

For VNC, there is an documented extension which allows for intelligent
client side handling of multiple displays. Essentially the server VNC
framebuffer represents the combined real estate of all displays (this
lets dumb VNC clients work), and the "ExtendedDesktopSize" extension
allows intelligent clients to query what regions within the framebuffer
correspond to each display. So it would be useful to implement this in
QEMU if we're to allow multiple VGA adapters.

http://tigervnc.sourceforge.net/cgi-bin/rfbproto#extendeddesktopsize-pseudo-encoding

Daniel
-- 
|: Red Hat, Engineering, London   -o-   http://people.redhat.com/berrange/ :|
|: http://libvirt.org  -o-  http://virt-manager.org  -o-  http://ovirt.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505  -o-  F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|




reply via email to

[Prev in Thread] Current Thread [Next in Thread]