Linux Virtual Delivery Agent

Configurar gráficos

En este artículo se ofrece una guía para configurar los gráficos y ajustes precisos en Linux VDA.

Para obtener más información, consulte Requisitos del sistema y la sección Información general de la instalación.

Configuración

Thinwire es la tecnología de pantallas remotas que se utiliza en Linux Virtual Delivery Agent. Esta tecnología permite que los gráficos generados en una máquina se transmitan (normalmente a través de una red) a otra máquina para que se vean desde allí.

La directiva Usar códec de vídeo para compresión establece el modo de gráficos predeterminado y ofrece estas opciones para diferentes casos de uso:

  • Usar si se prefiere. Este es el valor predeterminado. No se requiere ninguna configuración adicional. Si mantiene esta configuración, se seleccionará Thinwire para todas las conexiones de Citrix, y se optimizará para la escalabilidad, el ancho de banda y una calidad de imagen superior para cargas de trabajo típicas de escritorio.
  • Para la pantalla entera. Entrega Thinwire con H.264 o H.265 en pantalla completa para mejorar la experiencia del usuario y optimizar el ancho de banda, sobre todo cuando haya un uso intensivo de gráficos 3D.
  • Para áreas en cambio constante. En Thinwire, la tecnología de pantalla adaptable identifica imágenes en movimiento (vídeo, 3D en movimiento) y usa H.264 solo en aquella parte de la pantalla donde se mueva la imagen. La función uso selectivo de un códec de vídeo H..264 permite a HDX Thinwire detectar y codificar partes de la pantalla que se actualizan con frecuencia mediante el códec de vídeo H.264 (por ejemplo, contenido de vídeo). La compresión de imágenes fijas (JPEG, RLE) y el almacenamiento en caché de mapas de bits siguen utilizándose para el resto de la pantalla, incluido el texto y las fotografías. Los usuarios obtienen el beneficio de un menor consumo del ancho de banda y una mejor calidad para el contenido de vídeo, junto con imágenes de alta calidad o texto sin pérdida de calidad. Para habilitar esta funcionalidad, cambie la configuración de la directiva Usar códec de vídeo para compresión a Usar si se prefiere (predeterminado) o Para áreas en cambio constante. Para obtener más información, consulte Configuraciones de directiva de gráficos.

Imagen de "para la pantalla entera"

Varias configuraciones de directiva más, incluidas las siguientes configuraciones de directiva de Presentación visual, se pueden usar para optimizar el rendimiento de la tecnología de pantallas remotas:

Usar H.264 para una calidad Gradual sin pérdida en Thinwire

De forma predeterminada, la preferencia de Gradual sin pérdida de la configuración de directiva Calidad visual ahora es H.264, en lugar de JPEG para imágenes en movimiento.

La codificación H.264 ofrece una calidad superior de imagen. Esa preferencia se controla desde la configuración de la directiva Usar códec de vídeo para compresión, cuyo valor predeterminado es Usar si se prefiere. Para aplicar el uso de JPEG en Gradual sin pérdida, establezca la directiva Usar códec de vídeo para compresión como No usar códec de vídeo. Si su cliente no admite H.264 selectivo, Gradual sin pérdida recurre a JPEG independientemente de la configuración que tenga la directiva. El uso de Selective H.264 se admite desde la versión 4.9 a la 4.12 de Citrix Receiver para Windows, desde la versión 13.5 a la 13.10 de Citrix Receiver para Linux, en la aplicación Citrix Workspace 1808 para Windows y versiones posteriores, y en la aplicación Citrix Workspace 1808 para Linux y versiones posteriores. Para obtener más información sobre las configuraciones de directiva Calidad visual y Usar códec de vídeo para compresión, consulte Configuraciones de directiva de Presentación visual y Configuraciones de directiva de Gráficos.

Compatibilidad con el códec de vídeo H.265

A partir de la versión 7.18, Linux VDA admite el códec de vídeo H.265 en la aceleración de hardware para gráficos y vídeos remotos. Puede usar esta función en Citrix Receiver para Windows versiones 4.10 a 4.12 y en la aplicación Citrix Workspace 1808 para Windows y versiones posteriores. Para utilizar esta función, debe habilitarla tanto en Linux VDA como en su cliente. Si la GPU en su dispositivo cliente no admite la decodificación H.265 mediante la interfaz DXVA, la configuración de directiva “Decodificación H.265 para gráficos” se ignora y la sesión recurre al uso del códec de vídeo H.264. Para obtener más información, consulte Codificación de vídeo H.265.

Para habilitar la codificación por hardware H.265 en el VDA:

  1. Habilite la directiva Usar codificación por hardware para códec de vídeo.
  2. Habilite la directiva Optimizar para cargas de trabajo de gráficos 3D.
  3. Compruebe que la directiva Usar códec de vídeo para compresión esté establecida en el valor predeterminado o en Para la pantalla entera.
  4. Compruebe que la directiva Calidad visual no esté establecida en Gradual sin pérdida o Siempre sin pérdida.

Para habilitar la codificación por hardware H.265 en su dispositivo cliente, consulte Codificación de vídeo H.265.

Compatibilidad con la codificación por software YUV444

Linux VDA admite la codificación por software YUV444 El esquema de codificación YUV asigna valores de brillo y color a cada píxel. En YUV, “Y” representa el brillo o el valor “luma” y “UV” representa el color o el valor “croma”. Puede usar esta función de Linux VDA en Citrix Receiver para Windows versiones 4.10 a 4.12 y en la aplicación Citrix Workspace 1808 para Windows y versiones posteriores.

Cada valor único de Y, U, y V comprende 8 bits, o un byte, de datos. El formato de datos YUV444 transmite 24 bits por píxel. El formato de datos YUV422 comparte los valores U y V entre dos píxeles, lo que resulta en una velocidad media de transmisión de 16 bits por píxel. La siguiente tabla muestra una comparación intuitiva entre YUV444 y YUV420.

YUV444 YUV420
imagen de yuv444 imagen de yuv420

Para habilitar la codificación por software YUV444 en el VDA:

  1. Compruebe que la directiva Usar códec de vídeo para compresión esté establecida en Para la pantalla entera.
  2. Compruebe que la directiva Calidad visual esté establecida en Siempre sin pérdida o Gradual sin pérdida.

Ajuste la velocidad media de bits según los cálculos estimados del ancho de banda

Citrix mejora la codificación por hardware HDX 3D Pro mediante el ajuste de la velocidad media de bits según los cálculos estimados de ancho de banda.

Cuando la codificación por hardware HDX 3D Pro se está utilizando, el VDA puede estimar intermitentemente el ancho de banda de la red y ajustar la velocidad de bits de fotogramas codificados, basado en los cálculos estimados de ancho de banda. Esta nueva funcionalidad proporciona un mecanismo para equilibrar la nitidez y la fluidez.

Esta función está habilitada de manera predeterminada. Para inhabilitarlo, ejecute este comando.

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-->

Además de utilizar esta función, también puede ejecutar los siguientes comandos para ajustar entre nitidez y fluidez. Los parámetros AverageBitRatePercent y MaxBitRatePercent establecen el porcentaje de uso del ancho de banda. Cuanto más altos sean los valores que establezca, obtendrá mejor nitidez y fluidez. El intervalo de parámetros recomendado es de 50 a 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-->

En el ajuste de velocidad media de bits, cuando su pantalla está quieta, el fotograma más reciente se mantiene en un estado de baja calidad porque no se envían fotogramas nuevos. El proceso de nitidez puede solucionar este problema reconfigurando y enviando inmediatamente el fotograma más reciente con la mayor calidad.

Para obtener una lista completa de las directivas disponibles en Linux VDA Thinwire, consulte Lista de directivas disponibles.

Para obtener información sobre la configuración de la compatibilidad con varios monitores en Linux VDA, consulte CTX220128.

Solución de problemas

Compruebe el modo de gráficos en uso

Ejecute el siguiente comando para comprobar qué modo de gráficos se está utilizando (0 significa TW+; 1 significa códec de vídeo para la pantalla entera):

sudo /opt/Citrix/VDA/bin/ctxreg dump | grep GraphicsMode
<!--NeedCopy-->

El resultado es similar a:

create -k "HKLM\Software\Citrix\Ica\Session\4\Graphics" -t "REG_DWORD" -v "GraphicsMode" -d "0x00000000" --force

Compruebe si H.264 se está utilizando

Ejecute el siguiente comando para comprobar si H.264 se está utilizando (0 significa que no se usa, 1 significa que sí se usa):

sudo /opt/Citrix/VDA/bin/ctxreg dump | grep H264
<!--NeedCopy-->

El resultado es similar a:

create -k "HKLM\Software\Citrix\Ica\Session\4\Graphics" -t "REG_DWORD" -v "H264" -d "0x00000000" --force

Compruebe si H.265 se está utilizando

Ejecute el siguiente comando para comprobar si H.265 en pantalla completa se está utilizando (0 significa que no se está utilizando, 1 significa que sí se está utilizando):

sudo /opt/Citrix/VDA/bin/ctxreg dump | grep H265
<!--NeedCopy-->

El resultado es similar a:

create -k "HKLM\Software\Citrix\Ica\Session\4\Graphics" -t "REG_DWORD" -v "H265" -d "0x00000000" --force

Compruebe qué esquema de codificación YUV se utiliza

Ejecute el siguiente comando para comprobar qué esquema de codificación YUV se está utilizando (0 significa YUV420; 1 significa YUV422; 2 significa YUV444):

Nota: El valor de YUVFormat es importante solo cuando se utiliza el códec de vídeo.

sudo /opt/Citrix/VDA/bin/ctxreg dump | grep YUVFormat
<!--NeedCopy-->

El resultado es similar a:

create -k "HKLM\Software\Citrix\Ica\Session\4\Graphics" -t "REG_DWORD" -v "YUVFormat" -d "0x00000000" --force

Compruebe si la codificación por software YUV444 se está utilizando

Ejecute el siguiente comando para comprobar si la codificación por software YUV444 se está utilizando:

sudo /opt/Citrix/VDA/bin/ctxreg dump | grep Graphics
<!--NeedCopy-->

Cuando YUV444 se está utilizando, el resultado se asemeja a:

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

Compruebe si se utiliza la codificación por hardware para 3D Pro

Ejecute el siguiente comando (0 significa que no se usa, 1 significa que sí se usa):

sudo /opt/Citrix/VDA/bin/ctxreg dump | grep HardwareEncoding
<!--NeedCopy-->

El resultado es similar a:

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

Otra forma de averiguarlo es usar el comando nvidia-smi. Los resultados son similares a lo siguiente si se utiliza la codificación por hardware:

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-->

Compruebe si el controlador de gráficos NVIDIA GRID se ha instalado correctamente

Para verificar si el controlador de gráficos NVIDIA GRID se ha instalado correctamente, ejecute nvidia-smi. El resultado es similar a:

+------------------------------------------------------+
| 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-->

Establezca la configuración correcta para la tarjeta:

etc/X11/ctx-nvidia.sh

Problemas de actualización de pantalla en varios monitores con HDX 3D Pro

Si ve problemas de actualización en pantallas que no sean el monitor principal, compruebe que la licencia de NVIDIA GRID está disponible.

Comprobar registros de error Xorg

El archivo de registro Xorg recibe un nombre similar a Xorg.{DISPLAY}.log en la carpeta /var/log/.

Problemas conocidos y limitaciones

Para vGPU, la consola local de Citrix Hypervisor muestra la pantalla de la sesión de escritorio ICA

Solución temporal: Inhabilite la consola VGA local de la máquina virtual mediante estos comandos:

Para Citrix Hypervisor 8.1 y versiones posteriores:

[root@xenserver ~]# xe vgpu-param-set uuid=vgpu-uuid extra_args=disable_vnc=1
<!--NeedCopy-->

Para versiones de Citrix Hypervisor anteriores a 8.1:

xe vm-param-set uuid=<vm-uuid> platform:vgpu_extra_args="disable_vnc=1"
<!--NeedCopy-->

Las tarjetas gráficas NVIDIA K2 no admiten la codificación por hardware YUV444 en el modo PassThrough

Con Gradual sin pérdida habilitado en la configuración de la directiva, aparece una pantalla en negro o gris cuando los usuarios inician una sesión de aplicación o escritorio con una tarjeta gráfica NVIDIA K2. Este problema se da porque las tarjetas gráficas NVIDIA K2 no admiten la codificación por hardware YUV444 en el modo PassThrough. Para obtener más información, consulte Video Encode and Decode GPU Support Matrix.

Los elementos emergentes de escritorio Gnome 3 son lentos cuando se inicia sesión

Esta es una limitación del inicio de sesiones en escritorios Gnome 3.

Algunas aplicaciones OpenGL o WebGL no se generan correctamente después de cambiar el tamaño de la ventana de la aplicación Citrix Workspace

Si cambia el tamaño de la ventana de la aplicación Citrix Workspace, cambiará la resolución de pantalla. El controlador propietario NVIDIA cambia algunos estados internos y puede requerir que las aplicaciones respondan adecuadamente. Por ejemplo, el elemento de la biblioteca WebGL. lightgl.js podría generar el error ‘Rendering to this texture is not supported (incomplete frame buffer)’.

Configurar gráficos