Issues with DirectX with Grid K1, VMWare


My company recently purchased a series of Dell R730 servers, all with a Nvidia GRID k1 installed, We run VMware vCenter 6.0, ESXi 6.0, and vSphere 6.0.

I got everything working and the Windows 2012 Server r2 64 bit VM’s are detecting the GRID card just fine.

I followed the pdf instructions on the driver download for vGPU Grid k1, for VMWare vSphere 6.0, this included uploading and installing the vib file, checking to see if it worked by running the nvidia-smi via ssh, verifying xorg was runing ,etc, everything on that side was correct.

On the Dell servers I disabled "Memory mapped i/o above 4g", set USB to back only (this was an issue for others on the VMware forum), and a few other recommended configurations by dell.

My company uses VNC and RDP to connect to our remote sessions, so these are the two protocols I’m using to test this, anyway, when I run FurMark (OpenGL benchmark) it runs great, and I get a benchmark in the 18fps range with AA x8 on, which is roughly what my desktop gets (impressive for a VM!). When I try to run DirectX applications, like 3dMark, Borderlands 2, etc, it crashes and I get the default DirectX compatibility issue error. I verified that DirectX 11 is installed and that I have the drivers for both VMWare (the VIB) and the driver for the windows platform (vGPU version) installed. I’ve gone through the installation 3 times and verified the steps, along with verifying nvidia-smi (shows the 4 cores of the grid), and xorg.

When I run dxdiag on the VMs it gives me the name of card for both name and chip type, and at the bottom is says DirectDraw disabled, Direct 3d enabled, and lastly AGP is disabled. I’ve tried this with both RDP and VNC.

Is this a protocol issue with RDP and VNC? Unfortunately it would be hard for us to switch away from either of those two, as we use a custom web based virtual desktop system within our organization and those are the supported platforms.

Sorry for all the detail, I wanted to make sure you knew what I had tried to make this working.

Thanks for any help you can provide!

Chris Nuland
IT DIrector, IN3

Unfortunately, an RDP session will not take advantage of the GPU. By default when you connect via RDP the session disables all hardware acceleration. In a recent update for the Nvidia drivers we implemented a solution to enable OpenGL functionality via RDP, however this cannot be extended to DirectX.

The only way to get GPU acceleration in RDP is to step up to using the RemoteFX protocol, connecting to a Windows 7/8 VM running on Hyper-V and configured for the RemoteFX Virtual Graphics Adapter. This is a substantial change to your infrastructure to address a protocol limitation.

There are many protocols which will support your platform, including Horizon VIEW (which you may already be licensed for), Citrix XenDesktop, NICE DCV, MechDyne Telegraphix and also HP’s RGS.

VNC has so many different variants you may find one that suits your needs, but all those listed above leverage the NVIDIA GRID SDK to give a much more advanced user experience.