Konfigurieren von Grafiken
Dieser Artikel enthält eine Anleitung zur Grafikkonfiguration und -optimierung für den Linux VDA.
Weitere Informationen finden Sie unter Systemanforderungen und Installationsübersicht.
Konfiguration
Thinwire ist die bei Linux VDAs verwendete Technologie für das Anzeigeremoting. Durch sie können auf einer Maschine erzeugte Grafiken auf eine andere Maschine für die Anzeige übertragen werden (normalerweise über ein Netzwerk).
Die Richtlinie Videocodec für Komprimierung verwenden bestimmt den Standardgrafikmodus und bietet folgende Optionen für verschiedene Anwendungsfälle:
- Verwenden, wenn bevorzugt. Dies ist die Standardeinstellung. Eine zusätzliche Konfiguration ist nicht erforderlich. Wenn Sie diese Einstellung beibehalten, dann wird Thinwire für alle Citrix Verbindungen ausgewählt und für Skalierbarkeit, Bandbreite und bessere Bildqualität bei typischen Desktoparbeitslasten optimiert.
- Für den gesamten Bildschirm. Thinwire wird mit Vollbild-H.264 oder -H.265 zur Optimierung der Benutzererfahrung und Bandbreite, insbesondere bei intensiver 3D-Grafiknutzung, verwendet.
- Für aktive Änderungsbereiche. Die Technologie für adaptive Anzeige von Thinwire identifiziert Bewegtbilder (Video, 3D In Motion) und verwendet H.264 nur in dem Bildschirmbereich, in dem das Bild sich bewegt. Mit der selektiven Verwendung des H.264-Videocodecs können Bildschirmsegmente, die häufig mit dem H.264-Videocodec aktualisiert werden (z. B. Videoinhalte), von HDX Thinwire erkannt und codiert werden. Für den übrigen Bildschirm (einschließlich Text und Fotos) werden weiterhin die Standbildkomprimierung (JPEG, RLE) und das Bitmapcaching verwendet. Dies erfordert weniger Bandbreite und führt zu einer verbesserten Anzeige von Videoinhalten, verbunden mit verlustfreiem Text und hoher Bildqualität. Um dieses Feature zu aktivieren, ändern Sie die Richtlinieneinstellung Verwenden von Videocodec für die Komprimierung in Verwenden, wenn bevorzugt (Standardeinstellung) oder Für aktive Änderungsbereiche. Weitere Informationen finden Sie unter Einstellungen der Richtlinie “Grafiken”.
Einige weitere Richtlinieneinstellungen, einschließlich der nachfolgend aufgeführten Einstellungen der Richtlinie “Visuelle Anzeige”, können zur Optimierung der Anzeigeremoting-Leistung verwendet werden:
H.264 für “Zu verlustfrei verbessern” in Thinwire
Standardmäßig ist die Einstellung Zu verlustfrei verbessern für die Richtlinieneinstellung Bildqualität jetzt auf H.264 anstelle von JPEG für Bewegtbilder festgelegt.
Die H.264-Codierung bietet eine bessere Bildqualität. Die Richtlinie Videocodec zur Komprimierung verwenden steuert diese Einstellung, Standardeinstellung ist Verwenden, wenn bevorzugt. Um für Zu verlustfrei verbessern JPEG zu erzwingen, legen Sie die Richtlinie Videocodec zur Komprimierung verwenden auf Videocodec nicht verwenden fest. Wenn der Client selektives H.264 nicht unterstützt, wird Zu verlustfrei verbessern unabhängig von den Richtlinieneinstellungen auf JPEG zurückgesetzt. 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 sowie Citrix Workspace-App 1808 für Linux und höher unterstützen selektives H.264. Weitere Informationen zu den Richtlinieneinstellungen für Bildqualität und Videocodec zur Komprimierung verwenden finden Sie unter Einstellungen der Richtlinie “Visuelle Anzeige” und Einstellungen der Richtlinie “Grafiken”.
Unterstützung für H.265-Videocodec
Ab Version 7.18 unterstützt der Linux VDA die Hardwarebeschleunigung von Remotegrafiken und -videos per H.265-Videocodec. Sie können dieses Feature in Citrix Receiver für Windows 4.10 bis 4.12 und in der Citrix Workspace-App 1808 für Windows und höher verwenden. Um das Feature zu nutzen, müssen Sie es auf dem Linux VDA und auf dem Client aktivieren. Wenn die GPU auf dem Client eine H.265-Decodierung über die DXVA-Schnittstelle nicht unterstützt, wird die Einstellung der Richtlinie “H.265-Decodierung für Grafiken” ignoriert und die Sitzung greift auf den H.264-Videocodec zurück. Weitere Informationen finden Sie unter H.265-Videocodierung.
Aktivieren der H.265-Hardwarecodierung auf dem VDA:
- Aktivieren Sie die Richtlinie Hardwarecodierung für Videocodec verwenden.
- Aktivieren der Richtlinie Optimierung für 3D-Grafikworkload
- Stellen Sie sicher, dass für die Richtlinie Videocodec zur Komprimierung verwenden die Standardeinstellung oder Für den gesamten Bildschirm verwendet wird.
- Stellen Sie sicher, dass die Richtlinie Bildqualität NICHT auf Zu verlustfrei verbessern oder Immer verlustfrei festgelegt ist.
Informationen zum Aktivieren der H.265-Hardwarecodierung auf dem Client finden Sie unter H.265-Videocodierung.
Unterstützung für YUV444-Softwarecodierung
Der Linux VDA unterstützt die YUV444-Softwarecodierung. 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 dieses Feature des Linux VDA in Citrix Receiver für Windows 4.10 bis 4.12 und in der Citrix Workspace-App 1808 für Windows und höher verwenden.
Jeder eindeutige Y-, U- und V- Wert hat 8 Bits oder ein Byte an Daten. Das Datenformat YUV444 überträgt 24 Bit pro Pixel. Das Datenformat YUV422 teilt U- und V- Werte zwischen zwei Pixeln, was zu einer durchschnittlichen Übertragungsrate von 16 Bit pro Pixel führt. Folgende Tabelle zeigt einen intuitiven Vergleich zwischen YUV444 und YUV420.
YUV444 | YUV420 |
---|---|
Aktivieren der YUV444-Softwarcodierung auf dem VDA:
- Stellen Sie sicher, dass für die Richtlinie Videocodec zur Komprimierung verwenden die Einstellung Für den gesamten Bildschirm verwendet wird.
- Stellen Sie sicher, dass die Richtlinie Bildqualität auf Immer verlustfrei oder Zu verlustfrei verbessern festgelegt ist.
Anpassen der durchschnittlichen Bitraten basierend auf Bandbreitenschätzungen
Citrix verbessert die HDX 3D Pro-Hardwarecodierung durch Anpassung der durchschnittlichen Bitraten basierend auf Bandbreitenschätzungen.
Wenn die HDX 3D Pro-Hardwarecodierung verwendet wird, kann der VDA sporadisch die Bandbreite des Netzwerks schätzen und die Bitraten von codierten Frames basierend auf den Bandbreitenschätzungen anpassen. Dieses neue Feature bietet einen Mechanismus, um zwischen Schärfe und Fluss auszugleichen.
Dieses Feature ist standardmäßig aktiviert. Führen Sie folgenden Befehl aus, um es zu deaktivieren:
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 zu diesem Feature können Sie auch die folgenden Befehle ausführen, um zwischen Schärfe und Fluss anzupassen. Die Parameter AverageBitRatePercent und MaxBitRatePercent legen den Prozentsatz der Bandbreitenauslastung fest. Je höhere Werte Sie festlegen, desto schärfer sind Grafiken und weniger glatt fließen sie. Der empfohlene Bereich für diese Einstellung ist 50 bis 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-->
Wenn mit der durchschnittlichen Bitratenanpassung der Bildschirm angehalten wird, erscheint der letzte Frame mit niedriger Qualität, weil keine neuen Frames gesendet werden. Die Schärfungsunterstützung kann dieses Problem beheben, indem neu konfiguriert und sofort der neueste Frame in höchster Qualität sofort gesendet wird.
Eine vollständige Liste der von Linux VDA Thinwire unterstützten Richtlinien finden Sie unter Liste der unterstützten Richtlinien.
Informationen zur Konfiguration der Multi-Monitor-Unterstützung für den Linux VDA finden Sie unter CTX220128.
Problembehandlung
Verwendeten Grafikmodus ermitteln
Führen Sie folgenden Befehl aus, um den verwendeten Grafikmodus zu ermitteln (0 ist TW+; 1 ist Vollbildvideocodec):
sudo /opt/Citrix/VDA/bin/ctxreg dump | grep GraphicsMode
<!--NeedCopy-->
Das Ergebnis sieht in etwa wie folgt aus:
create -k "HKLM\Software\Citrix\Ica\Session\4\Graphics" -t "REG_DWORD" -v "GraphicsMode" -d "0x00000000" --force
Ermitteln, ob H.264 verwendet wird
Führen Sie folgenden Befehl aus, um zu ermitteln, ob H.264 verwendet wird (0 = nicht verwendet; 1 = verwendet):
sudo /opt/Citrix/VDA/bin/ctxreg dump | grep H264
<!--NeedCopy-->
Das Ergebnis sieht in etwa wie folgt aus:
create -k "HKLM\Software\Citrix\Ica\Session\4\Graphics" -t "REG_DWORD" -v "H264" -d "0x00000000" --force
Ermitteln, ob H.265 verwendet wird
Führen Sie folgenden Befehl aus, um zu ermitteln, ob Vollbild H.265 verwendet wird (0 = nicht verwendet; 1 = verwendet):
sudo /opt/Citrix/VDA/bin/ctxreg dump | grep H265
<!--NeedCopy-->
Das Ergebnis sieht in etwa wie folgt aus:
create -k "HKLM\Software\Citrix\Ica\Session\4\Graphics" -t "REG_DWORD" -v "H265" -d "0x00000000" --force
Ermitteln des verwendeten YUV-Codierungsschemas
Führen Sie den folgenden Befehl aus, um zu überprüfen, welches YUV-Codierungsschema verwendet wird (0 bedeutet YUV420. 1 bedeutet YUV422. 2 bedeutet YUV444):
Hinweis: Der Wert von “YUVFormat” ist nur dann sinnvoll, wenn ein Videocodec verwendet wird.
sudo /opt/Citrix/VDA/bin/ctxreg dump | grep YUVFormat
<!--NeedCopy-->
Das Ergebnis sieht in etwa wie folgt aus:
create -k "HKLM\Software\Citrix\Ica\Session\4\Graphics" -t "REG_DWORD" -v "YUVFormat" -d "0x00000000" --force
Ermitteln, ob die YUV444-Softwarecodierung verwendet wird
Führen Sie den folgenden Befehl aus, um zu prüfen, ob die YUV444-Softwarecodierung verwendet wird:
sudo /opt/Citrix/VDA/bin/ctxreg dump | grep Graphics
<!--NeedCopy-->
Wenn YUV444 verwendet wird, ähnelt das Ergebnis:
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
Ermitteln, ob die Hardwarecodierung für 3D Pro verwendet wird
Führen Sie folgenden Befehl aus (0 = nicht verwendet; 1 = verwendet):
sudo /opt/Citrix/VDA/bin/ctxreg dump | grep HardwareEncoding
<!--NeedCopy-->
Das Ergebnis sieht in etwa wie folgt aus:
create -k "HKLM\Software\Citrix\Ica\Session\1\Graphics" -t "REG_DWORD" -v "HardwareEncoding" -d "0x00000001" --force
Alternativ können Sie den Befehl nvidia-smi verwenden. Wird die Hardwarecodierung verwendet, sieht die Ausgabe in etwa wie folgt aus:
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-->
Prüfung auf fehlerfreie Installation des NVIDIA GRID-Grafiktreibers
Um die korrekte Installation des NVIDIA GRID-Grafiktreibers zu überprüfen, führen Sie nvidia-smi aus. Das Ergebnis sieht in etwa 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 richtige Konfiguration für die Karte fest:
etc/X11/ctx-nvidia.sh
HDX 3D Pro - Probleme bei der Darstellungsaktualisierung bei mehreren Monitoren
Wenn beim Verwenden mehrerer Monitore Probleme bei der Darstellungsaktualisierung auf den sekundären Monitoren auftreten, prüfen Sie, ob die NVIDIA GRID-Lizenz verfügbar ist.
Überprüfen der Xorg-Fehlerprotokolle
Die Xorg-Protokolldatei heißt Xorg.{DISPLAY}.log (oder ähnlich) und ist im Ordner /var/log/.
Bekannte Probleme und Einschränkungen
Für vGPU wird auf der lokalen Citrix Hypervisor-Konsole der Bildschirm der ICA-Desktopsitzung angezeigt
Workaround: Deaktivieren Sie die lokale VGA-Konsole der VM, indem Sie folgende Befehle ausführen:
Citrix Hypervisor 8.1 und höher:
[root@xenserver ~]# xe vgpu-param-set uuid=vgpu-uuid extra_args=disable_vnc=1
<!--NeedCopy-->
Citrix Hypervisor vor Version 8.1:
xe vm-param-set uuid=<vm-uuid> platform:vgpu_extra_args="disable_vnc=1"
<!--NeedCopy-->
NVIDIA K2-Grafikkarten unterstützen nicht die YUV444-Hardwarecodierung im Passthroughmodus
Bei aktivierter Richtlinieneinstellung Zu verlustfrei verbessern wird ein schwarzer oder grauer Bildschirm angezeigt, wenn Benutzer eine App- oder Desktop-Sitzung mit einer NVIDIA K2-Grafikkarte starten. Dieses Problem tritt auf, da NVIDIA K2-Grafikkarten die YUV444-Hardwarecodierung im Passthroughmodus nicht unterstützen. Weitere Informationen finden Sie unter Video Encode and Decode GPU Support Matrix.
Gnome 3-Desktoppopups bei Anmeldung langsam
Dies ist eine Einschränkung im Gnome 3-Desktopsitzungsstart.
Einige OpenGL/WebGL-Anwendungen werden nach dem Ändern der Fenstergröße der Citrix Workspace-App nicht einwandfrei gerendert
Beim Ändern der Fenstergröße für die Citrix Workspace-App wird die Bildschirmauflösung geändert. Damit ändern sich einige interne Zustände des proprietären NVIDIA-Treibers, wodurch Anwendungen möglicherweise entsprechend reagieren müssen. Zum Beispiel das WebGL-Bibliothekselement lightgl.js könnte einen Fehler zeigen: ‘Rendering to this texture is not supported (incomplete frame buffer)
’.