VMware View 3D Gaming Experience

View 3D ExperienceFor those of you who follow me on twitter you may well have seen me tweeting about the View 3D Experience over the duration of both of this years VMworlds.

Myself and a colleague Tim Federwitz (virtuallygeeky.com) had been tasked to showcase VMware's vSGA (Virtual Shared Graphics Acceleration) that will be released in the next release of VMware View at some point in H1 2013.

What is vSGA?

Before I go into what we had running at VMworld, I'll just go into a little more detail about vSGA (Virtual Shared Graphics Acceleration).

With the release of vSphere 5.1, VMware added a feature to accelerate View workloads by installing physical graphics cards into the ESXi host. In the next release of View we are adding vSGA to enable this feature over PCoIP. vSGA is a feature which allows multiple virtual machines to offload their 3D rendering to a physical graphics card that is installed directly into the ESXi host. So effectively what we are doing is virtualizing the physical GPU resources to allow more than one virtual machine to access the graphics card.

View 3D Experience at VMworld 2012

So now that we understand the technology a little better let's dive into what the View 3D Experience actually is. Our objective for VMworld was to showcase the vSGA feature so customers could can see how vSGA can offer their virtual desktop users a really responsive experience even when using what would usually be considered as "Graphic Intensive" application, such as CAD or any other heavy 3D applications.

The guys in my team who originally started out on this project felt that having a bunch of workstations just displaying CAD software wouldn't really be attractive to passers-by, so the decision was made to see if we could showcase 3D gaming instead. I mean, who works in IT and isn't interested in gaming??

VMworld US Setup

Being v1.0 of the lab, everything was very much cobbled together to get it all running. My colleague Tim has blogged all of the technical specs of the Labs on his great blog post here: Virtualized 3D Gaming On VMware View Realized!!. I have included them here for completeness, but I'd highly recommend taking a look at Tim's post.

  • Two (2) SuperMicro – Dual socket 6-Core Xeon's @ 2.0GHz
  • 128GB of RAM per host (though the VMs didn't need more than 2GB each)
  • A single Nvidia Quadro 6000 GPU w/6GB of VRAM in each host 
  • 6 x Wyse Z90 Thin Clients
  • 6 x Wyse P25 Zero Clients 

In San Francisco we showcased two games; Borderlands and Minecraft. 

We were running vSphere 5.1 and an Alpha release of View to get this up and running. As this was all Alpha code we had difficulties getting games to run at all in a virtual machine, especially Steams games. Whenever we tried to fire-up a Steam installed game, it would try and load and then just crash leaving no errors. With time running out before the show, Borderlands and Minecraft seemed work so the team stuck with those games for VMworld US. Even though these games would run, we had issues where Borderlands required a new feature coming in the next release of View called "Relative Mouse" which maps the client mouse movement differently to how it is normally done. Without that feature, mouse tracking in-game was impossible. In edition to that, we found that if we took the games above 800×600 resolution they became unplayable for some reason, so we had to keep them at that low res the whole time.

Towards the end of the show we started to look a little closer at why we weren't able to get the performance we expected. With the help of many of the VMware product managers we soon identified that the Minecraft desktops were hitting the GPU really hard causing the other desktops to suffer. We found that a single Minecraft desktop on its own could use around 75% of the GPU! We believe it was down to the OpenGL rendering that Minecraft used as Borderlands, which used DirectX 9, was hardly using any resources.

Here is a short video that Tim Federwitz took of the desktops in the US.

VMworld EMEA Setup

  • Two (2) Dell T620s – Single 6-Core Xeon E5-2640 @ 2.5GHz
  • 32GB of RAM per host
  • A single Nvidia Quadro 6000 GPU w/6GB of VRAM in each host (the motherboard had four (4) PCIe x16 slots in it, although only 2 slots per CPU socket. The PSU did not have PCIe power cables, so we had to get creative to make things work for the show… 
  • 4 x Wyse Z90 Thin Clients
  • 2 x P25 Zero Client

As you can see, a slightly smaller lab with completely different servers.

Between San Francisco and Barcelona, I got some time to see if I could get some different games to work. Eventually I was able to get most games to run that required DirectX9c or less. We decided to go with Quake3 and Counter-Strike:Source (CS:S) as these were games I already had at home and both had a dedicated server option which would allow players to play against each other over the LAN.

Due to illness I was late getting to Barcelona, so for the first day or so Tim decided to stick to the games that we used in the US as we knew they worked. Once I arrive we were able to import the pre-prepared gaming VM's that I had created in my homelab. We setup three Quake3 desktops which seemed to run really smoothly on the Z90's using the "Relative Mouse" option. Quake3 was un-playable without this option enabled. The remaining three desktops we setup to run CS:S. However during initial testing we noticed some regular freezing whilst users were playing which made it a little un-playable. So we deployed Borderland onto two of the three desktops which allowed us to troubleshoot the CS:S issue. After some investigation and some support from the engineering team at VMware we were able to apply this setting to fix the problem: Turbo-Charge View Video Performance. Now we were cooking!!!! CS:S ran like a dream.

So, being IT bods we decided to see how far we could push CS:S before performance degraded. Below is a video displaying how far we got.

What you are seeing in that video is a VMware View virtual desktop running on a vSphere 5.1 host with an Nvidia Quadro 6000 GFX card installed. On the VMware View desktop is Counter-Strike:Source running at 1080p over PCoIP to a Wyse P25 Zero Client. Yes, this is pretty amazing I'm sure you all agree.

But still we took it a step further…..

Now you are seeing double. We wanted to make sure that adding a second 1080p CS:S desktop didn't cause too much load on the Nvidia GPU. Clearly, there was no issues there.

In such a small space of time we were able to go from having Borderlands/Minecraft only running in 800×600 to CS:S running at 1080p. 

The future of the View 3D Experience

This isn't the end by any means. You will see the View 3D Experience at both the vForum in Singapore and the UK VMUG in November. So if you are interested to see more, come and find us.

We also have plans to be at VMworld in 2013. As always, these plans might change, but Tim and I are already looking ahead and thinking about how to improve on what was achieved so far.

A big thanks to Tim Federwitz for allowing the use of his videos on my post.