未虚拟化的 GPU
在 Linux VDA 文档中,未虚拟化的 GPU 是指:
- Remote PC Access 场景中使用的 GPU
- 从虚拟机管理程序传递的 GPU
本文提供了有关支持非虚拟化 GPU 的信息。
为支持适用于 Linux 的 NVIDIA Capture SDK 的 NVIDIA GPU 启用 HDX 3D Pro
对于支持适用于 Linux 的 NVIDIA Capture SDK 的 NVIDIA GPU,只需在安装 Linux VDA 时将 CTX_XDL_HDX_3D_PRO 设置为 Y 即可启用 HDX 3D Pro。无需执行其他配置。启用 HDX 3D Pro 后,硬件加速默认处于启用状态。
与不支持适用于 Linux 的 NVIDIA Capture SDK 的 NVIDIA GPU 以及 AMD 和 Intel 等其他制造商提供的 GPU 兼容
注意:
在这种情况下,仅支持软件编码。
步骤 1:安装 Linux VDA 时将 CTX_XDL_HDX_3D_PRO 设置为 Y
有关环境变量的信息,请参阅步骤 8:设置运行时环境以完成安装。
步骤 2:安装 Xdamage
例如,您可以运行 sudo apt-get install -y libxdamage1 在 Ubuntu 20.04 上安装 XDamage。通常情况下,XDamage 是作为 XServer 的扩展程序。
步骤 3:通过运行以下命令启用 XDamage
/opt/Citrix/VDA/bin/ctxreg create -k "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Citrix\XDamage" -t "REG_DWORD" -v "XDamageEnabled" -d "0x00000001" --force
<!--NeedCopy-->
步骤 4:修改 Xorg 配置文件
可以在 /etc/X11 下找到下面四个模板配置文件。根据连接的显示器的数量,修改其中一个名称中带相应数量的模板配置文件。例如,如果仅连接了一台显示器,请修改名称中带数字 1 的模板配置文件,即 ctx-driver_name-1.conf。如果连接了两台显示器,请修改名称中带数字 2 的模板配置文件,即 ctx-driver_name-2.conf。
- ctx-driver_name-1.conf
- ctx-driver_name-2.conf
- ctx-driver_name-3.conf
- ctx-driver_name-4.conf
以 ctx-driver_name-1.conf 为例,执行以下操作来修改模板配置文件:
-
将 driver_name 替换为实际的驱动程序名称。
例如,如果您的驱动程序名称为
intel
,可以将配置文件名称更改为ctx-intel-1.conf
。 -
添加视频驱动程序信息。
每个模板配置文件都一个包含名为“Device”的部分,这部分被注释掉。本节介绍视频驱动程序信息。请在添加您的视频驱动程序信息之前先完成本节内容。要启用本部分内容,请执行以下操作:
-
请参阅 GPU 制造商提供的指南以了解配置信息。可以生成本机配置文件。使用本机配置文件验证您的 GPU 是否可以在本地环境中运行。
-
将本机配置文件的“Device”部分复制到 ctx-driver_name-1.conf。
-
-
运行以下命令来设置注册表项,以使 Linux VDA 能够识别在步骤 1 中设置的配置文件名称。
/opt/Citrix/VDA/bin/ctxreg create -k "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Citrix\XDamage" -t "REG_SZ" -v "DriverName" -d "intel" --force <!--NeedCopy-->
监视 Remote PC Access VDA 的空白
对于使用未虚拟话的 GPU 的 Remote PC Access VDA,Linux VDA 支持物理显示器遮蔽。
支持该功能的经过全面测试的 Linux 发行版包括 Ubuntu 20.04 和 Debian 11.3。
默认情况下,该功能处于禁用状态。要将其启用,请完成下面两个步骤:
-
根据您的 Linux 发行版安装
evdi-dkms
软件包:sudo apt install evdi-dkms <!--NeedCopy-->
-
启用图形显示卸载到 EVDI:
/opt/Citrix/VDA/bin/ctxreg create -k "HKLM\System\CurrentControlSet\Control\Citrix\Thinwire" -t "REG_DWORD" -v "Evdi" -d "0x00000001" --force <!--NeedCopy-->
-
如果您使用的是 Intel GPU,请禁用显示管理器。否则,显示管理器会占用 Intel GPU 并使其无法用于 Citrix 远程会话。
sudo systemctl disable --now gdm <!--NeedCopy-->
故障排除
无图形输出或图形输出为乱码
如果您可以在本地运行 3D 应用程序,且所有配置均正确,则丢失图形输出或图形输出为乱码是因为缺陷。请使用 /opt/Citrix/VDA/bing/setlog 并将 GFX_X11 设置为“verbose”来收集跟踪信息以进行调试。