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. The MSI X99S SLI PLUS Is Working & Running Well On Linux
  2. NVIDIA GeForce GTX 980: The Best GPU For Linux Gamers
  3. ROCCAT LUA: A Linux-Friendly Gaming Mouse
  4. Cheetah Mounts: The Affordable Way To Put Your TV On The Wall
Latest Linux Articles
  1. Preview: Radeon Gallium3D Performance For CS:GO On Linux
  2. XWayland Linux Gaming Performance With GNOME Wayland On Fedora 21
  3. EXT4/Btrfs/XFS/F2FS Benchmarks On Linux 3.17
  4. Fedora 21 Alpha First Impressions: It's Great
Latest Linux News
  1. Radeon DRM Gets New Information Ioctl Queries
  2. Mir 0.8 Works On Less ABI Breakage, Touchspots, Responsiveness
  3. CS:GO For Linux Gains Better Stability, Community Server Support
  4. NVIDIA Issues Updated 340.46 Long-Lived Driver Release
  5. KDE Plasma 5.1 Now In Beta
  6. Systemd & Debian Were Most Popular In September
  7. Microsoft Announces... Windows 10 With A Start Menu
  8. Borderlands 2 Launches On Steam For Linux
  9. Debian Jessie Might Get Rid Of The kFreeBSD Port
  10. Fedora Might Try A New Scheduling Strategy For Its Releases
Latest Forum Discussions
  1. Microsoft Announces... Windows 10 With A Start Menu
  2. NVIDIA Alerts Nouveau: They're Starting To Sign/Validate GPU Firmware Images
  3. Updated and Optimized Ubuntu Free Graphics Drivers
  4. Nero CD/DVD Burning Software On Linux Is Dead
  5. New Group Calls For Boycotting Systemd
  6. FSF Issues Statement On Shellshock Bash Vulnerability
  7. X.Org Women Outreach Program Only Turns Up Two Applicants So Far
  8. X.Org Is Looking For Some Female Help