One of the most exciting developments recently in the Virtualization World is the emergence of mature and highly performant remote 3D Graphics solutions. As expected, Citrix and NVIDIA are leading the charge here with full support for virtualized GPUs in the XenServer hypervisor. This is revolutionizing the delivery of high end graphical computing workloads remotely that, until recently, required dedicated local hardware to perform adequately. There is a groundswell occurring in industry, and among my consulting peers, in learning the best practices and approaches. In this regard, NVIDIA has done an oustanding job of collecting and sharing the relevant information. I received the data below from John Rendek at NVIDIA yesterday and was really pleased to see what they have assembled and shared here in full- Thank You NVIDIA for “Getting It”! **UPDATE** Jared Cowart filled me in that most of this of this data was compiled by Angelo Oddo, Senior Sales Engineer at Citrix. Mad Props to Angelo!

 

Citrix 3D Graphics Cheat Sheet   2/04/2014

Guides and Optimizations:

 

NVIDIA Resources:

 

 

NVIDIA-vGPU

VMware HDX Resources:

XenServer HDX Resources:

 

XenServer GPU commands:

 

List GPUs

lspci | grep VGA

 

Validate iommu is enabled

xe host-param-get uuid=<uuid_of_host> param-name=chipset-info param-key=iommu

 

Attach a VM to GPU

xe vm-shutdown

 

Find the UUID of the GPU Group

xe gpu-group-list

 

Attach GPU

xe vgpu-create gpu-group-uuid=<uuid_of_gpu_group> vm-uuid=< uuid_of_vm>

 

Validate GPU is Attached

xe vgpu-list

 

Start the VM

 xe vm-start

 

Detach a GPU

First, Shut down the VM using xe vm-shutdown

 

Find the UUID of the vGPU attached to the VM by entering the following:

xe vgpu-list vm-uuid=<uuid_of_vm>

 

Detach the GPU from the VM

xe vgpu-destroy uuid=<uuid_of_vgpu>

 

How to implement Citrix 3D Graphics Pack

Download Citrix XenServer 6.2 + SP1
Download NVIDIA GRID vGPU Pack for GRID K1 or GRID K2
Download Citrix XenDesktop 7.1 99 user trial or licensed software here (requires a MyCitrix ID)

1)     Start with a fresh XenServer 6.2 installation on GRID supported hardware

2)     Install XenServer 6.2 SP1

3)     Download the NVIDIA GRID vGPU Pack & install NVIDIA GRID manager in XenServer from CLI

4)     Create a base Windows 7 VM

5)     From XenCenter, assign a vGPU type to the base image

6)     Install NVIDIA GPU guest OS driver in the base image (available in the NVIDIA GRID vGPU Pack)

7)     Note: Drivers will not install if a GPU has not been assigned to the VM

8)     Install the XenServer Tools

9)     Install the latest version of Citrix HDX 3D Pro VDA 7.1

10)   Create a Machine Catalog using MCS or PVS

11)   Create a Delivery Group, assign users and publish the desktops

NVIDIA-XD7x

Tweaks for XenDesktop VDA:

  • The following Registry key setting will increase Frames per Second (FPS)

[HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\Graphics]“EncodeSpeed”=dword:00000001

 

  • The following registry key setting will ensure the screen is refreshed and eliminate artifacts of previously opened windows:

[HKEY_LOCAL_MACHINE\Software\Citrix\HDX3D\BitmapRemotingConfig]“HKLM_EnabledDirtyRect”=dword:00000000

 

Hotfixes, Drivers and Tool Downloads

*Primary Source