A blank or corrupt screen is displayed when connecting to Windows 7 XenDesktop Virtual Delivery Agents (standard mode) on a client which has one or more 4K resolution monitors.
Complete the following procedure:
Check for the current "System Video Memory" allocation located in the Control Panel, Display, Advanced Settings:
Calculate the video memory that is required for all monitors using the following formula:
Sum of total monitors (Width * Height * 8) where width and height are resolution of the monitor.
To get a visualization of the video memory required and size up the MaxVideoMemoryBytes for your specific environment, download sysinternals process explorer and observe the GPU Dedicated Memory graph (View > System Information, or Ctrl+I > GPU tab) inside an active Citrix connection:
Open the registry (regedit) and navigate to:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\vd3d
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\vbdenum
Increase the value of "MaxVideoMemoryBytes” REG_DWORD value in both keys to the above calculated memory. Note: Multiple the value by 1024 to get the desired values in Bytes. See https://support.citrix.com/article/CTX200073 for example values.
Reboot the VDA.
Note: The VDA machine must have enough system memory in order for Windows to be able to allocate video memory as needed. This process is controlled by the Windows OS and the amount of memory allocated may vary per machine or between reboots. The MaxVideoMemoryBytes key(s) should only be used in conjunction with the "Citrix Systems - WDDM Display Driver". If the "Citrix Display Only Adapter" is in use, then these keys should not be set as memory is allocated dynamically. Not applicable for Windows server 2022 as driver does not exist on same.
The Citrix WDDM driver requests a 64MB allocation for the video memory buffer at boot time, but for a 4K resolution display 64MB is not sufficient.