非虚拟化 GPU
在 Linux VDA 文档中,非虚拟化 GPU 指的是:
- 在远程电脑访问场景中使用的 GPU
- 从虚拟机管理程序直通的 GPU
本文提供有关支持非虚拟化 GPU 的信息。
Enable HDX™ 3D Pro for NVIDIA GPUs that support the NVIDIA Capture SDK for Linux
对于支持 (https://developer.nvidia.com/capture-sdk) 的 NVIDIA GPU,在安装 Linux VDA 时,只需将 CTX_XDL_HDX_3D_PRO 设置为 Y 即可启用 HDX 3D Pro。无需额外配置。启用 HDX 3D Pro 后,硬件加速默认启用。
兼容不支持 NVIDIA Capture SDK for Linux 的 NVIDIA 图形处理器,以及 AMD 和 Intel 等其他制造商的图形处理器
注意:
在此场景中,仅支持软件编码。
步骤 1:安装 Linux 虚拟桌面代理 时将 CTX_XDL_HDX_3D_PRO 设置为 Y
有关环境变量的信息,请参阅 步骤 8:运行轻松安装以配置环境和 VDA 以完成安装。
Step 2: Install Xdamage
For example, you can run sudo apt-get install -y libxdamage1 to install XDamage on Ubuntu 20.04. Typically, XDamage exists as an extension of 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
- 上下文-驱动程序名称-3.配置文件
- 上下文-驱动程序名称-4.配置文件
以 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-->
适用于远程 PC 访问 VDA 的显示器消隐
Linux VDA 支持使用非虚拟化 GPU 的远程 PC 访问 VDA 的物理显示器消隐。
支持此功能的经过全面测试的 Linux 发行版包括 Ubuntu 20.04 和 Debian 11。
此功能默认禁用。要启用此功能,请完成以下两个步骤:
-
根据您的 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/bin/setlog 并将 GFX_X11 设置为 verbose 以收集跟踪信息进行调试。