GRID K2, VMware vSphere 5.1 U2 vDGA, and XenApp 7.5

I have spent hours looking into this topic and can’t find a clear answer to the following two questions. More details are below the questions.

  1. Is this a thing that can be done: two Windows Server 2012 R2 virtual machines utilizing one GPU each from a NVIDIA GRID K2 via GPU passthrough/vDGA on VMware ESXi 5.1 U2, with applications requiring OpenGL published via XenApp 7.5.
  2. Does XenApp support "HDX 3D Pro" or is that only a XenDesktop thing? I ask because a software vendor states that we will only succeed (read: get acceptable graphics performance) if we do HDX 3D Pro.

I see a lot of references to XenServer and GPU passthrough and VDI solutions like XenDesktop, but we aren’t looking at any VDI solution. What we are looking to do is to have a single HP ProLiant DL380p Gen8 with a single NVIDIA GRID K2, install VMware ESXi 5.1 U2, install two Windows Server 2012 R2 virtual machines, configure GPU passthrough/vDGA to pass one of the two GRID K2 GPUs to each of the VMs, and run the server as a XenApp server to serve the applications ArcGIS and ERDAS IMAGINE and possibly AutoCAD to multiple users (i.e. more than one per VM), all with GPU acceleration for good 3D performance via the XenApp session.

Is this a feasible and, as far as everyone is aware, supported scenario? Can I expect good 3D performance in the XenApp application sessions?

Hi, Scott… I’m certainly not the best person to answer this, but from what I know and direct experience with XenServer, which is undoubtedly not quite the same as with ESX as the platform, here is what I can offer:

  1. Yes, you can assign a K2 engine separately to two different Windows Server 2012 R2 VMs, at least under XenServer that’s possible. They are on the same physical server in this case.
  2. XenDesktop is needed as a main platform to support HDX 3D Pro (see for example ).If you map apps from XenApp to a XenDesktop platform under XenServer at least, you can leverage that, I’m pretty sure, though I have only ever gotten openGL to work and not the DirectX 9 or 11 Unigine tests. I’d be very curious to know why that does not work, if someone can shed light on that.


Yes, but it depends on your applications, the user load and density etc.

The GPU is still a finite resource and you’re letting the OS manage the load sharing between sessions.

Regarding point two, that link is for XenDesktop 5.5. We have XenApp 7.5, which is based on XenDesktop’s architecture. I found the relevant HDX 3D Pro section for XenApp 7.5 and it looks like it does HDX 3D Pro:

Thanks Jason!

Yes, that was an old link – sorry about that, yours is way newer. If HDX 3D Pro is enabled I would also think/hope there would be some sort of fallback for instances where that protocol isn’t supported and and the output would be handled some other way. It would be really nice if there were a comprehensive table indicating the full path from server to client and what all is supported and under what conditions.


This recent blog from Citrix covers a lot of what’s available where and when in the Citrix protocol

Not quite the flow chart, but all the information’s there…