Non-vGPU graphics cards
Non-vGPU graphics cards refer to graphics cards that don’t support the NVIDIA virtual GPU (vGPU) solution. This article provides information on using non-vGPU graphics cards.
Prerequisites
To use non-vGPU graphics cards, you must:
- Install XDamage as a prerequisite. Typically, XDamage exists as an extension of XServer.
- Set
CTX_XDL_HDX_3D_PRO
toY
when installing the Linux VDA. For information about environment variables, see Step 7: Set up the runtime environment to complete the installation.
Configuration
Modify Xorg configuration files
For NVIDIA graphics cards
If you are using an NVIDIA driver, the configuration files are installed and set automatically.
For other graphics cards
You must modify the four template configuration files installed under /etc/X11/
:
- ctx-driver_name-1.conf
- ctx-driver_name-2.conf
- ctx-driver_name-3.conf
- ctx-driver_name-4.conf
Using ctx-driver_name-1.conf as an example, do the following to modify the template configuration files:
-
Replace driver_name with your actual driver name.
For example, if your driver name is
intel
, you can change the configuration file name toctx-intel-1.conf
. -
Add the video driver information.
Each template configuration file contains a section named “Device,” which is commented out. This section describes the video driver information. Enable this section before adding your video driver information. To enable this section:
-
See the guide provided by the card manufacturer for configuration information. A native configuration file can be generated. Verify that your card can work in a local environment with the native configuration file when you are not running a Linux VDA session.
-
Copy the “Device” section of the native configuration file to ctx-driver_name-1.conf.
-
-
Run the following command to set the registry key so that the Linux VDA can recognize the configuration file name set in Step 1.
/opt/Citrix/VDA/bin/ctxreg create -k "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Citrix\XDamage" -t "REG_SZ" -v "DriverName" -d "intel" --force
Enable non-vGPU graphics
The non-vGPU graphics feature is disabled by default. You can run the following command to enable it by setting the XDamageEnabled value to 1.
/opt/Citrix/VDA/bin/ctxreg create -k "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Citrix\XDamage" -t "REG_DWORD" -v "XDamageEnabled" -d "0x00000001" --force
Monitor blanking for Remote PC Access VDAs
The Linux VDA supports physical monitor blanking for Remote PC Access VDAs that use non-vGPU graphics cards. This enhancement offloads graphics display to Extensible Virtual Display Interface (EVDI) virtual monitors.
Note:
The maximum number of EVDI virtual monitors varies for different distributions.
Monitor blanking works for Ubuntu 20.04, Debian 11.3, and Debian 10.9 VDAs. To use monitor blanking, complete the following two steps:
-
Install the
evdi-dkms
package based on your Linux distribution:sudo apt install evdi-dkms
-
Enable graphics display offloading to EVDI:
/opt/Citrix/VDA/bin/ctxreg create -k "HKLM\System\CurrentControlSet\Control\Citrix\Thinwire" -t "REG_DWORD" -v "Evdi" -d "0x00000001" --force
-
If you are using an Intel graphics card, disable the display manager. Otherwise, the Intel card is occupied by the display manager and not available for Citrix remote sessions.
sudo systemctl disable --now gdm
Troubleshooting
No or garbled graphic output
If you can run 3D applications locally and all configurations are correct, missing or garbled graphic output is the result of a bug. Use /opt/Citrix/VDA/bin/setlog and set GFX_X11 to verbose to collect the trace information for debugging.
Hardware encoding does not work
This feature supports only software encoding.