GPU acceleration for Windows Desktop OS
With HDX 3D Pro, you can deliver graphically intensive applications as part of hosted desktops or applications on Desktop OS machines. HDX 3D Pro supports physical host computers (including desktop, blade, and rack workstations) and GPU Passthrough and GPU virtualization technologies offered by XenServer, vSphere, and Hyper-V (passthrough only) hypervisors.
Using GPU Passthrough, you can create VMs with exclusive access to dedicated graphics processing hardware. You can install multiple GPUs on the hypervisor and assign VMs to each of these GPUs on a one-to-one basis.
Using GPU virtualization, multiple virtual machines can directly access the graphics processing power of a single physical GPU. The true hardware GPU sharing provides desktops suitable for users with complex and demanding design requirements. GPU virtualization for NVIDIA GRID cards (see NVIDIA GRID) uses the same NVIDIA graphics drivers that are deployed on non-virtualized operating systems. GPU virtualization is also supported for fifth and sixth Generation Intel CPUs with Intel Iris Pro graphics with Intel GVT-g. For more information on these families of Intel processors, see fifth Generation Intel Core Processors and sixth Generation Intel Core i5 Processors. GPU virtualization is also supported for AMD FirePro S-Series server cards, see AMD Professional Graphics virtualization solution.
HDX 3D Pro offers the following features:
Adaptive H.264-based or H.265-based deep compression for optimal WAN and wireless performance. HDX 3D Pro uses CPU-based full-screen H.264 compression as the default compression technique for encoding. Hardware encoding with H.264 is used with NVIDIA, Intel, and AMD cards that support NVENC. Hardware encoding with H.265 is used with NVIDIA cards that support NVENC.
Lossless compression option for specialized use cases. HDX 3D Pro also offers a CPU-based lossless codec to support applications where pixel-perfect graphics are required, such as medical imaging. True lossless compression is recommended only for specialized use cases because it consumes more network and processing resources.
When using lossless compression:
The lossless indicator, a notification area icon, notifies the user if the screen displayed is a lossy frame or a lossless frame. This icon helps when the Visual Quality policy setting specifies Build to lossless. The lossless indicator turns green when the frames sent are lossless.
The lossless switch enables the user to change to Always Lossless mode anytime within the session. To select or deselect Lossless anytime within a session, right-click the icon or use the shortcut ALT+SHIFT+1.
For lossless compression: HDX 3D Pro uses the lossless codec for compression regardless of the codec selected through policy.
For lossy compression: HDX 3D Pro uses the original codec, either the default or the one selected through policy.
Lossless switch settings are not retained for subsequent sessions. To use a lossless codec for every connection, select Always lossless in the Visual quality policy setting.
You can override the default shortcut, ALT+SHIFT+1, to select or deselect Lossless within a session. Configure a new registry setting at HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\HDX3D\LLIndicator.
- Name: HKEY_LOCAL_MACHINE_HotKey, Type: String
The format to configure a shortcut combination is C=0 1, A=0 1, S=0 1, W=0 1, K=val. Keys must be comma “,” separated. The order of the keys does not matter.
- A, C, S, W and K are keys, where C=Control, A=ALT, S=SHIFT, W=Win, and K=a valid key. Allowed values for K are 0–9, a–z, and any virtual key code.
- For example:
- For F10, set K=0x79
- For Ctrl + F10, set C=1, K=0x79
- For Alt + A, set A=1, K=a or A=1, K=A or K=A, A=1
- For Ctrl + Alt + 5, set C=1, A=1, K=5 or A=1, K=5, C=1
- For Ctrl + Shift + F5, set A=1, S=1, K=0x74
Editing the registry incorrectly can cause serious problems that might require you to reinstall your operating system. Citrix cannot guarantee that problems resulting from the incorrect use of Registry Editor can be solved. Use Registry Editor at your own risk. Be sure to back up the registry before you edit it.
Multiple and high resolution monitor support. For desktop OS machines, HDX 3D Pro supports user devices with up to four monitors. Users can arrange their monitors in any configuration and can mix monitors with different resolutions and orientations. The number of monitors is limited by the capabilities of the host computer GPU, the user device, and the available bandwidth. HDX 3D Pro supports all monitor resolutions and is limited only by the capabilities of the GPU on the host computer.
HDX 3D Pro also provides limited support for dual-monitor access to Windows XP desktops. For more information about this support, see VDAs on machines running Windows XP or Windows Vista.
- Dynamic resolution. You can resize the virtual desktop or application window to any resolution. Note: The only supported method to change the resolution is by resizing the VDA session window. Changing resolution from within the VDA session (using Control Panel \ > Appearance and Personalization > Display \ > Screen Resolution) is not supported.
- Support for NVIDIA GRID architecture. HDX 3D Pro supports NVIDIA GRID cards (see NVIDIA GRID) for GPU passthrough and GPU sharing. NVIDIA GRID vGPU enables multiple VMs to have simultaneous, direct access to a single physical GPU, using the same NVIDIA graphics drivers that are deployed on non-virtualized operating systems.
- Support for VMware vSphere and VMware ESX using Virtual Direct Graphics Acceleration (vDGA) - You can use HDX 3D Pro with vDGA for both RDS and VDI workloads.
- Support for VMware vSphere/ESX using NVIDIA GRID vGPU and AMD MxGPU.
- Support for Microsoft HyperV using Discrete Device Assignment in Windows Server 2016.
- Support for Data Center Graphics with Intel Xeon Processor E3 Family. HDX 3D Pro supports multi-monitors (up to 3), console blanking, custom resolution, and high frame-rate with the supported family of Intel processors. For more information, see http://www.citrix.com/intel and http://www.intel.com/content/www/us/en/servers/data-center-graphics.html.
Support for AMD RapidFire on the AMD FirePro S-series server cards. HDX 3D Pro supports multi-monitors (up to 6), console blanking, custom resolution, and high frame-rate. Note: HDX 3D Pro support for AMD MxGPU (GPU virtualization) works with VMware vSphere vGPUs only. XenServer and Hyper-V are supported with GPU passthrough. For more information, see AMD Virtualization Solution.
- Access to a high-performance video encoder for NVIDIA GPUs, AMD GPUs, and Intel Iris Pro graphics processors. A policy setting (enabled by default) controls this feature. The feature allows the use of hardware encoding for H.264 encoding (where available). If such hardware is not available, the VDA falls back to CPU-based encoding using the software video codec. For more information, see Graphics policy settings.
As shown in the following figure:
- When a user logs on to Citrix Workspace app and accesses the virtual application or desktop, the Controller authenticates the user. The Controller then contacts the VDA for HDX 3D Pro to broker a connection to the computer hosting the graphical application.
The VDA for HDX 3D Pro uses the appropriate hardware on the host to compress views of the complete desktop or of just the graphical application.
- The desktop or application views and the user interactions with them are transmitted between the host computer and the user device. This transmission is done through a direct HDX connection between Citrix Workspace app and the VDA for HDX 3D Pro.
Install and upgrade NVIDIA drivers
The NVIDIA GRID API is not the default graphics capture mechanism, but you can enable GRID API for graphics capture. This section applies only when you enable GRID API for graphics capture.
The NVIDIA GRID API provides direct access to the frame buffer of the GPU. This connection provides the fastest possible frame rate for a smooth and interactive user experience. If you install NVIDIA drivers before you install a VDA with HDX 3D Pro, NVIDIA GRID is enabled by default.
To enable NVIDIA GRID on a VM, disable Microsoft Basic Display Adapter from the Device Manager. Run the following command and then restart the VDA:
NVFBCEnable.exe -enable -noreset
If you install NVIDIA drivers after you install a VDA with HDX 3D Pro, NVIDIA GRID is disabled. Enable NVIDIA GRID by using the NVFBCEnable tool provided by NVIDIA.
To disable NVIDIA GRID, run the following command and then restart the VDA:
NVFBCEnable.exe -disable -noreset
Install Intel graphics drivers
You can install the Intel graphics drivers before installing the VDA. The following step is required if you install Intel drivers after you install a VDA with HDX 3D Pro. The step is also required if the Intel driver has been updated.
To enable the Intel drivers required for multi-monitor support, run the following command using the IntelVirtualDisplayTool.exe, then restart the VDA: IntelVirtualDisplayTool.exe -vd enable
IntelVirtualDisplayTool.exe is included with the VDA installer. The IntelVirtualDisplayTool.exe is in C:\Program Files\Citrix\ICAServices.
Uninstalling NVIDIA, AMD, or Intel drivers within ICA sessions is not supported.
Optimize the HDX 3D Pro user experience
To use HDX 3D Pro with multiple monitors, ensure that the host computer is configured with at least as many monitors as are attached to user devices. The monitors attached to the host computer can be either physical or virtual.
Do not attach a monitor (either physical or virtual) to a host computer while a user is connected to the virtual desktop or application providing the graphical application. Doing so can cause instability during a user’s session.
Let your users know that changes to the desktop resolution (by them or an application) are not supported while a graphical application session is running. After closing the application session, a user can change the resolution of the Desktop Viewer window in the Citrix Workspace app - Desktop Viewer Preferences.
When multiple users share a connection with limited bandwidth (for example, at a branch office), we recommend that you use the Overall session bandwidth limit policy setting to limit the bandwidth available to each user. Using this setting ensures that the available bandwidth does not fluctuate widely as users log on and off. Because HDX 3D Pro automatically adjusts to use all the available bandwidth, large variations in the available bandwidth over the course of user sessions can negatively impact performance.
For example, if 20 users share a 60 Mbps connection, the bandwidth available to each user can vary between 3 Mbps and 60 Mbps, depending on the number of concurrent users. To optimize the user experience in this scenario, determine the bandwidth required per user at peak periods and limit users to this amount always.
For users of a 3D mouse, we recommend that you increase the priority of the Generic USB Redirection virtual channel to 0. For information about changing the virtual channel priority, see the Knowledge Center article CTX128190.