After a QXL KMS DRM driver
was finally published for improving the desktop virtualization experience with Red Hat's Linux virtualization stack in conjunction with SPICE on QEMU, a Gallium3D wrapper driver is now being talked about.
Before getting too excited, however, this wrapper driver is about only optimizing the 3D experience for ultimately passing calls to Gallium3D's Softpipe / LLVMpipe software-based drivers. This isn't about passing calls onto any hardware driver/GPU on the VM's host system for an accelerated experience, as is an option when using VMware's virtualization products or Oracle VirtualBox. This new initiative is just about being more efficient with less overhead in running LLVMpipe when the QXL DRM driver is loaded.
QXL is the virtual GPU for Red Hat's SPICE rendering protocol for use in their virtualization stack. Aside from the new DRM/KMS driver, for basic 2D with X.Org has been the basic QXL DDX driver
for some time, but when it comes to QXL 3D there hasn't been much love... However, for a long time there have been real Gallium3D aspirations
David Airlie of Red Hat wrote about this new QXL wrapper work in a mailing list thread
for Mesa developers. "So we have this virtual GPU with nothing approaching a 3D engine, so we are currently running llvmpipe with drisw on it. However this incurs some overheads that now that we have a kernel driver, I believe we can remove. The main overheads are putimage for all rendering from a 3D compositor and getimage calls for all texture-from-pixmap operations. So implementing a dri2 qxl driver that wraps llvmpipe operations using the sw winsys wrapper, seemed like a good idea."
So while this is a step forward for improving the desktop virtualization experience, using LLVMpipe is still a long ways from the GPU-capable VirtualBox and VMware solutions. For the near future at least, VMware's proprietary products are the only serious solution
for those needing Linux desktop 3D guest support.