Linux Virtual Delivery Agent

Grafikkonfiguration und Feinabstimmung

Dieser Artikel bietet Anleitungen zur Grafikkonfiguration und Feinabstimmung des Linux VDA.

Weitere Informationen finden Sie unter Systemanforderungen und im Abschnitt Installationsübersicht.

Konfiguration

  • Videocodec für Komprimierung

Thinwire ist die im Linux VDA verwendete Anzeigeremoting-Technologie. Die Technologie ermöglicht die Übertragung von auf einem Computer generierten Grafiken, typischerweise über ein Netzwerk, zur Anzeige auf einem anderen Computer.

  • Die Grafikrichtlinie Videocodec für Komprimierung verwenden legt den Standard-Grafikmodus fest und bietet die folgenden Optionen für verschiedene Anwendungsfälle:

  • Bei bevorzugter Verwendung. Diese Einstellung ist die Standardeinstellung. Es ist keine zusätzliche Konfiguration erforderlich. Sie stellt sicher, dass Thinwire für alle Citrix®-Verbindungen ausgewählt und für Skalierbarkeit, Bandbreite und überragende Bildqualität bei typischen Desktop-Workloads optimiert wird.
  • Für den gesamten Bildschirm. Liefert Thinwire mit Vollbild-H.264 oder H.265, um die Benutzererfahrung und Bandbreite zu optimieren, insbesondere bei intensiver Nutzung von 3D-Grafiken.
  • Für sich aktiv ändernde Bereiche. Die adaptive Anzeigetechnologie in Thinwire identifiziert bewegte Bilder (Video, 3D in Bewegung). Sie verwendet H.264 nur in dem Bereich des Bildschirms, in dem sich das Bild bewegt. Die selektive Verwendung des H.264-Videocodecs ermöglicht es HDX Thinwire, häufig aktualisierte Bildschirmbereiche zu erkennen und mit dem H.264-Videocodec zu kodieren. Für den Rest des Bildschirms, einschließlich Text und fotografischer Bilder, werden weiterhin Standbildkomprimierung (JPEG, RLE) und Bitmap-Caching verwendet. Benutzer profitieren von geringerem Bandbreitenverbrauch und besserer Qualität für Videoinhalte in Kombination mit verlustfreiem Text oder hochwertigen Bildern an anderer Stelle. Um diese Funktion zu aktivieren, setzen Sie die Richtlinie Videocodec für Komprimierung verwenden auf Bei bevorzugter Verwendung (Standard) oder Für sich aktiv ändernde Bereiche. Weitere Informationen finden Sie unter Grafikrichtlinieneinstellungen. Informationen zum Aktivieren der H.264-Hardwarekodierung für diese Funktion finden Sie unter H.264-Hardwarekodierung.

    Für den gesamten Bildschirm ausgewählt

Einige andere Richtlinieneinstellungen, einschließlich der folgenden Anzeigerichtlinieneinstellungen, können zur Feinabstimmung der Leistung des Anzeigeremoting verwendet werden:

  • Bevorzugte Farbtiefe für einfache Grafiken
  • Zielbildrate
  • Visuelle Qualität

  • H.264-Hardwarekodierung

  • Die Richtlinie Hardwarekodierung für Videocodec verwenden ermöglicht die Verwendung von Grafikhardware, falls verfügbar, um Bildschirmelemente mit dem Videocodec zu komprimieren. Wenn solche Hardware nicht verfügbar ist, greift der VDA auf CPU-basierte Kodierung mit dem Software-Videocodec zurück.

Ab Version 2204 unterstützt der Linux VDA die selektive Verwendung des H.264-Hardware-Codecs für sich aktiv ändernde Bereiche. Diese Funktion verlagert den CPU-Videokomprimierungsverbrauch auf die Hardware und verbessert die Bildqualität sowie die Anzahl der Bilder pro Sekunde (FPS). Gehen Sie wie folgt vor, um die Funktion zu aktivieren:

  1. Aktivieren Sie die Richtlinie Hardwarekodierung für Videocodec verwenden.
    1. Aktivieren Sie die Richtlinie Videocodec für Komprimierung verwenden und wählen Sie Für sich aktiv ändernde Bereiche.

Visuell verlustfreie Komprimierung zulassen

Die Richtlinie Visuell verlustfreie Komprimierung zulassen ermöglicht die Verwendung von visuell verlustfreier Komprimierung anstelle von wirklich verlustfreier Komprimierung für Grafiken. Visuell verlustfrei verbessert die Leistung gegenüber wirklich verlustfrei, weist jedoch geringfügige, mit bloßem Auge nicht wahrnehmbare Verluste auf. Diese Einstellung ändert die Art und Weise, wie die Werte der Einstellung Visuelle Qualität verwendet werden.

Die Richtlinie Visuell verlustfreie Komprimierung zulassen ist standardmäßig deaktiviert. Um die visuell verlustfreie Komprimierung zu aktivieren, setzen Sie Visuell verlustfreie Komprimierung zulassen auf Aktiviert und die Richtlinie Visuelle Qualität auf Verlustfrei aufbauen.

Wenn die Richtlinie Videocodec für Komprimierung verwenden auf Videocodec nicht verwenden eingestellt ist, gilt die visuell verlustfreie Komprimierung für die Standbildkodierung. Wenn die Richtlinie Videocodec für Komprimierung verwenden auf einen anderen Grafikmodus als Videocodec nicht verwenden eingestellt ist, gilt die visuell verlustfreie Komprimierung für die H.264-Kodierung.

Die folgenden Clients unterstützen selektives H.264:

  • Citrix Receiver für Windows 4.9 bis 4.12
    • Citrix Receiver für Linux 13.5 bis 13.10
    • Citrix Workspace™-App 1808 für Windows und höher
    • Citrix Workspace-App 1808 für Linux und höher

Weitere Informationen zu den Richtlinieneinstellungen Visuelle Qualität und Videocodec für Komprimierung verwenden finden Sie unter Anzeigerichtlinieneinstellungen und Grafikrichtlinieneinstellungen.

Unterstützung für H.265-Videocodec

Ab Version 7.18 unterstützt der Linux VDA den H.265-Videocodec für die Hardwarebeschleunigung von Remote-Grafiken und -Videos.

Sie können diese Funktion verwenden mit:

  • Citrix Receiver für Windows 4.10 bis 4.12
  • Citrix Workspace-App 1808 für Windows und höher

    • Um diese Funktion nutzen zu können, aktivieren Sie sie sowohl auf dem Linux VDA als auch auf Ihrem Client. Wenn die GPU Ihres Clients die H.265-Dekodierung über die DXVA-Schnittstelle nicht unterstützt, wird die Richtlinieneinstellung ‘H.265-Dekodierung für Grafiken’ ignoriert, und die Sitzungen greifen auf die Verwendung des H.264-Videocodecs zurück. Weitere Informationen finden Sie unter H.265-Videokodierung.

    • So aktivieren Sie die H.265-Hardwarekodierung auf dem VDA:

  1. Aktivieren Sie die Richtlinie Hardwarekodierung für Videocodec verwenden.
  2. Aktivieren Sie die Richtlinie Für 3D-Grafik-Workload optimieren.
  3. Stellen Sie sicher, dass die Richtlinie Videocodec für Komprimierung verwenden auf Standard oder Für den gesamten Bildschirm eingestellt ist.
  4. Stellen Sie sicher, dass die Richtlinie Visuelle Qualität NICHT auf Verlustfrei aufbauen oder Immer verlustfrei eingestellt ist.

Informationen zum Aktivieren der H.265-Hardwarekodierung auf Ihrem Client finden Sie unter H.265-Videokodierung.

Unterstützung für YUV444-Softwarekodierung

Der Linux VDA unterstützt die YUV444-Softwarekodierung. Das YUV-Kodierungsschema weist jedem Pixel sowohl Helligkeits- als auch Farbwerte zu. In YUV steht ‘Y’ für den Helligkeits- oder ‘Luma‘-Wert und ‘UV’ für die Farb- oder ‘Chroma’-Werte. Sie können diese Funktion mit Citrix Receiver für Windows 4.10 bis 4.12 und mit der Citrix Workspace-App 1808 für Windows und höher verwenden.

Jeder eindeutige Y-, U- oder V-Wert umfasst 8 Bit oder ein Byte Daten. Das YUV444-Datenformat überträgt 24 Bit pro Pixel. Das YUV422-Datenformat teilt sich U- und V-Werte zwischen zwei Pixeln, was zu einer durchschnittlichen Übertragungsrate von 16 Bit pro Pixel führt. Die folgende Tabelle zeigt einen intuitiven Vergleich zwischen YUV444 und YUV420.

YUV444 YUV420
YUV444 YUV420

So aktivieren Sie die YUV444-Softwarekodierung auf dem VDA:

  1. Stellen Sie sicher, dass die Richtlinie Videocodec für Komprimierung verwenden auf Für den gesamten Bildschirm eingestellt ist.

  2. Stellen Sie sicher, dass die Richtlinie für die visuelle Qualität auf Immer verlustfrei oder Verlustfrei aufbauen eingestellt ist.

Schieberegler für die Grafikqualität

Wir haben einen Schieberegler für die Grafikqualität in das Grafikstatusanzeige-Tool integriert, das in Ihren virtuellen Linux-Sitzungen ausgeführt wird. Der Schieberegler hilft dabei, die richtige Balance zwischen Bildqualität und Interaktivität zu finden.

Um den Schieberegler zu verwenden, führen Sie die folgenden Schritte aus:

  1. Aktivieren Sie die Richtlinie Grafische Statusanzeige in Citrix Studio.

    Die Richtlinie für die grafische Statusanzeige

  2. Öffnen Sie das Terminal und führen Sie den Befehl ctxslider aus. Die Schieberegler-Benutzeroberfläche wird angezeigt.

    Hinweis:

    Wenn Sie die Richtlinie Visuelle Qualität auf Immer verlustfrei oder Verlustfrei aufbauen eingestellt haben, wird die Schieberegler-Benutzeroberfläche nicht angezeigt.

    Schieberegler für Grafikqualität

    Die folgenden Optionen stehen nun zur Verfügung:

    • Um die Bildqualität zu ändern, bewegen Sie den Schieberegler. Der Schieberegler unterstützt einen Bereich von 0–9.
    • Um systemdefinierte Einstellungen zu verwenden, wählen Sie System entscheiden lassen.
    • Um in den verlustfreien Modus zu wechseln, wählen Sie Pixelgenau.

Anpassen der durchschnittlichen Bitraten basierend auf Bandbreitenschätzungen

Citrix verbessert die HDX™ 3D Pro Hardware-Kodierung durch Anpassen der durchschnittlichen Bitraten basierend auf Bandbreitenschätzungen.

Wenn die HDX 3D Pro Hardware-Kodierung verwendet wird, kann der VDA die Bandbreite des Netzwerks zeitweise schätzen und die Bitraten der kodierten Frames entsprechend anpassen. Diese neue Funktion bietet einen Mechanismus, um ein Gleichgewicht zwischen Schärfe und Flüssigkeit zu finden.

Diese Funktion ist standardmäßig aktiviert. Um sie zu deaktivieren, führen Sie den folgenden Befehl aus:

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

Zusätzlich zur Verwendung dieser Funktion können Sie auch die folgenden Befehle ausführen, um zwischen Schärfe und Flüssigkeit zu wechseln. Die Parameter AverageBitRatePercent und MaxBitRatePercent legen den Prozentsatz der Bandbreitennutzung fest. Je höhere Werte Sie einstellen, desto schärfer sind die Grafiken und desto geringer ist die Flüssigkeit. Der empfohlene Einstellungsbereich liegt zwischen 50 und 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-->

Bei der Anpassung der durchschnittlichen Bitrate bleibt der aktuellste Frame in einem Zustand geringer Qualität, wenn Ihr Bildschirm stillsteht, da keine neuen Frames gesendet werden. Die Schärfeunterstützung kann dieses Problem beheben, indem der aktuellste Frame neu konfiguriert und sofort in höchster Qualität gesendet wird.

Eine vollständige Liste der vom Linux VDA Thinwire unterstützten Richtlinien finden Sie unter Liste der unterstützten Richtlinien.

Informationen zur Konfiguration der Multi-Monitor-Unterstützung auf dem Linux VDA finden Sie unter CTX220128.

Parallele Verarbeitung

Thinwire kann die Anzahl der Bilder pro Sekunde (FPS) durch Parallelisierung bestimmter Aufgaben verbessern, wobei ein geringfügig höherer Gesamt-CPU-Verbrauch entsteht. Diese Funktion ist standardmäßig deaktiviert. Um die Funktion zu aktivieren, führen Sie den folgenden Befehl auf Ihrem VDA aus:

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

Fehlerbehebung

Überprüfen, welcher Grafikmodus verwendet wird

Führen Sie den folgenden Befehl aus, um zu überprüfen, welcher Grafikmodus verwendet wird (0 bedeutet TW+, 1 bedeutet Vollbild-Videocodec):

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

Das Ergebnis ähnelt dem Folgenden:

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

Überprüfen, ob H.264 verwendet wird

Führen Sie den folgenden Befehl aus, um zu überprüfen, ob H.264 verwendet wird (0 bedeutet nicht in Gebrauch, 1 bedeutet in Gebrauch):

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

Das Ergebnis ähnelt dem Folgenden:

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

Überprüfen, ob H.265 verwendet wird

Führen Sie den folgenden Befehl aus, um zu überprüfen, ob Vollbild-H.265 verwendet wird (0 bedeutet nicht in Gebrauch, 1 bedeutet in Gebrauch):

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

Das Ergebnis ähnelt dem Folgenden:

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

Überprüfen, welches YUV-Kodierungsschema verwendet wird

Führen Sie den folgenden Befehl aus, um zu überprüfen, welches YUV-Kodierungsschema verwendet wird (0 bedeutet YUV420, 1 bedeutet YUV422, 2 bedeutet YUV444):

Hinweis: Der Wert von YUVFormat ist nur aussagekräftig, wenn ein Videocodec verwendet wird.

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

Das Ergebnis sieht wie folgt aus:

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

Überprüfen, ob YUV444-Softwarekodierung verwendet wird

Führen Sie den folgenden Befehl aus, um zu überprüfen, ob die YUV444-Softwarekodierung verwendet wird:

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

Wenn YUV444 verwendet wird, sieht das Ergebnis wie folgt aus:

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

Überprüfen, ob Hardwarekodierung für 3D Pro verwendet wird

Führen Sie den folgenden Befehl aus (0 bedeutet nicht in Verwendung. 1 bedeutet in Verwendung):

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

Die Ergebnisse sehen wie folgt aus:

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

Eine weitere Möglichkeit ist die Verwendung des Befehls nvidia-smi. Die Ausgaben sehen wie folgt aus, wenn die Hardwarekodierung verwendet wird:

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

Überprüfen, ob der NVIDIA GRID-Grafiktreiber korrekt installiert ist

Um zu überprüfen, ob der NVIDIA GRID-Grafiktreiber korrekt installiert ist, führen Sie nvidia-smi aus. Die Ergebnisse sehen wie folgt aus:

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

Legen Sie die korrekte Konfiguration für die Karte fest:

etc/X11/ctx-nvidia.sh

HDX 3D Pro-Probleme beim Neuzeichnen auf mehreren Monitoren

Wenn Sie Probleme beim Neuzeichnen auf anderen Bildschirmen als dem primären Monitor feststellen, überprüfen Sie, ob die NVIDIA GRID-Lizenz verfügbar ist.

Xorg-Fehlerprotokolle überprüfen

Die Protokolldatei von Xorg heißt ähnlich wie Xorg.{DISPLAY}.log im Ordner /var/log/.

Bekannte Probleme und Einschränkungen

Bei vGPU zeigt die lokale Citrix Hypervisor™-Konsole den ICA-Desktopsitzungsbildschirm an

Problemumgehung: Deaktivieren Sie die lokale VGA-Konsole der VM, indem Sie die folgenden Befehle ausführen:

Für Citrix Hypervisor 8.1 und höher:

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

Für Citrix Hypervisor vor 8.1:

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

NVIDIA K2-Grafikkarten unterstützen keine YUV444-Hardwarekodierung im Pass-Through-Modus

Wenn Build to Lossless über die Richtlinieneinstellung aktiviert ist, erscheint ein schwarzer oder grauer Bildschirm, wenn Benutzer eine App-/Desktopsitzung mit einer NVIDIA K2-Grafikkarte starten. Das Problem tritt auf, weil NVIDIA K2-Grafikkarten die YUV444-Hardwarekodierung im Pass-Through-Modus nicht unterstützen. Weitere Informationen finden Sie unter Video Encode and Decode GPU Support Matrix.

Gnome 3-Desktop-Popups sind beim Anmelden langsam

Dies ist eine Einschränkung des Gnome 3-Desktop-Sitzungsstarts.

Einige OpenGL/WebGL-Anwendungen werden beim Ändern der Größe des Citrix Workspace-App-Fensters nicht gut gerendert

Das Ändern der Größe des Fensters der Citrix Workspace-App ändert die Bildschirmauflösung. Der proprietäre NVIDIA-Treiber ändert einige interne Zustände und erfordert möglicherweise, dass Anwendungen entsprechend reagieren. Zum Beispiel könnte das WebGL-Bibliothekselement lightgl.js einen Fehler auslösen, der besagt: ‘Rendering to this texture is not supported (incomplete frame buffer)’.

Grafikkonfiguration und Feinabstimmung