VMware's Virtual GPU Driver Is Running Fast
For the past few years VMware has been improving the graphics acceleration support that is available via their virtualization platform. VMware -- through their 2008 acquisition of Tungsten Graphics -- has effectively re-written their graphics driver for their virtual "SVGA II" GPU to take advantage of the Gallium3D driver architecture, a new acceleration architecture, and many other improvements. This work has finally come together and is now working rather nicely.
VMware originally introduced its virtual Gallium3D driver in November of 2009. Since then this "vmwgfx" Gallium3D driver has not been enabled-by-default within Mesa nor has the libdrm API for vmwgfx been enabled by default. Around the same time VMware also went for mainline inclusion of its DRM graphics driver, which hit the mainline Linux kernel within the staging area. Going on three years this VMware virtual graphics driver code has been publicly available and within mainline code-bases, but not easily available to most desktop users.
Even before their first-cut implementation left the staging area and set to be enabled by default, they planned to make some major changes in 2011. They were successful, those changes are done, and this work is now ready for primetime. As part of this vmwgfx upbringing they also introduced the new XA state tracker as a new X.Org (2D) acceleration over the Gallium3D architecture by the former Tungsten Graphics developers.
To put it simply, all of the VMware driver pieces have finally landed. With the Linux 3.2 kernel or later, Mesa 8.0 or later, and xf86-video-vmware 11.9+ (12.0 will be its official release) all of the pieces are in place and not in an "experimental" capacity. One of the first distributions to be shipping all of the pieces of this puzzle is Ubuntu 12.04 LTS, which will officially debut in April. A few days ago the updated Mesa stack landed in the Ubuntu 12.04 development repository, which included the updated VMware DDX driver, the VMware Gallium3D driver enabled atop Mesa 8.0, and the XA state tracker built by default. Having all of that ready to provide a nice "out of the box" experience I ran some tests.
In this article are benchmarks of the VMware graphics driver stack compared to running the OpenGL benchmarks on bare metal. There are also some comparisons of VMware's virtual GPU to that of Oracle's VM VirtualBox graphics implementation.