Last night it was reported on VirtualBox not being convinced about Gallium3D
and what it could provide its virtualization stack not only in terms of better OpenGL acceleration for the guest virtual machines, but also for accelerating other APIs like OpenVG and OpenCL. This is coming a year after VMware rolled out its own Gallium3D driver
(called "SVGA") that allowed Gallium3D to work on its virtualization platform. But there's also another virtualized Gallium3D driver out there.
Over the night we found out about another Gallium3D driver for Xen virtualization that was actually written prior (more than a year in advance) to VMware's SVGA driver. In fact, it was even before VMware acquired Tungsten Graphics
, the company that conceived the Gallium3D driver architecture. We hadn't heard about it before, but this driver was just never advertised outside of a small community and isn't mentioned within the Gallium3D documentation nor was it ever merged into the mainline Mesa repository.
It turns out that engineers working for the Hewlett-Packard Labs in Bristol, UK that were focusing on OpenTC (Open Trusted Computing) had designed a driver called "vGallium" for this project. Below is the email we received from Wolfgang Weidner, who was one of the HP engineers working on the project.
"This though wouldn't be the first Gallium3D driver for a virtualized platform"
Actually this would be the third one. I was involved in the OpenTC project for HP-Laboratories in Bristol and in early 2008 we designed a virtual Gallium driver called vGallium for this (security focused) project. Chris Smowton from the Xen team at University of Cambridge did the reference implementation for Xen 3 right before Tungsten got acquired by VMWare. The implementation works well but was not advertised at all. It consists of a compositor application and paravirtual driver front-/backends. It allows to concurrently run virtualized clients from different VMs side by side. In theory it can give you a 3D-Linux desktop while layering a Windows game on top of it.. both fully accelerated. vGallium is open source, has well documented source code, and is still out there.
Just ask Google.
There are indeed mentions of vGallium within Google, but mostly within the SuSE/OpenTC communities. Unfortunately many of these links are now dead and the SVN repository for the vGallium driver appears dead as well. We're now working on tracking down the source, other details, and to see whether it would still work with the recently-released Xen 4.0