> -----Original Message----- > From: xen-users-bounces@lists.xensource.com > [mailto:xen-users-bounces@lists.xensource.com] On Behalf Of > Jean-Eric Cuendet > Sent: 12 January 2006 10:10 > To: xen-users@lists.xensource.com > Subject: Re: [Xen-users] Xen handling of graphics card > > > > In any form of VT/SVM system, as of right now, the entire system''s > > hardware accesses are routed to an emulator (qemu for most > operations, > > internal hypervisor emulator for a few select hardware > items, such as > > the interrupt controller & timer). So Windows, or any other > OS, will > > have a QEMU graphics window that displays it''s output. So it''s a > > "faked card bridged by Xen" in your words. > > > > When Xen 3.x re-implements the Dom0 device hiding, you > could, at least > > in theory, have two graphics cards and use one directly in Windows. > > But would it be possible to tell Xen to "give" the entire > card to Windows and then get it back to dom0 and then back to > Linux X11 domU and then to Windows domU, etc... ? > What you explain is that the only way of "sharing" the card > between 2 domU OSes is through a QEmu windows so no *Real* > full screen neither full Windows acceleration. That means the > desktop Linux/Windows in Xen will be hard to do.This is non-trivial: 1. Windows and Dom0 needs to run in parallel, or the device accesses that are virtualized on behalf of the DomU would not be performed. So, you''d be spending more time swapping graphics content than anything else in the system - ever tried saving away 128 MB of graphics data to replace it with another 128MB? [And no, you can''t just get away with saving a little bit of the frame buffer memory, unless the driver(s) involved agree to not use all of the memory]. 2. It would require a "neat" transition - what if the Windows driver has sent a complex drawing request to the graphics card and is currently sitting waiting for an interrupt from the completion of that request, and at that very moment the Dom0 takes over the card? Who gets that interrupt? Obviously, with a Xen-aware graphics driver, it would be possible to solve both of these problems. It is, however, not entirely trivial to write such a driver for a decent modern graphics card. Trust me, I used to work for 3DLabs as a driver developer, the source code for 2D side of the driver is several megabytes, and the 3D parts of the driver are MUCH larger than that. And I think an nVidia or ATI driver is even larger - at least the binary is... Xen''s primary target is for servers, so high performance graphics isn''t really high priority - this doesn''t mean that noone will ever do graphics drivers specifically to support this stuff, but at the moment it''s not the highest priority. -- Mats> -jec > > > _______________________________________________ > Xen-users mailing list > Xen-users@lists.xensource.com > http://lists.xensource.com/xen-users > >_______________________________________________ Xen-users mailing list Xen-users@lists.xensource.com http://lists.xensource.com/xen-users
> Obviously, with a Xen-aware graphics driver, it would be possible to > solve both of these problems. It is, however, not entirely trivial to > write such a driver for a decent modern graphics card. Trust me, I used > to work for 3DLabs as a driver developer, the source code for 2D side of > the driver is several megabytes, and the 3D parts of the driver are MUCH > larger than that. And I think an nVidia or ATI driver is even larger - > at least the binary is...So if I understand well, to solve that we need a Xen driver (the same way VMWare does) that is then used by Windows. I understand that well. IMO, accelerated graphics is not high priority, if the card can just be shared by 2 domU OSes (Linux + Windows) with decent perf (like VMWare) then Desktop with Xen is near. Hope someone with knowledge wil do that soon! Anyone to sponsor me to develop this? :-) Thanks for your great answers. -jec _______________________________________________ Xen-users mailing list Xen-users@lists.xensource.com http://lists.xensource.com/xen-users
On Thursday 12 January 2006 5:21 am, Petersson, Mats wrote:> Xen''s primary target is for servers, so high performance graphics isn''t > really high priority - this doesn''t mean that noone will ever do > graphics drivers specifically to support this stuff, but at the moment > it''s not the highest priority.and what about block device and network drivers? are those high priority? any estimates on first alphas? (mid 2006? later?) -- Javier _______________________________________________ Xen-users mailing list Xen-users@lists.xensource.com http://lists.xensource.com/xen-users
Jean-Eric Cuendet wrote:> >> Obviously, with a Xen-aware graphics driver, it would be possible to >> solve both of these problems. It is, however, not entirely trivial to >> write such a driver for a decent modern graphics card. Trust me, I used >> to work for 3DLabs as a driver developer, the source code for 2D side of >> the driver is several megabytes, and the 3D parts of the driver are MUCH >> larger than that. And I think an nVidia or ATI driver is even larger - >> at least the binary is... > > > So if I understand well, to solve that we need a Xen driver (the same > way VMWare does) that is then used by Windows. I understand that well. > IMO, accelerated graphics is not high priority, if the card can just > be shared by 2 domU OSes (Linux + Windows) with decent perf (like > VMWare) then Desktop with Xen is near. > Hope someone with knowledge wil do that soon! > Anyone to sponsor me to develop this? :-) > Thanks for your great answers. > -jecXen offers vga emulation through a VNC backend. The Xen-Windows video driver you speak of would probably just be a VNC driver that turns graphic commands directly into VNC encoding rather than traversing the VGA emulation layer. Perhaps this beast already exists? Maybe this is impossible? I wonder what its performance would be compared to xen vga-emulation and the regular VNC server? All that said, I''m sure xen vga-emulation and regular VNC servers are good enough for most purposes. Dan. _______________________________________________ Xen-users mailing list Xen-users@lists.xensource.com http://lists.xensource.com/xen-users
> On Thursday 12 January 2006 5:21 am, Petersson, Mats wrote: > > Xen''s primary target is for servers, so high performance graphics isn''t > > really high priority - this doesn''t mean that noone will ever do > > graphics drivers specifically to support this stuff, but at the moment > > it''s not the highest priority. > > and what about block device and network drivers? are those high priority? > any estimates on first alphas? (mid 2006? later?)Windows guests (on VT / Pacifica) currently get their block / net from an emulator in dom0. There are plans to improve the architecture of this for better performance, I imagine you''ll see work on this happening this year. Guests that are Xen-native already get very high performance IO from the Xen-aware drivers. There''s an effort underway to allow unported guests to use these drivers for an extra performance boost - this will probably include Windows, at some stage. Hope that answers your question. Cheers, Mark -- Dave: Just a question. What use is a unicyle with no seat? And no pedals! Mark: To answer a question with a question: What use is a skateboard? Dave: Skateboards have wheels. Mark: My wheel has a wheel! _______________________________________________ Xen-users mailing list Xen-users@lists.xensource.com http://lists.xensource.com/xen-users
On Thursday 12 January 2006 10:53 am, Mark Williamson wrote:> Windows guests (on VT / Pacifica) currently get their block / net from an > emulator in dom0. There are plans to improve the architecture of this for > better performance, I imagine you''ll see work on this happening this year.yeah, i understand that for full hardware virtualization, there has to be some hardware emulators. i''ve read somewhere those are ported from Qemu. but on the Xen Roadmap there''s some mention of some ''paravirtualized drivers'' to be installed on windows to improve performance. also, the Qemu block drivers are limited in size, just recently there has been some initial patches to support LBA48 (for bigger than 137GB disks). so, i guess the goal is to install windows with the emulated hardware and then install the Xen-aware drivers to improve performance (and capabilities!).> Guests that are Xen-native already get very high performance IO from the > Xen-aware drivers. There''s an effort underway to allow unported guests to > use these drivers for an extra performance boost - this will probably > include Windows, at some stage.hope this stage won''t be much later... but first we have to get hold of VT/Pacifica hardware! -- Javier _______________________________________________ Xen-users mailing list Xen-users@lists.xensource.com http://lists.xensource.com/xen-users
> Xen offers vga emulation through a VNC backend. The Xen-Windows video > driver you speak of would probably just be a VNC driver that turns > graphic commands directly into VNC encoding rather than traversing the > VGA emulation layer. Perhaps this beast already exists? Maybe this isYou mean that Xen has it own VNC server embedded? Or does it depend on an external one managed by the OS?> impossible? I wonder what its performance would be compared to xen > vga-emulation and the regular VNC server? > > All that said, I''m sure xen vga-emulation and regular VNC servers are > good enough for most purposes.I don''t see how Windows will work in Xen without such a thing. A graphic card is *mandatory* with Windows... Or do I misunderstand something? -jec _______________________________________________ Xen-users mailing list Xen-users@lists.xensource.com http://lists.xensource.com/xen-users
Jean-Eric Cuendet wrote:> > But would it be possible to tell Xen to "give" the entire > > card to Windows and then get it back to dom0 and then back to > > Linux X11 domU and then to Windows domU, etc... ?Mats Petersson wrote:> This is non-trivial: > 1. Windows and Dom0 needs to run in parallel, or the device accesses > that are virtualized on behalf of the DomU would not be performed.I''m pretty sure that Jean-Eric doesn''t *want* them to be performed.. Per his original posting, he wants full hardware accelleration in both domains in full screen mode, so if whatever screen output the ''background'' domain makes is lost, that is fine. If the graphics card is a PCI device, Xen could simulate a PCI hot-unplug of the graphics adapter in one domU and a PCI hotplug in the other. Can AGP devices be hotplugged in this way? Don''t know. PCI-X? Probably, but I''m not sure ATI/NVIDIA drivers will cope, even if they should :-). Obviously an easier, albeit more expensive, approach is to just buy a motherboard with room for two PCI-X graphics adapters. One can be designated for one domU, the other for the other domU. Most flat screen monitors have dual input these days, so switching between your domains could even be done by clicking a button on your monitor :-). _______________________________________________ Xen-users mailing list Xen-users@lists.xensource.com http://lists.xensource.com/xen-users