Blog
Citrix 3D Graphics Cheat Sheet and How to do Community Right!
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:
- Reviewer’s Guides for XenDesktop 7 HDX 3D Pro Graphics, on both XenServer and vSphere
- Thomas Poppelgaard.com*
- HDX 3D Pro on Citrix eDocs
- How many users can share a GPU?
- GPU Pass-through to XenApp
- Increasing 2D and 3D Application Scalability and Performance
- Unbeatable solutions for high-end 3D graphics
- Optimizations for Windows 8 and Windows Server 2012 virtual desktops
- Frequently Overlooked Settings to Improve Graphics Performance for XenApp, XenDesktop, Receiver Technologies
- Citrix Tested Hardware for HDX 3D Pro Feature in XenDesktop
NVIDIA Resources:
- NVIDIA GRID
- GRID Certified Servers
- Where to buy
- NVIDIA VDI Resources
- GPU Pass-through Devices
- How NVIDIA GRID Brings Amazing Graphics to the Virtualized Experience
- Delivering 3D Graphics from the Private or Public Cloud with XenDesktop and GRID
- GPU Accelerated XenDesktop for Designers and Engineers
- Sign up for GRID Newsletter
- GRID Youtube playlist
VMware HDX Resources:
- vSphere shared graphics acceleration
- HDX3D Pro desktops on vSphere 5.1
- Reviewer’s Guide to vSphere GPU Pass-through
XenServer HDX Resources:
- Introducing GRID™ vGPU – True hardware GPU sharing
- Preparing for true hardware GPU sharing for VDI with XenServer, XenDesktop and NVIDIA GRID
- Assign 4 vCPUs minimum per VM so that you won’t be oversubscribing CPU.
- Ensure you set the cores per socket correctly (http://support.citrix.com/article/CTX126524 ) as Windows 7 can support multiple cores, but only one socket, and XenServer presents the 4 CPUs as 2 sockets 2 cores by default.
- How to Resolve GPU Memory Mapping Issues in XenServer
- How to use host-cpu-tune to fine tune XenServer 6.2.0 performance
- How to investigate and use Turbo mode, C-States and P-States in XenServer
- Configuring vGPU and GPU pass-through using the PowerShell SDK for XenServer 6.2.0 Service Pack 1
- How to enable NVIDIA GRID vGPU support in XenServer 6.2 SP1 on Dell r720
- CPU Pinning To Increase Performance
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
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