RE: [Xen-users] hardware accelerated 3D-graphics in Win-XP-domU possible
> -----Original Message-----
> From: xen-users-bounces@xxxxxxxxxxxxxxxxxxx
> [mailto:xen-users-bounces@xxxxxxxxxxxxxxxxxxx] On Behalf Of
> Mark Williamson
> Sent: 22 March 2006 12:29
> To: Martin Nicolay
> Cc: xen-users@xxxxxxxxxxxxxxxxxxx
> Subject: Re: [Xen-users] hardware accelerated 3D-graphics in
> Win-XP-domU possible?
> > > Further in the future:
> > > * Jacob Gorm Hansen has written a paravirtualised 3d
> driver called
> > > "blink" that may allow this (nb. currently for Linux /
> Unix guests)
> > > * You might be able to give Linux guests access to a separate PCI
> > > graphics card using the PCI assignment stuff
> > >
> > > If you want Windows games, I guess you could use Wine /
> Cedega ....
> > > ? Of course if you did that, you might as well run in
> dom0 or on native Linux!
> > Unfortunately every time I purchase a new game it's not
> supported by
> > Cedega. Half of the games are supported after a year.
> > > Further developments include efforts by some companies to
> develop a
> > > virtualisation-aware 3d graphics card that'll support multiple
> > > virtual machines, and the IOMMU work mentioned. It'd also be
> > > possible to emulate a full 3d card to the Windows guest, but it's
> > > not clear that'd be worth the effort.
> > If necessary I would dedicate a graphics card exclusive for
> the Win-domU.
> > But the IOMMU work is still necessary.
> > I had thought a Win-XP virtual graphics-driver could
> forward the domU
> > direct-x3d calls to a dom0 wine-proxy. This proxy would use the
> > accelerated hardware. Ignorance about problems in this
> field leads to
> > interesting thoughts ;-).
> This is a bit like what Jacob's Blink driver does (except
> that his works for OpenGL). Doable in principle, just nobody
> is hacking on it at the moment.
> If it was made to work it would be extremely cool!
Yes, it's definitely doable - and the beauty of MS's foresight when it
comes to a flexible driver design means that if you don't fancy
implementing a complicated driver function, you can tell Windows "I
can't do this" - either by returning a special return value, or by not
giving a function-pointer to that function in the first place. Windows
will then work around the problem by doing it with more basic
functionality from the driver. For a 2D driver, this means that you
would only have to implement something like 5 different driver calls to
start off - anything else can be implemented as "speed optimisations"
later on. And this driver would probably still be faster than the
current QEMU emulation - as the current QEMU emulation uses a pretty
standard VGA driver, which doesn't do much more than the bare minimum in
"advanced" operations anyways.
Obviously, to get good 3D performance, a fair bit of D3D has to be
implemented, but far from all of it.
> 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 mailing list