Linux Virtual Delivery Agent

Configuración y ajuste de gráficos

Este artículo proporciona orientación para la configuración y el ajuste de gráficos de Linux VDA.

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

Configuración

  • Códec de vídeo para la compresión

Thinwire es la tecnología de visualización remota que se usa en Linux VDA. Esta tecnología permite transmitir gráficos generados en una máquina, normalmente a través de una red, a otra máquina para su visualización.

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

  • Usar cuando se prefiera. Esta configuración es la predeterminada. No se requiere ninguna configuración adicional. Garantiza que Thinwire se seleccione para todas las conexiones de Citrix® y que esté optimizado para la escalabilidad, el ancho de banda y una calidad de imagen superior para las cargas de trabajo de escritorio típicas.
  • Para toda la pantalla. Ofrece Thinwire con H.264 o H.265 en pantalla completa para optimizar la experiencia del usuario y el ancho de banda, especialmente en casos de uso intensivo de gráficos 3D.
  • Para regiones que cambian activamente. La tecnología de visualización adaptativa de Thinwire identifica imágenes en movimiento (vídeo, 3D en movimiento). Usa H.264 solo en la parte de la pantalla donde la imagen se mueve. El uso selectivo del códec de vídeo H.264 permite a HDX Thinwire detectar y codificar las partes de la pantalla que se actualizan con frecuencia mediante el códec de vídeo H.264. La compresión de imágenes fijas (JPEG, RLE) y el almacenamiento en caché de mapas de bits se siguen usando para el resto de la pantalla, incluido el texto y las imágenes fotográficas. Los usuarios obtienen el beneficio de un menor consumo de ancho de banda y una mejor calidad para el contenido de vídeo, combinado con texto sin pérdidas o imágenes de alta calidad en otras partes. Para habilitar esta función, establece la directiva Usar códec de vídeo para la compresión en Usar cuando se prefiera (predeterminado) o Para regiones que cambian activamente. Para obtener más información, consulta Configuración de directivas de gráficos. Para habilitar la codificación de hardware H.264 para esta función, consulta Codificación de hardware H.264.

    Para toda la pantalla seleccionada

Se pueden usar otras configuraciones de directiva, incluidas las siguientes configuraciones de directiva de visualización, para ajustar el rendimiento de la visualización remota:

A partir de la versión 2204, Linux VDA admite el uso selectivo del códec de hardware H.264 para regiones que cambian activamente. Esta función descarga el consumo de compresión de vídeo de la CPU al hardware y mejora la calidad de imagen y el número de fotogramas por segundo (FPS). Para habilitar la función, haz lo siguiente:

  1. Habilita la directiva Usar codificación de hardware para códec de vídeo.
    1. Habilita la directiva Usar códec de vídeo para la compresión y selecciona Para regiones que cambian activamente.

Permitir la compresión visualmente sin pérdidas

La directiva Permitir la compresión visualmente sin pérdidas permite usar la compresión visualmente sin pérdidas en lugar de la compresión verdaderamente sin pérdidas para los gráficos. La compresión visualmente sin pérdidas mejora el rendimiento con respecto a la compresión verdaderamente sin pérdidas, pero tiene una pérdida menor que es imperceptible a la vista. Esta configuración cambia la forma en que se usan los valores de la configuración Calidad visual.

La directiva Permitir la compresión visualmente sin pérdidas está inhabilitada de forma predeterminada. Para habilitar la compresión visualmente sin pérdidas, establece Permitir la compresión visualmente sin pérdidas en Habilitado y la directiva Calidad visual en Compilar sin pérdidas.

Si la directiva Usar códec de vídeo para la compresión está establecida en No usar códec de vídeo, la compresión visualmente sin pérdidas se aplica a la codificación de imágenes estáticas. Si la directiva Usar códec de vídeo para la compresión está establecida en un modo de gráficos distinto de No usar códec de vídeo, la compresión visualmente sin pérdidas se aplica a la codificación H.264.

Los siguientes clientes admiten H.264 selectivo:

  • Citrix Receiver para Windows 4.9 a 4.12
    • Citrix Receiver para Linux 13.5 a 13.10
    • Citrix Workspace™ app 1808 para Windows y versiones posteriores
    • Citrix Workspace app 1808 para Linux y versiones posteriores

Para obtener más información sobre la configuración de las directivas Calidad visual y Usar códec de vídeo para la compresión, consulta Configuración de directivas de visualización y Configuración de directivas 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 para la aceleración de hardware de gráficos y vídeos remotos.

Puedes usar esta función en:

  • Citrix Receiver para Windows 4.10 a 4.12
  • Citrix Workspace app 1808 para Windows y versiones posteriores

    • Para beneficiarte de esta función, habilítala tanto en Linux VDA como en tu cliente. Si la GPU de tu cliente no admite la descodificación H.265 mediante la interfaz DXVA, la configuración de la directiva Descodificación H.265 para gráficos se ignora y las sesiones recurren al uso del códec de vídeo H.264. Para obtener más información, consulta Codificación de vídeo H.265.

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

  1. Habilita la directiva Usar codificación de hardware para códec de vídeo.
  2. Habilita la directiva Optimizar para cargas de trabajo de gráficos 3D.
  3. Asegúrate de que la directiva Usar códec de vídeo para la compresión sea la predeterminada o esté establecida en Para toda la pantalla.
  4. Asegúrate de que la directiva Calidad visual NO esté establecida en Compilar sin pérdidas o Siempre sin pérdidas.

Para habilitar la codificación de hardware H.265 en tu cliente, consulta Codificación de vídeo H.265.

Compatibilidad con la codificación de software YUV444

Linux VDA admite la codificación de software YUV444. El esquema de codificación YUV asigna valores de brillo y color a cada píxel. En YUV, ‘Y’ representa el valor de brillo o ‘luminancia’, y ‘UV’ representa los valores de color o ‘crominancia’. Puedes usar esta función en Citrix Receiver para Windows 4.10 a 4.12 y en Citrix Workspace app 1808 para Windows y versiones posteriores.

Cada valor único de Y, U o V consta de 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 da como resultado una velocidad de transmisión promedio de 16 bits por píxel. La siguiente tabla muestra una comparación intuitiva entre YUV444 y YUV420.

YUV444 YUV420
YUV444 YUV420

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

  1. Asegúrate de que la directiva Usar códec de vídeo para la compresión esté establecida en Para toda la pantalla.

  2. Asegúrate de que la política de Calidad visual esté configurada en Siempre sin pérdidas o Generar sin pérdidas.

Deslizador de calidad de gráficos

Hemos incluido un deslizador de calidad de gráficos en la herramienta indicadora del estado de los gráficos que se ejecuta en tus sesiones virtuales de Linux. El deslizador ayuda a encontrar el equilibrio adecuado entre la calidad de imagen y la interactividad.

Para usar el control deslizante, completa los siguientes pasos:

  1. Habilita la directiva Indicador de estado gráfico en Citrix Studio.

    La directiva Indicador de estado gráfico

  2. Abre el Terminal y ejecuta el comando ctxslider. Aparece la interfaz de usuario del control deslizante.

    Nota:

    Si has configurado la directiva Calidad visual en Siempre sin pérdidas o Compilación sin pérdidas, la interfaz de usuario del control deslizante no se muestra.

    Control deslizante de calidad gráfica

    Las siguientes opciones están ahora disponibles:

    • Para cambiar la calidad de la imagen, mueve el control deslizante. El control deslizante admite un rango de 0 a 9.
    • Para usar la configuración definida por el sistema, selecciona Dejar que el sistema decida.
    • Para cambiar al modo sin pérdidas, selecciona Píxel perfecto.

Ajustar las tasas de bits promedio según las estimaciones de ancho de banda

Citrix mejora la codificación de hardware HDX™ 3D Pro ajustando las tasas de bits promedio según las estimaciones de ancho de banda.

Cuando la codificación de hardware HDX 3D Pro está en uso, el VDA puede estimar intermitentemente el ancho de banda de la red y ajustar las tasas de bits de los fotogramas codificados en consecuencia. Esta nueva función proporciona un mecanismo para equilibrar la nitidez y la fluidez.

Esta función está habilitada de forma predeterminada. Para deshabilitarla, ejecuta el siguiente 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 usar esta función, también puedes ejecutar los siguientes comandos para ajustar la nitidez y la fluidez. Los parámetros AverageBitRatePercent y MaxBitRatePercent establecen el porcentaje de uso del ancho de banda. Cuanto mayores sean los valores que establezcas, más nítidos serán los gráficos y menor la fluidez que obtendrás. El rango de configuración 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 la tasa de bits promedio, cuando la pantalla permanece inmóvil, el fotograma más reciente se mantiene en un estado de baja calidad porque no se envían nuevos fotogramas. La asistencia para nitidez puede solucionar este problema reconfigurando y enviando inmediatamente el fotograma más reciente con la máxima calidad.

Para obtener una lista completa de las directivas compatibles con Thinwire de Linux VDA, consulta Lista de directivas compatibles.

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

Procesamiento paralelo

Thinwire puede mejorar el número de fotogramas por segundo (FPS) al paralelizar ciertas tareas, con la sobrecarga de un consumo de CPU general ligeramente mayor. Esta función está deshabilitada de forma predeterminada. Para habilitar la función, ejecuta el siguiente comando en tu VDA:

sudo /opt/Citrix/VDA/bin/ctxreg create -k "HKLM\System\CurrentControlSet\Control\Citrix\Thinwire" -t "REG_DWORD" -v "ParallelProcessing" -d "0x00000001" --force
<!--NeedCopy-->

Solución de problemas

Comprobar qué modo gráfico está en uso

Ejecuta el siguiente comando para comprobar qué modo gráfico está en uso (0 significa TW+. 1 significa códec de vídeo de pantalla completa):

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

Comprobar si H.264 está en uso

Ejecuta el siguiente comando para comprobar si H.264 está en uso (0 significa que no está en uso. 1 significa que está en uso):

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

Comprobar si H.265 está en uso

Ejecuta el siguiente comando para comprobar si H.265 de pantalla completa está en uso (0 significa que no está en uso. 1 significa que está en uso):

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

Comprobar qué esquema de codificación YUV está en uso

Ejecuta el siguiente comando para comprobar qué esquema de codificación YUV está en uso (0 significa YUV420. 1 significa YUV422. 2 significa YUV444):

Nota: El valor de YUVFormat solo es significativo cuando un códec de vídeo está en uso.

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

Comprobar si la codificación de software YUV444 está en uso

Ejecuta el siguiente comando para comprobar si la codificación de software YUV444 está en uso:

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

Cuando YUV444 está en uso, el resultado es similar 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

Comprobar si la codificación de hardware está en uso para 3D Pro

Ejecuta el siguiente comando (0 significa que no está en uso. 1 significa que está en uso):

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

Los resultados son similares a:

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

Otra forma es usar el comando nvidia-smi. Las salidas son similares a las siguientes si la codificación de hardware está en uso:

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

Verificar que el controlador de gráficos NVIDIA GRID esté instalado correctamente

Para verificar que el controlador de gráficos NVIDIA GRID esté instalado correctamente, ejecuta nvidia-smi. Los resultados son similares 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-->

Establece la configuración correcta para la tarjeta:

etc/X11/ctx-nvidia.sh

Problemas de redibujado en varios monitores de HDX 3D Pro

Si ves problemas de redibujado en pantallas que no sean el monitor principal, comprueba que la licencia de NVIDIA GRID esté disponible.

Comprobar los registros de errores de Xorg

El archivo de registro de Xorg se denomina de forma 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 alternativa: Deshabilita la consola VGA local de la VM ejecutando los siguientes 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 Citrix Hypervisor anterior 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 de hardware YUV444 en modo de paso a través

Con Build to Lossless habilitado a través de la configuración de la directiva, aparece una pantalla negra o gris cuando los usuarios inician una sesión de aplicación/escritorio con una tarjeta gráfica NVIDIA K2. El problema ocurre porque las tarjetas gráficas NVIDIA K2 no admiten la codificación de hardware YUV444 en modo de paso a través. Para obtener más información, consulta Video Encode and Decode GPU Support Matrix.

Las ventanas emergentes del escritorio Gnome 3 son lentas al iniciar sesión

Es una limitación del inicio de sesión de escritorio de Gnome 3.

Algunas aplicaciones OpenGL/WebGL no se renderizan bien al cambiar el tamaño de la ventana de la aplicación Citrix Workspace

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

Configuración y ajuste de gráficos