1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Memory
  5. Motherboards
  6. Processors
  7. Software
  8. Storage
  9. Operating Systems


Facebook RSS Twitter Twitter Google Plus


Phoronix Test Suite

OpenBenchmarking.org

VMware's New Graphics Architecture Is Shaping Up

Virtualization

Published on 14 January 2012 10:03 AM EST
Written by Michael Larabel in Virtualization
4 Comments

VMware's overhauled Linux graphics driver stack is shaping up and coming together nicely in time for Ubuntu 12.04 LTS, which will allow for 2D/3D guest acceleration within virtualized guest machines.

VMware's graphics stack for use on their virtualization platform has been a long time coming. Back in 2009 they introduced their Gallium3D driver and the adjoining Linux kernel DRM, but up until now both have been considered experimental / staging and not built by default. With Mesa 8.0 and the Linux 3.2 kernel that has changed with both being considered stable and good enough for default use by its customers. Their mainline DRM driver also does kernel mode-setting for its virtual "SVGA II" graphics adapter.

Best of all is that this virtual graphics driver stack is open-source and VMware continues paying the Tungsten Graphics developers it acquired to continue working heavily on upstream Mesa / Gallium3D. VMware has also merged their DDX driver improvements to master back in December.

In the process of maturing their VMware Gallium3D support, they also introduced the XA state tracker in 2011 as a new means of 2D acceleration on the Gallium3D architecture (similar to the Xorg state tracker), among other upstream Mesa advancements.

For those wishing to take advantage of this advanced 3D support, a development snapshot of xf86-video-vmware 12.0 DDX is needed (currently at 11.9.x development releases), the Linux 3.2 kernel or newer, and Mesa 8.0 or later. These Linux guest requirements should be met by Ubuntu 12.04 LTS, Fedora 17, and other upcoming Linux distribution releases. In terms of the VMware virtualization platform, VMware Workstation 8.0.2 or VMware Fusion 4.1.2 is required (it doesn't look like there will be 3D support for the free VMware Player).

Some limitations of this VMware 3D stack is that X Render won't be acelerated unless it's using previously-rendered 3D or video surfaces (i.e. X Render compositing window managers may produce poor results), and glxSwapBuffers on multi-monitor setups is slow (to be addressed in future VMware virtualization platform releases).

Another benefit of the landed VMware Linux driver improvements is that the DDX now supports RandR 1.2. Except if using any of the newer Resize and Rotate functionality, the VMware mouse may misbehave.

The 2D acceleration architecture in use for this new stack is SAA, which is short for the Shadow Acceleration Architecture. VMware's Shadow Acceleration Architecture merges EXA and Intel UXA. This architecture is meant to be very simple and for drivers where not all operations are backed by hardware acceleration. What SAA can do that the other architectures can't do as well is tracking what contents are accelerated. "The idea behind this is that it's often more costly to set up the accelerator state than to perform the render operation in software on cached memory. The drawback is that large copies or render operations are slower. EXA and UXA aren't tracking rendered areas carefully enough, and modifying EXA to do that would have required invasive changes in internal- and driver EXA apis."

In terms of how the Shadow Acceleration Architecture relates to the XA Gallium3D state tracker, VMware says, "XA is a freestanding acceleration API that is intended to be useful for X acceleration architectures. The VMware driver is using it to handle acceleration requests from SAA, but it could also theoretically be interfaced with EXA or UXA. The XA version used by xf86-video-vmware is naturally using Gallium3D to accelerate, but it should also be possible to implement XA on top of EGL, for example. XA has support for XRender-like operations and YUV conversions. It's used by xf86-video-vmware to accelerate XRender when needed, for accelerated copies when needed (glxSwapBuffers or compositing of previously accelerated contents), and for the textured XVideo adaptor."

These details about the driver enhancements are mentioned on the new X.Org VMware3D page.

This is just some cursory information about VMware's 2D/3D acceleration enhancements as my investigation is just beginning now that the stack is finally reaching a stable state. Expect graphics benchmarks of this platform in the coming weeks. There will also be comparison benchmarks to Oracle's VM VirtualBox and its 3D acceleration support.

There's also some early discussion about the "vmwgfx stuff" in the Phoronix Forums.

About The Author
Michael Larabel is the principal author of Phoronix.com and founded the web-site in 2004 with a focus on enriching the Linux hardware experience and being the largest web-site devoted to Linux hardware reviews, particularly for products relevant to Linux gamers and enthusiasts but also commonly reviewing servers/workstations and embedded Linux devices. Michael has written more than 10,000 articles covering the state of Linux hardware support, Linux performance, graphics hardware drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated testing software. He can be followed via and or contacted via .
Latest Linux Hardware Reviews
  1. Scythe Mugen MAX
  2. Intel Core i7 5960X Haswell-E On Linux
  3. Intel 80GB 530 Series M.2 SSD On Linux
  4. With A New Motherboard, The Core i7 5960X Haswell-E Lights Up
Latest Linux Articles
  1. Intel P-State vs. CPUFreq Benchmarks On The i7-5960X
  2. RadeonSI GLAMOR Benchmarks With X.Org Server 1.16
  3. RadeonSI Gallium3D vs. Catalyst At 4K UHD On Linux
  4. MSAA RadeonSI Gallium3D Performance Preview
Latest Linux News
  1. X.Org Server Shatter Project Fails
  2. X.Org Women Outreach Program Only Turns Up Two Applicants So Far
  3. Fedora 21 Alpha Finally Coming Next Week
  4. Ubuntu Touch/Phone Reaches Its First RTM Image
  5. The KMS Mode-Setting Driver Was Imported For X.Org Server 1.17
  6. SNA & UXA Intel Benchmarks With X.Org Server 1.16
  7. Graphics Driver Changes Coming In The Linux 3.18 Kernel
  8. Tropico 5 Being Released For Linux Gamers This Week
  9. Eclipse IDE Starts Firing Up On Wayland's Weston
  10. OpenSUSE Announcement On SUSE's Recent Merger
Latest Forum Discussions
  1. Stop grabbing my keyboard :(
  2. New Group Calls For Boycotting Systemd
  3. Updated and Optimized Ubuntu Free Graphics Drivers
  4. Best Radeon for a Power Mac G5?
  5. New stress testing utility for GPU's
  6. Hd 6850
  7. support for first generation UVD blocks (RV6xx, RS780, RS880 and RV790)
  8. Nvidia joins the ranks of Apple and Microsoft