[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] Various VGA / VNC fixes and cleanups to prep for multiheade
From: |
Zachary Amsden |
Subject: |
[Qemu-devel] Various VGA / VNC fixes and cleanups to prep for multiheaded graphics |
Date: |
Thu, 30 Jul 2009 00:14:58 -1000 |
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.
Enjoy. I was going to include a screenshot of 4 simultaneous heads on a
<unspecified name> distro with a giant image of a heavily modified and
ridiculously finned Honda Civic, but sorry, I don't have the patience to
recompile the X server again.
Cheers,
Zach
- [Qemu-devel] Various VGA / VNC fixes and cleanups to prep for multiheaded graphics,
Zachary Amsden <=
- [Qemu-devel] [PATCH 01/14] Add a configure switch to enable / disable all user targets. I felt compelled to do it for symmetry, mostly it is useful to disable user targets when you don't want to build them., Zachary Amsden, 2009/07/30
- [Qemu-devel] [PATCH 02/14] Don't segfault when changing VNC password on an SDL display., Zachary Amsden, 2009/07/30
- [Qemu-devel] [PATCH 03/14] When using stdio monitor and VNC display, one can set or clear a VNC password; this should set or turn off VNC authentication as well., Zachary Amsden, 2009/07/30
- [Qemu-devel] [PATCH 04/14] Clean up VGA type selection; far too many variables being used to track one state leads to confusion if new variables are added., Zachary Amsden, 2009/07/30
- [Qemu-devel] [PATCH 05/14] Change cpu_phys mem callback to use [offset, size) bounds instead of [start, end)., Zachary Amsden, 2009/07/30
- [Qemu-devel] [PATCH 06/14] Split VGA ioport init into a helper function., Zachary Amsden, 2009/07/30
- [Qemu-devel] [PATCH 07/14] Code motion; make mm VGA init function more like standard vga init function. Add missing vga_reset hook to vga_mm_init., Zachary Amsden, 2009/07/30
- [Qemu-devel] [PATCH 08/14] Make VGA vram offset passed into vga_mm_init absolute. Since this is a function of the platform, it makes sense to have it be explicitly known in the platform layer rather than hardcoded inside the vga code., Zachary Amsden, 2009/07/30
- [Qemu-devel] [PATCH 09/14] Further transformation: use common vga_init() which allows either I/O port or memory mapped based control., Zachary Amsden, 2009/07/30
- [Qemu-devel] [PATCH 10/14] Stash VGA physical address and use it in KVM callbacks. Stash VGA physical pointer in cirrus vga as well., Zachary Amsden, 2009/07/30