I am constantly receiving questions about graphic performance in virtual desktops. This blog post will help you to better understand the 3D graphics state of affairs for VMware Horizon View 5.2.
Broadly speaking most leading VDI solutions on the market today are all talking about delivering new advanced 3D capabilities. VMware was the first company to virtualize 3D graphics with VMware Workstation and Fusion and in recent years has introduced this 3D technology in vSphere to be leveraged for VDI use cases.
NVIDIA has been on the forefront for enabling 3D virtual desktops with VDI vendors, and VMware has been working closely with NVIDIA to enable Horizon View to also makes use of the 3D technology. In this blog article I describe the VMware Horizon View 5.2 3D supported rendering models and use cases.
Soft 3D was introduced in VMware View 5.0. CPU rendering is used by 3D enabled desktops that are not backed by a physical GPU. The purpose of the Soft 3D renderer is to enable transparent Windows Aero desktops and standard productivity applications requiring 3D without requiring a GPU.
While VMware makes no specific claims about 3D applications or benchmarks in many cases we see 3D applications successfully being used in conjunction with Soft 3D CPU rendering.
Some of the advantages of CPU rendering are being able to run on any server hardware. However, the CPUs inefficiency in rendering graphics and the limited density can cause poor application performance in some cases, limiting the adoption of high-end graphical applications.
vSGA stands for “Virtual Shared Graphics Acceleration”. vSGA leverage physical GPUs (Graphics Processing Units) installed locally in each vSphere host to provide hardware accelerated 3D graphics to virtual desktops.
Providing this capability further expands the use cases and target users that can be delivered using virtual desktops. In addition to expanding the target use case this further augments the user experience that is delivered by enabling truly high performance graphics, but also delivering maximum compatibility and portability.
The VMware SVGA 3D graphics driver is supported on Windows 7 and 8 virtual desktops for 2D and 3D and is used for both Soft 3D & vSGA. Additionally, this WDDM driver provides support for DirectX v9 and OpenGL 2.1 applications.
One of the benefits of VMware SVGA 3D driver being used for both software 2D/3D and vSGA implementations is the fact that a VM can dynamically switch between software or hardware acceleration without the need to reconfigure the VM.
Because ESX is managing the underlying hardware resources and the software driver, this is also a major factor in why vMotion is supported even when providing hardware-accelerated graphics using vSGA. Having control over the hardware resources and the graphics driver in your image greatly simplifies management and deployment.
vSGA allows multiple VMs to share hardware GPU’s for 3D acceleration rather than a one-to-one relationship like vDGA (see below). vSphere reserves GPU hardware resources on a first-come, first-served basis as virtual machines are powered on. If all GPU hardware resources are already reserved additional virtual machines will be unable to power on if they are explicitly set to use “Hardware” 3D rendering. If the virtual machines are set to “Automatic” the virtual machines will be powered on using software 3D rendering.
vDGA is a graphics acceleration capability that is currently offered by VMware with NVIDIA GPUs as a Tech Preview and is enabled by Horizon View 5.2 for delivering high-end Workstation Class 3D Graphics for use cases where a discrete GPU is needed. The vDGA graphics adapters are installed in the underlying vSphere host and are then assigned to virtual machines using VMware DirectPath I/O. Assigning a discrete NVIDIA GPU to the Virtual Machine dedicates the entire GPU to that desktop and enables for CUDA and OpenCL compute.
vDGA offers a reduction in cost compared to individual high-end workstations, but they are a true graphical workstation replacement for high performance GPU computing.
The amount of VMs per host is limited to the number of PCIe x16 slots in the server, and when using vDGA the NVIDIA graphics drivers is used rather than the virtual machines VMware SVGA 3D driver.
Because of hardware passthrough and ESX not managing the resources of the physical graphics cards, vMotion, DRS, and HA are not supported with vDGA and because of the nature of the configuration vDGA is not a candidate for automated deployment using View Composer.
As of today only NVIDIA cards will be supported with vDGA and VMware is working closely with NVIDIA on graphics cards that will be validated soon.
For more information on hardware accelerated 3D graphics please refer to the VMware Horizon View 5.2 and Hardware Accelerated 3D Graphics technical white paper.
This article was first published by Andre Leibovici (@andreleibovici) at myvirtualcloud.net.