Linux虚拟交付代理

配置图形

本文为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格式,请设置使用视频编解码器进行压缩政策不使用视频编解码器.如果客户端不支持Selective 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及更高版本支持Selective H.264。有关的更多信息视觉质量而且使用视频编解码器进行压缩策略设置,请参阅可视化显示策略设置而且图形策略设置

支持H.265视频编解码器

从7.18版本开始,Linux VDA支持H.265视频编解码器,用于远程图形和视频的硬件加速。您可以在Windows 4.10到4.12的Citrix Receiver和Windows及更高版本的Citrix Workspace应用程序1808上使用此功能。要从该特性中获益,请在Linux VDA和您的客户机上启用它。如果客户端的图形处理器不支持DXVA接口的H.265解码,则图形策略设置的H.265解码将被忽略,会话将退回到使用H.264视频编解码。有关更多信息,请参见H.265视频编码

在VDA上启用H.265硬件编码:

  1. 启用使用硬件编码进行视频编解码器政策。
  2. 启用优化3D图形工作负载政策
  3. 确保使用视频编解码器进行压缩策略为default或设置为对于整个屏幕
  4. 确保视觉质量政策是设置为构建无损的总是无损的

要在客户端上启用H.265硬件编码,请参见H.265视频编码

支持YUV444软件编码

Linux VDA支持YUV444软件编码。YUV编码方案为每个像素分配亮度和颜色值。在YUV。”Y'表示亮度,或'亮度' value,和'紫外线表示颜色,或“chroma”值。您可以在Citrix Receiver(适用于Windows 4.10到4.12)和Citrix Workspace应用程序1808(适用于Windows及更高版本)上使用Linux VDA的这个特性。

每个唯一的Y、U和V值由8位或1字节的数据组成。YUV444数据格式每像素传输24位。YUV422数据格式在两个像素之间共享U和V值,这导致平均传输速率为每像素16位。下表显示了YUV444和YUV420之间的直观对比。

YUV444 YUV420
YUV444 YUV420

在VDA上启用YUV444软件编码:

  1. 启用允许视觉无损压缩政策。
  2. 确保使用视频编解码器进行压缩策略设置为对于整个屏幕
  3. 确保视觉质量策略设置为总是无损的构建无损的

根据带宽估计调整平均比特率

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 

除了使用此功能外,还可以运行以下命令来调整清晰度和流畅性。的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 

在平均比特率调整中,当屏幕保持静止时,最近的帧保持低质量状态,因为没有新的帧被发送。锐化支持可以通过重新配置并立即以最高质量发送最近的帧来解决这个问题。

有关Linux VDA Thinwire支持的策略的完整列表,请参见政策支持列表

有关在Linux VDA上配置多监视器支持的信息,请参见CTX220128

图像质量的滑块

我们在虚拟Linux会话中运行的图形状态指示器工具中包含了一个图形质量滑块。滑块有助于在图像质量和交互性之间找到正确的平衡。

要使用滑块,请完成以下步骤:

  1. 启用图形状态指示器Citrix Studio的政策。

    图形状态指示器策略

  2. 打开终端并运行ctxslider命令。出现滑块UI。

    注意:

    如果你设置了视觉质量政策总是无损的构建无损的,滑块UI没有显示。

    图形质量滑块

    现在有以下选择:

    • 要更改图像质量,请移动滑块。滑块支持0到9的范围。
    • 若要使用系统定义的设置,请选择让系统来决定
    • 若要切换到无损模式,请选择像素完美

故障排除

检查正在使用的图形模式

运行以下命令检查正在使用的图形模式(0意味着TW +;1全屏视频编解码器):

sudo /opt/Citrix/VDA/bin/ctxreg dump | grep GraphicsMode 

结果类似于:

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 

结果类似于:

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 

结果类似于:

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 

结果类似于:

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 

在使用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 

结果相似:

create -k "HKLM\Software\Citrix\Ica\Session\1\Graphics" -t "REG_DWORD" -v "HardwareEncoding" -d "0x00000001"——force

另一种方法是使用nvidia-smi命令。如果使用硬件编码,则输出类似如下:

2016年4月12日星期二10:42:03  +------------------------------------------------------+ | NVIDIA-SMI 361.28驱动程序版本:361.28  | |-------------------------------+----------------------+----------------------+ | GPU的名字Persistence-M | Bus-Id Disp.A | Uncorr波动。ECC | |风扇温度性能压水式反应堆:使用/帽| |的内存GPU-Util计算M . | |===============================+======================+======================| | 0 K1关闭网格| 0000:00:05.0 | N /一个| | N / A 42 c P0 14 w / w | 207 mib 31日/ 4095 mib | 8%的违约  | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | 过程:GPU内存| | GPU PID型进程名称使用  | |=============================================================================| | 0 2164 C + G /usr/local/bin/ctxgfx 106 mib | | 0 2187 G Xorg 85 mib  | +-----------------------------------------------------------------------------+ 

检查NVIDIA GRID图形驱动程序是否正确安装

要验证NVIDIA GRID图形驱动程序已正确安装,请运行nvidia-smi.结果相似:

+------------------------------------------------------+ | NVIDIA-SMI 352.70驱动程序版本:352.70  | |-------------------------------+----------------------+----------------------+ | GPU的名字Persistence-M | Bus-Id Disp.A | Uncorr波动。ECC | |风扇温度性能压水式反应堆:使用/帽| |的内存GPU-Util计算M . | |===============================+======================+======================| | 0特斯拉M60了| 0000:00:05.0脱离| | | N / A 20 c P0 37 19 mib / 8191 w / 150 w | mib | 0%的违约  | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | 过程:GPU内存| | GPU PID型进程名称使用  | |=============================================================================| | 没有发现运行的流程  | +-----------------------------------------------------------------------------+ 

为卡设置正确的配置:

等/ X11 / ctx-nvidia.sh

HDX 3D Pro多显示器重绘问题

如果在主显示器以外的屏幕上看到重绘问题,请检查NVIDIA GRID许可是否可用。

检查Xorg错误日志

Xorg的日志文件命名类似于Xorg{显示}. log/var/log/文件夹中。

已知的问题和限制

对于vGPU, Citrix Hypervisor本地控制台显示ICA桌面会话界面

解决方案:关闭虚拟机的本地VGA控制台。

Xe vm-param-set uuid= platform:vgpu_extra_args="disable_vnc=1" 

NVIDIA K2显卡在直通模式下不支持YUV444硬件编码

构建无损的通过策略设置启用,当用户使用NVIDIA K2显卡启动应用程序/桌面会话时,会出现黑色或灰色屏幕。出现此问题是因为NVIDIA K2显卡不支持在直通模式下的YUV444硬件编码。有关更多信息,请参见视频编码和解码GPU支持矩阵

登录时Gnome 3桌面弹出速度较慢

这是Gnome 3桌面会话启动的一个限制。

一些OpenGL/WebGL应用程序在调整Citrix Workspace应用程序窗口时不能很好地呈现

调整Citrix Workspace应用程序的窗口大小改变屏幕分辨率。NVIDIA专有驱动程序改变了一些内部状态,可能需要应用程序相应地做出响应。例如,WebGL库元素lightgl.js可能会产生一个错误,说'不支持渲染这个纹理(不完整的帧缓冲)”。

配置图形