Linux Virtual Delivery Agent

Configuration et réglage précis des graphiques

Cet article fournit des conseils pour la configuration et le réglage précis des graphiques du VDA Linux.

Pour plus d’informations, consultez la section Configuration système requise et Vue d’ensemble de l’installation.

Configuration

Optimiser pour les charges de travail graphiques 3D

  • Ce paramètre configure les valeurs par défaut appropriées qui conviennent le mieux aux charges de travail gourmandes en ressources graphiques. Activez ce paramètre pour les utilisateurs dont la charge de travail est axée sur les applications gourmandes en ressources graphiques. Appliquez cette stratégie uniquement dans les cas où un GPU est disponible pour la session. Tous les autres paramètres qui remplacent explicitement les paramètres par défaut définis par cette stratégie ont priorité.

  • Par défaut, l’option Optimiser pour les charges de travail graphiques 3D est désactivée.

Codec vidéo pour la compression

  • Thinwire est la technologie de déport d’affichage utilisée dans le VDA Linux. Cette technologie permet de transmettre les graphiques générés sur une machine, généralement via un réseau, à une autre machine pour l’affichage.

La stratégie graphique Utiliser le codec vidéo pour la compression définit le mode graphique par défaut et offre les options suivantes pour différents cas d’utilisation :

  • Utiliser si préféré. Ce paramètre est celui par défaut. Aucune configuration supplémentaire n’est requise. Il garantit que Thinwire est sélectionné pour toutes les connexions Citrix® et optimisé pour l’évolutivité, la bande passante et une qualité d’image supérieure pour les charges de travail de bureau typiques.
  • Pour l’écran entier. Fournit Thinwire avec H.264 ou H.265 en plein écran pour optimiser l’expérience utilisateur et la bande passante, en particulier dans les cas d’utilisation intensive des graphiques 3D. Le filigrane de session est pris en charge lorsque l’option Pour l’écran entier est sélectionnée, ou lorsque l’option Utiliser si préféré est sélectionnée et que l’option Optimiser pour les charges de travail graphiques 3D est activée.
  • Pour les régions en évolution active. La technologie d’affichage adaptatif de Thinwire identifie les images en mouvement (vidéo, 3D en mouvement). Elle utilise le H.264 uniquement dans la partie de l’écran où l’image est en mouvement. L’utilisation sélective du codec vidéo H.264 permet à HDX Thinwire de détecter et d’encoder les parties de l’écran qui sont fréquemment mises à jour à l’aide du codec vidéo H.264. La compression d’images fixes (JPEG, RLE) et la mise en cache de bitmaps continuent d’être utilisées pour le reste de l’écran, y compris le texte et les images photographiques. Les utilisateurs bénéficient d’une consommation de bande passante réduite et d’une meilleure qualité pour le contenu vidéo, combinées à un texte sans perte ou à des images de haute qualité ailleurs. Pour activer cette fonctionnalité, définissez la stratégie Utiliser le codec vidéo pour la compression sur Utiliser si préféré (par défaut) ou Pour les régions en évolution active. Pour plus d’informations, consultez Paramètres de stratégie graphique.

  • Option « Pour l’écran entier » sélectionnée

  • Certains autres paramètres de stratégie, y compris les paramètres de stratégie d’affichage visuel suivants, peuvent être utilisés pour affiner les performances du déport d’affichage :

  • Profondeur de couleur préférée pour les graphiques simples
  • Fréquence d’images cible
  • Qualité visuelle

Encodage matériel H.264

La stratégie Utiliser l’encodage matériel pour le codec vidéo permet d’utiliser l’accélération matérielle GPU, si disponible, pour compresser les éléments d’écran avec le codec vidéo. Si le matériel GPU n’est pas disponible, le VDA utilise l’encodage basé sur le CPU à l’aide du codec vidéo logiciel.

L’accélération matérielle GPU optimise l’utilisation des ressources matérielles et améliore considérablement les performances en termes d’images par seconde (FPS).

  • À partir de la version 2210, l’accélération matérielle GPU couvre les modes graphiques suivants :

  • Utiliser si préféré
  • Pour l’écran entier
  • Pour les régions en évolution active

Les clients suivants prennent en charge le mode graphique Pour les régions en évolution active :

  • Citrix Receiver pour Windows 4.9 à 4.12
  • Citrix Receiver pour Linux 13.5 à 13.10
    • Application Citrix Workspace™ 1808 pour Windows et versions ultérieures
    • Application Citrix Workspace 1808 pour Linux et versions ultérieures

Autoriser la compression visuellement sans perte

La stratégie Autoriser la compression visuellement sans perte permet d’utiliser la compression visuellement sans perte au lieu de la véritable compression sans perte pour les graphiques. La compression visuellement sans perte améliore les performances par rapport à la véritable compression sans perte, mais présente une perte mineure imperceptible à l’œil. Ce paramètre modifie la façon dont les valeurs du paramètre Qualité visuelle sont utilisées.

-  La stratégie **Autoriser la compression visuellement sans perte** est désactivée par défaut. Pour activer la compression visuellement sans perte, définissez **Autoriser la compression visuellement sans perte** sur **Activé** et la stratégie **Qualité visuelle** sur **Créer sans perte**.

Si la stratégie Utiliser le codec vidéo pour la compression est définie sur Ne pas utiliser le codec vidéo, la compression visuellement sans perte s’applique à l’encodage d’images statiques. Si la stratégie Utiliser le codec vidéo pour la compression est définie sur un mode graphique autre que Ne pas utiliser le codec vidéo, la compression visuellement sans perte s’applique à l’encodage H.264.

Pour plus d’informations sur les paramètres de stratégie Qualité visuelle et Utiliser le codec vidéo pour la compression, consultez Paramètres de stratégie d’affichage visuel et Paramètres de stratégie graphique.

Prise en charge du codec vidéo H.265

À partir de la version 7.18, le VDA Linux prend en charge le codec vidéo H.265 pour l’accélération matérielle des graphiques et vidéos à distance.

Vous pouvez utiliser cette fonctionnalité sur :

  • Citrix Receiver pour Windows 4.10 à 4.12
  • Application Citrix Workspace 1808 pour Windows et versions ultérieures

Pour bénéficier de cette fonctionnalité, activez-la à la fois sur le VDA Linux et sur votre client. Si le GPU de votre client ne prend pas en charge le décodage H.265 à l’aide de l’interface DXVA, le paramètre de stratégie Décodage H.265 pour les graphiques est ignoré et les sessions reviennent à l’utilisation du codec vidéo H.264. Pour plus d’informations, consultez Encodage vidéo H.265.

-  Pour activer l’encodage matériel H.265 sur le VDA :

-  1.  Définissez la stratégie **Utiliser l’encodage matériel pour le codec vidéo** sur **Activé**.
  1. Définissez la stratégie Optimiser pour les charges de travail graphiques 3D sur Activé.
  2. Assurez-vous que la stratégie Utiliser le codec vidéo pour la compression est par défaut ou définie sur Pour l’écran entier.
  3. Assurez-vous que la stratégie Qualité visuelle n’est PAS définie sur Créer sans perte ou Toujours sans perte.

Pour activer l’encodage matériel H.265 sur votre client, consultez Encodage vidéo H.265.

Prise en charge de l’encodage logiciel YUV444

Le VDA Linux prend en charge l’encodage logiciel YUV444. Le schéma d’encodage YUV attribue à chaque pixel des valeurs de luminosité et de couleur. Dans YUV, Y représente la valeur de luminosité ou de luminance, et UV représente les valeurs de couleur ou de chrominance. Vous pouvez utiliser cette fonctionnalité sur Citrix Receiver pour Windows 4.10 à 4.12 et sur l’application Citrix Workspace 1808 pour Windows et versions ultérieures.

Chaque valeur Y, U ou V unique comprend 8 bits, soit un octet de données. Le format de données YUV444 transmet 24 bits par pixel. Le format de données YUV422 partage les valeurs U et V entre deux pixels, ce qui entraîne un taux de transmission moyen de 16 bits par pixel.

Pour activer l’encodage logiciel YUV444 sur le VDA :

  1. Assurez-vous que la stratégie Utiliser le codec vidéo pour la compression est définie sur Pour l’écran entier.
  2. Assurez-vous que la stratégie Qualité visuelle est définie sur Toujours sans perte ou Créer sans perte.

Compression sans perte H.264

La prise en charge de la compression sans perte H.264 est disponible pour l’accélération matérielle HDX 3D PRO par les GPU NVIDIA. Vous pouvez utiliser cette fonctionnalité sur les clients suivants :

  • Citrix Workspace app 2303 pour Windows et versions ultérieures
  • Citrix Workspace app 2301 pour Mac et versions ultérieures avec la puce Apple M1

Pour activer la compression sans perte H.264, procédez comme suit :

  1. Définissez la stratégie Utiliser l’encodage matériel pour le codec vidéo sur Activé.
  2. Définissez la stratégie Utiliser le codec vidéo pour la compression sur Pour l’écran entier.

  3. Définissez la stratégie Qualité visuelle sur Toujours sans perte ou Générer sans perte.

Curseur de qualité graphique

Nous avons inclus un curseur de qualité graphique dans l’outil d’indicateur d’état graphique qui s’exécute dans vos sessions Linux virtuelles. Le curseur permet de trouver le bon équilibre entre la qualité d’image et l’interactivité.

Pour utiliser le curseur, procédez comme suit :

  1. Activez la stratégie Indicateur d’état graphique dans Citrix Studio.

    La stratégie Indicateur d'état graphique

  2. Ouvrez le Terminal et exécutez la commande ctxslider. L’interface utilisateur du curseur apparaît.

    Remarque :

    Si vous avez défini la stratégie Qualité visuelle sur Toujours sans perte ou Générer sans perte, l’interface utilisateur du curseur ne s’affiche pas.

    Curseur de qualité graphique

    Les choix suivants sont désormais disponibles :

    • Pour modifier la qualité d’image, déplacez le curseur. Le curseur prend en charge une plage de 0 à 9.
    • Pour utiliser les paramètres définis par le système, sélectionnez Laisser le système décider.
    • Pour passer en mode sans perte, sélectionnez Pixel parfait.

Ajuster les débits binaires moyens en fonction des estimations de bande passante

Citrix améliore l’encodage matériel HDX™ 3D Pro en ajustant les débits binaires moyens en fonction des estimations de bande passante.

Lorsque l’encodage matériel HDX 3D Pro est utilisé, le VDA peut estimer par intermittence la bande passante du réseau et ajuster les débits binaires des trames encodées en conséquence. Cette nouvelle fonctionnalité offre un mécanisme pour équilibrer la netteté et la fluidité.

Cette fonctionnalité est activée par défaut. Pour la désactiver, exécutez la commande suivante :

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

En plus d’utiliser cette fonctionnalité, vous pouvez également exécuter les commandes suivantes pour ajuster la netteté et la fluidité. Les paramètres AverageBitRatePercent et MaxBitRatePercent définissent le pourcentage d’utilisation de la bande passante. Plus les valeurs que vous définissez sont élevées, plus les graphiques sont nets et moins la fluidité est bonne. La plage de réglage recommandée est de 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
<!--NeedCopy-->

Lors de l’ajustement du débit binaire moyen, lorsque votre écran reste immobile, la trame la plus récente reste dans un état de faible qualité car aucune nouvelle trame n’est envoyée. La prise en charge de l’accentuation peut résoudre ce problème en reconfigurant et en envoyant immédiatement la trame la plus récente à la plus haute qualité.

Pour une liste complète des stratégies prises en charge par Thinwire du VDA Linux, consultez Liste de prise en charge des stratégies.

Pour plus d’informations sur la configuration de la prise en charge multi-écrans sur le VDA Linux, consultez CTX220128.

Traitement parallèle

Thinwire peut améliorer le nombre d’images par seconde (FPS) en parallélisant certaines tâches, avec le surcoût d’une consommation globale de CPU légèrement plus élevée. Cette fonctionnalité est désactivée par défaut. Pour activer la fonctionnalité, exécutez la commande suivante sur votre VDA :

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

Dépannage

Vérifier le mode graphique utilisé

Exécutez la commande suivante pour vérifier le mode graphique utilisé (0 signifie TW+. 1 signifie codec vidéo plein écran) :

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

Le résultat ressemble à :

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

Vérifier que le H.264 est utilisé

Exécutez la commande suivante pour vérifier que le H.264 est utilisé (0 signifie non utilisé. 1 signifie utilisé) :

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

Par exemple, le résultat peut ressembler à :

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

Vérifier que le H.265 est utilisé

Exécutez la commande suivante pour vérifier que le H.265 plein écran est utilisé (0 signifie non utilisé. 1 signifie utilisé) :

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

Par exemple, le résultat peut ressembler à :

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

Vérifier le schéma d’encodage YUV utilisé

Exécutez la commande suivante pour vérifier le schéma d’encodage YUV utilisé (0 signifie YUV420. 1 signifie YUV422. 2 signifie YUV444) :

Remarque :

La valeur de YUVFormat n’est significative que lorsqu’un codec vidéo est utilisé.

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

Par exemple, le résultat peut ressembler à :

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

Vérifier que l’encodage logiciel YUV444 est utilisé

Exécutez la commande suivante pour vérifier que l’encodage logiciel YUV444 est utilisé :

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

Lorsque YUV444 est utilisé, le résultat ressemble à :

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

Vérifier que HDX 3D Pro est activé

Exécutez les commandes suivantes pour vérifier que HDX 3D Pro est activé :

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

Lorsque HDX 3D Pro est activé, le résultat ressemble à :

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

Pour vérifier que les bibliothèques NVIDIA requises sont chargées pour HDX 3D Pro, exécutez la commande nvidia-smi sur le VDA Linux. Le résultat ressemble à :

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

Vérifier que l’encodage matériel est utilisé pour 3D Pro

Exécutez la commande suivante (0 signifie non utilisé. 1 signifie utilisé) :

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

Lorsque 3D Pro est utilisé, le résultat ressemble à :

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

Vérifier que le pilote graphique NVIDIA GRID est correctement installé

Pour vérifier que le pilote graphique NVIDIA GRID est correctement installé, exécutez nvidia-smi. Le résultat ressemble à :

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

Définissez la configuration correcte pour la carte :

etc/X11/ctx-nvidia.sh

Problèmes de rafraîchissement multi-écrans HDX 3D Pro

Si vous rencontrez des problèmes de rafraîchissement sur des écrans autres que l’écran principal, vérifiez que la licence NVIDIA GRID est disponible.

Vérifier les journaux d’erreurs Xorg

Le fichier journal de Xorg est nommé de manière similaire à Xorg.{DISPLAY}.log dans le dossier /var/log/.

Problèmes connus et limitations

Pour le vGPU, la console locale de Citrix Hypervisor™ affiche l’écran de session de bureau ICA

Solution de contournement : Désactivez la console VGA locale de la VM en exécutant les commandes suivantes :

Pour Citrix Hypervisor 8.1 et versions ultérieures :

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

Pour Citrix Hypervisor antérieur à 8.1 :

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

Les fenêtres contextuelles du bureau Gnome 3 sont lentes lors de la connexion

Il s’agit d’une limitation du démarrage de la session de bureau Gnome 3.

Certaines applications OpenGL/WebGL ne s’affichent pas correctement lors du redimensionnement de la fenêtre de l’application Citrix Workspace

Le redimensionnement de la fenêtre de l’application Citrix Workspace modifie la résolution de l’écran. Le pilote propriétaire NVIDIA modifie certains états internes et peut exiger que les applications réagissent en conséquence. Par exemple, l’élément de la bibliothèque WebGL lightgl.js peut générer une erreur indiquant que Le rendu sur cette texture n’est pas pris en charge (tampon de trame incomplet).

Configuration et réglage précis des graphiques