配置图形
本文提供了有关 Linux VDA 图形配置和优化的指导。
-
配置
- Thinwire 是 Linux VDA 中使用的显示远程处理技术。该技术允许将一台计算机上生成的图形(通常通过网络)传输到另一台计算机进行显示。
使用视频编解码器进行压缩 图形策略设置默认图形模式,并为不同的用例提供以下选项:
- 在首选时使用。此设置为默认值。无需进行额外配置。保留此设置可确保为所有 Citrix® 连接选择 Thinwire,并针对可扩展性、带宽和典型桌面工作负载的卓越图像质量进行优化。
- 针对整个屏幕。通过全屏 H.264 或 H.265 提供 Thinwire,以优化用户体验和带宽,尤其是在大量使用 3D 图形的情况下。
- 针对活动更改区域。Thinwire 中的自适应显示技术可识别移动图像(视频、运动中的 3D),并且仅在图像移动的屏幕部分使用 H.264。选择性使用 H.264 视频编解码器 使 HDX Thinwire 能够检测并编码使用 H.264 视频编解码器频繁更新的屏幕部分,例如视频内容。屏幕的其余部分(包括文本和摄影图像)继续使用静态图像压缩 (JPEG、RLE) 和位图缓存。用户可以获得更低的带宽和更高质量的视频内容,同时在其他地方获得无损文本或高质量图像。要启用此功能,请将策略设置“使用视频编解码器进行压缩”更改为“在首选时使用”(默认)或“针对活动更改区域”。有关详细信息,请参阅图形策略设置。

其他一些策略设置(包括以下视觉显示策略设置)可用于优化显示远程处理的性能:
在 Thinwire 中将 H.264 用于“构建到无损”
默认情况下,“视觉质量”策略设置的“构建到无损”首选项现在是 H.264,而不是用于移动图像的 JPEG。
H.264 编码可提供卓越的图像质量。“使用视频编解码器进行压缩”策略控制该首选项,默认值为“在首选时使用”。要强制“构建到无损”使用 JPEG,请将“使用视频编解码器进行压缩”策略设置为“不使用视频编解码器”。如果您的客户端不支持选择性 H.264,“构建到无损”将回退到 JPEG,无论策略设置如何。Citrix Receiver for Windows 4.9 到 4.12、Citrix Receiver for Linux 13.5 到 13.10、Citrix Workspace app 1808 for Windows 及更高版本以及 Citrix Workspace app 1808 for Linux 及更高版本均支持选择性 H.264。有关“视觉质量”和“使用视频编解码器进行压缩”策略设置的详细信息,请参阅视觉显示策略设置和图形策略设置。
支持 H.265 视频编解码器
从 7.18 版本开始,Linux VDA 支持 H.265 视频编解码器,用于远程图形和视频的硬件加速。您可以在 Citrix Receiver for Windows 4.10 到 4.12 以及 Citrix Workspace app 1808 for Windows 及更高版本上使用此功能。要利用此功能,请在 Linux VDA 和客户端上都启用它。如果客户端的 GPU 不支持使用 DXVA 接口进行 H.265 解码,则会忽略“H.265 图形解码”策略设置,并且会话将回退到使用 H.264 视频编解码器。有关详细信息,请参阅 H.265 视频编码。
要在 VDA 上启用 H.265 硬件编码:
- 启用“使用视频编解码器进行硬件编码”策略。
- 启用“优化 3D 图形工作负载”策略。
- 确保“使用视频编解码器进行压缩”策略为默认值或设置为“针对整个屏幕”。
- 确保“视觉质量”策略未设置为“构建到无损”或“始终无损”。
要在客户端上启用 H.265 硬件编码,请参阅 H.265 视频编码。
支持 YUV444 软件编码
Linux VDA 支持 YUV444 软件编码。YUV 编码方案为每个像素分配亮度和颜色值。在 YUV 中,’Y’ 表示亮度或“luma”值,’UV’ 表示颜色或“chroma”值。您可以在 Citrix Receiver for Windows 4.10 到 4.12 以及 Citrix Workspace app 1808 for Windows 及更高版本上使用 Linux VDA 的此功能。
每个唯一的 Y、U 和 V 值包含 8 位(即一个字节)数据。YUV444 数据格式每像素传输 24 位。YUV422 数据格式在两个像素之间共享 U 和 V 值,这导致平均传输速率为每像素 16 位。下表显示了 YUV444 和 YUV420 之间的直观比较。
| YUV444 | YUV420 |
|---|---|
![]() |
![]() |
要在 VDA 上启用 YUV444 软件编码:
- 确保“使用视频编解码器进行压缩”策略设置为“针对整个屏幕”。
- 确保“视觉质量”策略设置为“始终无损”或“构建到无损”。
根据带宽估算调整平均比特率
- Citrix 通过根据带宽估算调整平均比特率来增强 HDX™ 3D Pro 硬件编码。
- 当使用 HDX 3D Pro 硬件编码时,VDA 可以间歇性地估算网络带宽,并根据带宽估算调整编码帧的比特率。这项新功能提供了一种在清晰度和流畅性之间取得平衡的机制。
此功能默认启用。要禁用它,请运行以下命令:
sudo /opt/Citrix/VDA/bin/ctxreg create -k "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Citrix\Thinwire" -t "REG_DWORD" -v "DisableReconfigureEncoder" -d "0x00000001" --force
<!--NeedCopy-->
除了使用此功能外,您还可以运行以下命令来调整清晰度和流畅性。AverageBitRatePercent 和 MaxBitRatePercent 参数设置带宽使用百分比。设置的值越高,图形越清晰,流畅性越低。建议的设置范围是 50–100。
sudo /opt/Citrix/VDA/bin/ctxreg create -k "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Citrix\Thinwire" -t "REG_DWORD" -v "AverageBitRatePercent" -d "90" --force
sudo /opt/Citrix/VDA/bin/ctxreg create -k "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Citrix\Thinwire" -t "REG_DWORD" -v "MaxBitRatePercent" -d "100" --force
<!--NeedCopy-->
在平均比特率调整中,当屏幕静止时,由于没有发送新帧,最新帧会保持低质量状态。锐化支持可以通过重新配置并立即以最高质量发送最新帧来解决此问题。
有关 Linux VDA Thinwire 支持的策略的完整列表,请参阅策略支持列表。
有关在 Linux VDA 上配置多显示器支持的信息,请参阅 CTX220128。
图形质量滑块
我们已在虚拟 Linux 会话中运行的图形状态指示器工具中引入了图形质量滑块。该滑块有助于在图像质量和交互性之间找到适当的平衡。
要使用该滑块,请完成以下步骤:
-
在 Citrix Studio 中启用图形状态指示器策略。

-
打开终端并运行
ctxslider命令。滑块 UI 将显示。注意:
如果您已将视觉质量策略设置为始终无损或构建到无损,则滑块 UI 不会显示。

现在提供以下选项:
- 要更改图像质量,请移动滑块。该滑块支持 0 到 9 的范围。
- 要使用系统定义的设置,请选择让系统决定。
- 要切换到无损模式,请选择像素完美。
故障排除
检查正在使用的图形模式
运行以下命令以检查正在使用的图形模式(0 表示 TW+;1 表示全屏视频编解码器):
sudo /opt/Citrix/VDA/bin/ctxreg dump | grep GraphicsMode
<!--NeedCopy-->
结果类似于:
create -k "HKLM\Software\Citrix\Ica\Session\4\Graphics" -t "REG_DWORD" -v "GraphicsMode" -d "0x00000000" --force
检查 H.264 是否正在使用
运行以下命令以检查 H.264 是否正在使用(0 表示未使用;1 表示正在使用):
sudo /opt/Citrix/VDA/bin/ctxreg dump | grep H264
<!--NeedCopy-->
结果类似于:
create -k "HKLM\Software\Citrix\Ica\Session\4\Graphics" -t "REG_DWORD" -v "H264" -d "0x00000000" --force
检查 H.265 是否正在使用
运行以下命令以检查全屏 H.265 是否正在使用(0 表示未使用;1 表示正在使用):
sudo /opt/Citrix/VDA/bin/ctxreg dump | grep H265
<!--NeedCopy-->
结果类似于:
create -k "HKLM\Software\Citrix\Ica\Session\4\Graphics" -t "REG_DWORD" -v "H265" -d "0x00000000" --force
检查正在使用哪种 YUV 编码方案
运行以下命令以检查正在使用哪种 YUV 编码方案(0 表示 YUV420;1 表示 YUV422;2 表示 YUV444):
注意: 仅当正在使用视频编解码器时,YUVFormat 的值才有意义。
sudo /opt/Citrix/VDA/bin/ctxreg dump | grep YUVFormat
<!--NeedCopy-->
结果类似于:
create -k "HKLM\Software\Citrix\Ica\Session\4\Graphics" -t "REG_DWORD" -v "YUVFormat" -d "0x00000000" --force
检查 YUV444 软件编码是否正在使用
运行以下命令以检查 YUV444 软件编码是否正在使用:
sudo /opt/Citrix/VDA/bin/ctxreg dump | grep Graphics
<!--NeedCopy-->
当 YUV444 正在使用时,结果类似于:
create -k "HKLM\Software\Citrix\Ica\Session\4\Graphics" -t "REG_DWORD" -v "GraphicsMode" -d "0x00000001" --force
create -k "HKLM\Software\Citrix\Ica\Session\4\Graphics" -t "REG_DWORD" -v "H264" -d "0x00000001" --force
create -k "HKLM\Software\Citrix\Ica\Session\4\Graphics" -t "REG_DWORD" -v "HardwareEncoding" -d "0x00000000" --force
create -k "HKLM\Software\Citrix\Ica\Session\4\Graphics" -t "REG_DWORD" -v "YUVFormat" -d "0x00000002" --force
检查 3D Pro 是否正在使用硬件编码
运行以下命令(0 表示未使用;1 表示正在使用):
sudo /opt/Citrix/VDA/bin/ctxreg dump | grep HardwareEncoding
<!--NeedCopy-->
结果类似于:
create -k "HKLM\Software\Citrix\Ica\Session\1\Graphics" -t "REG_DWORD" -v "HardwareEncoding" -d "0x00000001" --force
另一种方法是使用 nvidia-smi 命令。如果正在使用硬件编码,则输出类似于:
Tue Apr 12 10:42:03 2016
+------------------------------------------------------+
| NVIDIA-SMI 361.28 Driver Version: 361.28 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GRID K1 Off | 0000:00:05.0 Off | N/A |
| N/A 42C P0 14W / 31W | 207MiB / 4095MiB | 8% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 2164 C+G /usr/local/bin/ctxgfx 106MiB |
| 0 2187 G Xorg 85MiB |
+-----------------------------------------------------------------------------+
<!--NeedCopy-->
验证 NVIDIA GRID 图形驱动程序是否已正确安装
要验证 NVIDIA GRID 图形驱动程序是否已正确安装,请运行 nvidia-smi。结果类似于:
+------------------------------------------------------+
| NVIDIA-SMI 352.70 Driver Version: 352.70 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 Tesla M60 Off | 0000:00:05.0 Off | Off |
| N/A 20C P0 37W / 150W | 19MiB / 8191MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| No running processes found |
+-----------------------------------------------------------------------------+
<!--NeedCopy-->
为显卡设置正确的配置:
etc/X11/ctx-nvidia.sh
HDX 3D Pro 多显示器重绘问题
如果您在主显示器以外的屏幕上看到重绘问题,请检查 NVIDIA GRID 许可证是否可用。
检查 Xorg 错误日志
Xorg 的日志文件名为 Xorg.{DISPLAY}.log,位于 /var/log/ 文件夹中。
已知问题和限制
对于 vGPU,Citrix Hypervisor™ 本地控制台显示 ICA 桌面会话屏幕
解决方法: 通过运行以下命令禁用 VM 的本地 VGA 控制台:
xe vm-param-set uuid=<vm-uuid> platform:vgpu_extra_args="disable_vnc=1"
<!--NeedCopy-->
NVIDIA K2 显卡在直通模式下不支持 YUV444 硬件编码
通过策略设置启用 Build to Lossless 后,用户使用 NVIDIA K2 显卡启动应用程序/桌面会话时,会出现黑屏或灰屏。出现此问题是因为 NVIDIA K2 显卡在直通模式下不支持 YUV444 硬件编码。有关详细信息,请参阅 Video Encode and Decode GPU Support Matrix。
登录时 Gnome 3 桌面弹出窗口速度缓慢
这是 Gnome 3 桌面会话启动的限制。
调整 Citrix Workspace app 窗口大小时,某些 OpenGL/WebGL 应用程序无法正常渲染
调整 Citrix Workspace app 窗口大小会更改屏幕分辨率。NVIDIA 专有驱动程序会更改某些内部状态,可能需要应用程序做出相应响应。例如,WebGL 库元素 lightgl.js 可能会生成错误,指出“Rendering to this texture is not supported (incomplete frame buffer)”。

