Citrix Virtual Apps and Desktops - Multi-session Virtual Desktop with vGPU Hangs When Used in a Double-Hop Scenario

book

Article ID: CTX273317

calendar_today

Updated On:

Description

Published desktops running on a multi-session VDA with vGPU could get into a hung state when accessing other Citrix published resources in a Double-Hop scenario.

This will be observed when the Citrix executable wfica32.exe attempts to use GDI + Direct3D rendering in the published Desktop (called Hybrid mode).

 

Environment

Caution! Using Registry Editor 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.

Cause

The issue is due to a Microsoft bug in Direct3D exposed by the Hybrid Mode in Citrix Workspace App leverages DirectX11 for rendering. 
This was communicated to our partner Microsoft, there is no solution or ETA at this moment for a fix from Microsoft.

Resolution

To work around one of these strategies can be employed on the Multi-Session VDA hosting the shared Virtual Desktop: 

1. Enable GPU acceleration for Remote Desktop Services

  • On the VDA hosting the shared Virtual Desktop, Enable the Group Policy setting: Use the hardware default graphics adapter for all Remote Desktop Services sessions, located under: Computer Policy > Computer Configuration > Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host > Remote Session Environment.
  • This will improve the user experience and should prevent such hangs since GDI rendering should not be used by wfica32.exe in this scenario, only Direct3D rendering will be used.
  • Note: Enabling this policy will reduce the VM density per hypervisor significantly due to extra resources consumed by this feature.
  • The exact numbers depend on hypervisor and GPU profiles used for the individual VM's, this GPO will expose the vGPU to other applications not just Citrix Workspace App resulting in an increase in vGPU utilisation.

2. Disable the Hybrid mode feature by creating the following registry changes:

Caution! Refer to the Disclaimer at the end of this article before using the Registry Editor.

Note: this varies depending on the version of Citrix Workspace App (CWA) Installed on the Multi-session VDA:

For Citrix Workspace App 2503 and subsequent versions:

    1. On the VDA hosting the shared Virtual Desktop, create a new Registry Key named: GfxRender Under: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Citrix\ICA Client\Engine\Configuration\Advanced\Modules
    2. Under this GfxRender registry key create the following value:
      • Name: UseD3D11
      • type: REG_DWORD
      • Data: 0
    3. For the setting to take effect the system needs to be restarted.

For Citrix Workspace App LTSR 2402 and previous versions:

    1. On the VDA hosting the shared Virtual Desktop, create a new Registry Key named: GfxRender Under: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Citrix\ICA Client\Engine\Configuration\Advanced\Modules
    2. Under this GfxRender registry key create the following value:
      • Name: UseD3DHybrid
      • type: REG_DWORD
      • Data: 0
    3. For the setting to take effect the system needs to be restarted. 

Issue/Introduction

Published desktops running on a multi-session VDA with vGPU could get into a hung state when accessing other Citrix published resources in a Double-Hop scenario.