On Sun, 13 Dec 2009, Mark Williamson wrote: > There may be an option c) in existence. The OpenTC project (EU funded) > included a secure UI project and part of that involved a prototype > paravirtualised 3D driver. It was done primarily by a research assistant at > Cambridge University Computer Lab and basically added a paravirtual GPU > device > that essentially proxied Gallium-level commands across a shared memory > transport. > > There's a short paper on the work here, it was implemented for Xen but I > doubt > it's that Xen-specific: > http://www.xen.org/files/xensummit_oracle09/xensummit_chris.pdf > > I think there's a longer paper that might be available somewhere. > > I assume this is similar to the VMware approach, however as implemented it > did > require a Gallium 3D stack available on the host also in order to actually > render the stuff. ISTR the guy who worked on it mentioning that VMware may > have implemented a Gallium->high level 3D API translator on the host side > instead, since most hosts aren't using Gallium drivers yet. > > The main reason I mention this is that I *thought* the code was meant to be > open sourced, in which case it might at least be an interesting starting > point. I'm not quite sure where it *is* though! >
Yes, the code is available somewhere and might be a good starting point; I can retrieve it if you guys are really interested. However you should be aware that the Windows drivers are completely missing in this case too. I think this discussion is really interesting and it should be split it in two parts: the VGPU interface with 3d support, and 3d remoting. Both are difficult topics to discuss and both can (should?) be used independently from one another: a VGPU infrastructure can be used to render guest 3d commands on the host (see the VMware paper); 3d remoting can be used on native too. I am curious about the VMware MKS thread mentioned in the paper, that is the backend that receives rendering requests from the guest and executes them on the host: is that available somewhere? If it is closed source and cannot be reused for Qemu\KVM\Xen, we might as well design our own VGPU interface as we like.