Linux Virtual Delivery Agent

Configuración y ajuste de gráficos

En este artículo se describen la configuración y el ajuste de los gráficos de 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

Optimizar para cargas de trabajo de gráficos 3D

Esta configuración define los valores predeterminados que mejor se adaptan a cargas de trabajo con muchos gráficos. Habilite esta configuración para usuarios cuyas cargas de trabajo se centren en aplicaciones que hacen uso intensivo de gráficos. Aplique esta directiva solo en situaciones donde haya una GPU disponible en la sesión. Tiene prioridad cualquier otra configuración que anule explícitamente la configuración predeterminada establecida por esta directiva.

De forma predeterminada, la configuración Optimizar para cargas de trabajo de gráficos 3D está inhabilitada.

Códec de vídeo para compresió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. Esto garantiza que 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. La marca de agua de sesión se admite cuando se selecciona Para la pantalla entera o cuando se selecciona Usar si se prefiere y la opción Optimizar para cargas de trabajo de gráficos 3D está habilitada.
  • Para áreas en cambio constante. La tecnología de pantalla adaptable de Thinwire identifica imágenes en movimiento (vídeo, 3D en movimiento). Utiliza AV1, H.265 o H.264 solo en aquella parte de la pantalla donde se mueva la imagen. El uso selectivo de un códec de vídeo AV1, H.265 o H.264 permite a HDX Thinwire detectar y codificar partes de la pantalla que se actualizan con frecuencia. 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. No es compatible el uso selectivo de AV1 y H.265 cuando la directiva Calidad visual está establecida en Siempre sin pérdida o Gradual sin pérdida.

    Para toda la pantalla seleccionada

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:

Codificación por hardware AV1/H.265/H.264

La directiva Usar codificación por hardware para códec de vídeo permite el uso de aceleración de hardware de GPU, si está disponible, para comprimir los elementos en pantalla con el códec de vídeo. La aceleración de hardware de GPU optimiza la utilización de los recursos de hardware y mejora considerablemente el rendimiento en términos de fotogramas por segundo (FPS).

La aceleración de hardware de GPU cubre todos los modos gráficos establecidos en la directiva Usar códec de vídeo para la compresión:

  • Usar si se prefiere
  • Para la pantalla entera
  • Para áreas en cambio constante

Para habilitar la compresión de vídeo por hardware, siga estos pasos:

  1. Habilite la directiva Usar codificación por hardware para códec de vídeo.
  2. Configure Usar códec de vídeo para la compresión en Usar si se prefiere, Para la pantalla enterao Para áreas en cambio constante. Asegúrese de que no esté configurado en No usar códec de vídeo.

Para poder usarse, el códec de vídeo AV1 o H.265 debe ser compatible y estar habilitado tanto en el VDA como en la aplicación Citrix Workspace. AV1 tiene preferencia sobre H.265 y H.264 durante la negociación del códec. Si AV1 no es compatible, se negocia H.265. Si no es compatible ni AV1 ni H.265, las sesiones recurren al códec de vídeo H.264. Si no hay hardware de GPU disponible, el VDA recurre a la codificación basada en CPU con el códec de vídeo del software.

Requisitos para la codificación por hardware AV1

VDA
Cliente
  • Aplicación Citrix Workspace 2305 para Windows o posterior
  • GPU de cliente que ofrece compatibilidad con la decodificación AV1:
    • NVIDIA Ampere o posterior
    • Intel 11.ª generación/Arc o posterior
    • AMD Radeon RX 6000/Radeon Pro serie W6000 (RDNA2) o posterior

Requisitos para la codificación por hardware H.265

Cliente
  • Citrix Receiver para Windows 4.10 a 4.12
  • Aplicación Citrix Workspace para Windows 1808 y versiones posteriores

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

Compresión sin pérdida H.264/H.265

La compresión sin pérdida H.265/H.264 está disponible para la aceleración de hardware HDX 3D PRO mediante GPU de NVIDIA. La compresión sin pérdida H.265 requiere la aplicación Citrix Workspace 2305 para Windows y versiones posteriores. La compresión sin pérdida H.264 requiere estos clientes:

  • Aplicación Citrix Workspace 2303 para Windows y versiones posteriores
  • Aplicación Citrix Workspace 2301 para Mac y versiones posteriores con el chip M1 de Apple

Para habilitar la compresión sin pérdida H.265/H.264, siga estos pasos:

  1. Habilite la directiva Usar codificación por hardware para códec de vídeo.
  2. Configure la directiva Usar códec de vídeo para compresión en Para la pantalla entera.

  3. Configure la directiva Calidad visual en Siempre sin pérdida o Gradual sin pérdida.

Permitir compresión sin pérdida visual

La directiva Permitir compresión sin pérdida visual permite usar compresión sin pérdida visual, en lugar de compresión sin pérdida verdadera, para los gráficos. La compresión sin pérdida visual mejora el rendimiento en mayor medida que la compresión sin pérdida verdadera, con una pérdida menor que no se nota a la vista. Este parámetro cambia el modo en que se usan los valores de la configuración Calidad visual.

La directiva Permitir compresión sin pérdida visual está inhabilitada de forma predeterminada. Para habilitar la compresión sin pérdida visual, establezca Permitir compresión sin pérdida visual en Habilitado y la directiva Calidad visual en Gradual sin pérdida.

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

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.

Control deslizante de calidad gráfica

Hemos incluido un control deslizante de calidad gráfica en la herramienta Indicador de estado de gráficos que se ejecuta en las sesiones virtuales de Linux. El control deslizante ayuda a encontrar un buen equilibrio entre calidad de imagen e interactividad.

Para utilizar el control deslizante, siga estos pasos:

  1. Habilite la directiva Indicador de estado de gráficos en Citrix Studio.

    Directiva Indicador de estado de gráficos

  2. Abra el terminal y ejecute el comando ctxslider. Aparecerá la interfaz de usuario del control deslizante.

    Nota:

    • Si ha establecido la directiva Calidad visual en Siempre sin pérdida o Gradual sin pérdida, no se muestra la interfaz de usuario del control deslizante.

    • Puede iniciar la interfaz de usuario deslizante tanto desde el terminal como desde la bandeja del sistema.

    Control deslizante de calidad gráfica

    Ahora están disponibles las siguientes opciones:

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

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 los fotogramas codificados en consecuencia. 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.

Procesamiento paralelo

Thinwire puede mejorar la cantidad de fotogramas por segundo (FPS) al paralelizar ciertas tareas, con la sobrecarga de un consumo general de CPU ligeramente mayor. Esta función está inhabilitada de forma predeterminada. Para habilitar esta función, ejecute este comando en el 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

Compruebe el modo de gráficos en uso

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

Verificar que el AV1 esté en uso

Nota:

Para verificar qué códec de vídeo se está usando en la sesión actual, ejecute un comando que se indica a continuación o compruebe el estado de los gráficos en el área de notificaciones.

Ejecute este comando para comprobar que se está usando AV1 (0 significa que no se usa; 1 significa que sí se usa):

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

Por ejemplo, el resultado puede ser similar a:

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

Compruebe que se utiliza H.265

Ejecute este comando para comprobar que se está utilizando H.265 en pantalla competa (0 significa que no se usa; 1 significa que sí se usa):

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

Por ejemplo, el resultado puede ser similar a:

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

Compruebe que se utiliza H.264

Ejecute este comando para comprobar que se está utilizando H.264 (0 significa que no se usa; 1 significa que sí se usa):

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

Por ejemplo, el resultado puede ser similar a:

create -k "HKLM\Software\Citrix\Ica\Session\4\Graphics" -t "REG_DWORD" -v "H264" -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-->

Por ejemplo, el resultado puede ser similar a:

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

Compruebe que se utiliza la codificación por software YUV444

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

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 que HDX 3D Pro esté habilitado

Ejecute los siguientes comandos para comprobar que HDX 3D Pro está habilitado:

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

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

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

Cuando HDX 3D Pro está habilitado, el resultado es similar al siguiente:

create -k "HKLM\Software\Citrix\VirtualDesktopAgent\State" -t "REG_SZ" -v "ProductEdition" -d "<PLT or ENT>" --force

create -k "HKLM\System\CurrentControlSet\Control\Citrix\WinStations\tcp" -t "REG_DWORD" -v "StackSessionMode" -d "0x00000000" --force

create -k "HKLM\System\CurrentControlSet\Control\Citrix" -t "REG_DWORD" -v "3DPro" -d "0x00000000" --force

Para comprobar que están cargadas las bibliotecas NVIDIA necesarias para HDX 3D Pro, ejecute el comando nvidia-smi en Linux VDA. El resultado es similar a:

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

Comprobar que se utiliza la codificación por hardware para 3D Pro

Ejecute este comando (0 significa que no se usa; 1 significa que sí se usa):

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

Cuando se utiliza 3D Pro, el resultado se asemeja a:

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

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 XenServer (antes, 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 ejecutando el siguiente comando:

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

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 de WebGL lightgl.js puede generar el error Rendering to this texture is not supported (incomplete frame buffer).

Configuración y ajuste de gráficos