Agente de entrega virtual de Linux 2411

Configuración y ajuste de gráficos

Este artículo describe 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

Optimizar para cargas de trabajo de gráficos 3D

  • Esta configuración establece los valores predeterminados adecuados que mejor se adaptan a las cargas de trabajo con uso intensivo de gráficos. Habilita esta configuración para los usuarios cuya carga de trabajo se centre en aplicaciones con uso intensivo de gráficos. Aplica esta directiva solo en los casos en que una GPU esté disponible para la sesión. Cualquier otra configuración que anule explícitamente la configuración predeterminada establecida por esta directiva tendrá prioridad.

  • De forma predeterminada, Optimizar para cargas de trabajo de gráficos 3D está inhabilitado.

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

  • Thinwire es la tecnología de visualización remota utilizada en Linux VDA. 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 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 se optimice 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. La marca de agua de sesión es compatible cuando se selecciona Para toda la pantalla, o cuando se selecciona Usar cuando se prefiera y se habilita Optimizar para cargas de trabajo de gráficos 3D.
  • Para regiones que cambian activamente. La tecnología de visualización adaptable de Thinwire identifica las imágenes en movimiento (vídeo, 3D en movimiento). Utiliza AV1, H.265 o H.264 solo en la parte de la pantalla donde la imagen se está moviendo. El uso selectivo del códec de vídeo AV1, H.265 o H.264 permite a HDX Thinwire detectar y codificar las 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 se siguen utilizando para el resto de la pantalla, incluidos 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. El uso selectivo de AV1 y H.265 no es compatible cuando la directiva Calidad visual está establecida en Siempre sin pérdidas o Compilar sin pérdidas.

    Se selecciona Para toda la pantalla

Algunas otras configuraciones de directiva, incluidas las siguientes configuraciones de directiva de visualización, se pueden utilizar para ajustar el rendimiento de la visualización remota:

  • Profundidad de color preferida para gráficos simples
  • Velocidad de fotogramas de destino
  • Calidad visual

  • Codificación de hardware AV1/H.265/H.264

  • La directiva Usar codificación de hardware para códec de vídeo permite el uso de la aceleración de hardware de GPU, si está disponible, para comprimir elementos de 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 en gran medida el rendimiento de los fotogramas por segundo (FPS).

  • Usar cuando se prefiera
  • Para toda la pantalla
    • Para regiones que cambian activamente

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

  1. Establece la directiva Usar codificación de hardware para códec de vídeo en Habilitado.
  2. Establece Usar códec de vídeo para la compresión en Usar cuando se prefiera, Para toda la pantalla o Para regiones que cambian activamente. Asegúrate de que no esté establecido en No usar códec de vídeo.

    • Para que sea utilizable, 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. Cuando AV1 no es compatible, se negocia H.265. Si AV1 y H.265 no son compatibles, las sesiones recurren al uso del códec de vídeo H.264. Si el hardware de GPU no está disponible, el VDA recurre a la codificación basada en CPU utilizando el códec de vídeo de software.

Requisitos para la codificación de hardware AV1

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

Requisitos para la codificación de hardware H.265

Cliente
-  Citrix Receiver para Windows 4.10 a 4.12
  • Aplicación Citrix Workspace 1808 para Windows y posterior

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

La compresión sin pérdidas H.265 requiere la aplicación Citrix Workspace 2305 para Windows y posterior. La compresión sin pérdidas H.264 requiere los siguientes clientes:

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

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

  1. Establece la directiva Usar codificación de hardware para códec de vídeo en Habilitado.
  2. Establece la directiva Usar códec de vídeo para la compresión en Para toda la pantalla.

  3. Establece la directiva Calidad visual en Siempre sin pérdidas o Compilar sin pérdidas.

Permitir compresión visualmente sin pérdidas

La directiva Permitir compresión visualmente sin pérdidas permite utilizar 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 utilizan los valores de la configuración Calidad visual.

La directiva Permitir compresión visualmente sin pérdidas está inhabilitada de forma predeterminada. Para habilitar la compresión visualmente sin pérdidas, establece Permitir 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.

Para obtener más información sobre la configuración de directiva Calidad visual y Usar códec de vídeo para la compresión, consulta Configuración de directiva de visualización y Configuración de directiva de gráficos.

Control deslizante de calidad gráfica

Hemos incluido un control deslizante de calidad gráfica en la herramienta de indicador de estado gráfico que se ejecuta en tus sesiones virtuales de Linux. El control deslizante 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.

    • Puedes iniciar la interfaz de usuario del control 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 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, mayor nitidez gráfica y menor fluidez 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 compatibilidad con el enfoque 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 Linux VDA Thinwire, consulta Lista de compatibilidad de directivas.

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 el coste de un consumo general de CPU ligeramente superior. 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

Verificar que AV1 está en uso

Nota:

Para verificar qué códec de vídeo está en uso para la sesión actual, ejecuta un comando de los que se proporcionan a continuación o comprueba el estado de los gráficos a través de la bandeja del sistema.

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

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

Verificar que H.265 está en uso

Ejecuta el siguiente comando para verificar que 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-->

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

Verificar que H.264 está en uso

Ejecuta el siguiente comando para verificar que 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-->

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

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 tiene sentido cuando se utiliza un 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

Verificar que la codificación de software YUV444 está en uso

Ejecuta el siguiente comando para verificar que 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

Verificar que HDX 3D Pro está habilitado

Ejecuta los siguientes comandos para verificar 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 a:

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 verificar que las bibliotecas NVIDIA necesarias están cargadas para HDX 3D Pro, ejecuta el comando nvidia-smi en el VDA de Linux. 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-->

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

Cuando 3D Pro está en uso, el resultado es similar a:

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

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

Establece la configuración correcta para la tarjeta:

etc/X11/ctx-nvidia.sh

Problemas de redibujado en varios monitores con HDX 3D Pro

Si observas problemas de redibujado en pantallas que no sean el monitor principal, verifica 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 XenServer (anteriormente Citrix Hypervisor™) muestra la pantalla de la sesión de escritorio ICA

Solución alternativa: Deshabilita la consola VGA local de la VM ejecutando el siguiente comando:

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

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

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

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

Al cambiar el tamaño de la ventana de la aplicación Citrix Workspace, se modifica 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 indique que Rendering to this texture is not supported (incomplete frame buffer).

Configuración y ajuste de gráficos