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.

Konfigurationsparameter

Es gibt mehrere Grafikkonfigurationsparameter in HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Citrix\Thinwire, die Sie mit dem Hilfsprogramm ctxreg optimieren können.

Aktivieren von ThinWire Plus

ThinWire Plus ist für den Standard-VDA und 3D Pro standardmäßig aktiviert.

Aktivieren von H.264

Neben dem Betriebssystem gilt für H.264 eine Mindestanforderung an die Receiver-Version. Erfüllt der Client die Anforderungen nicht, erfolgt ein Fallback auf ThinWire Plus.

Betriebssystem Mindestanforderung für H.264
Windows 3.4 oder höher
Mac OS X 11.8 oder höher
Linux 13.0 oder höher
Android 3,5
iOS 5.9
Chrome OS 1.4

Die aktuelle Featurematrix für Citrix Receiver gibt an dieser Stelle: https://www.citrix.com/content/dam/citrix/en_us/documents/data-sheet/citrix-workspace-app-feature-matrix.pdf.

Führen Sie den folgenden Befehl aus, um die H.264-Codierung auf dem VDA anzukündigen:

sudo ctxreg create -k "HKLM\System\CurrentControlSet\Control\Citrix\Thinwire" -t "REG_DWORD" -v "AdvertiseH264" -d "0x00000001" --force

Aktivieren der Hardwarecodierung in HDX 3D Pro

Für HDX 3D Pro aktiviert die Einstellung AdvertiseH264 nur die H.264-Softwarecodierung. Führen Sie folgenden Befehl aus, um die Hardwarecodierung zu aktivieren:

sudo ctxreg create -k "HKLM\System\CurrentControlSet\Control\Citrix\Thinwire" -t "REG_DWORD" -v "HardwareEncoding" -d "0x00000001" --force

Hinweis:

Wenn der Fehler “ctxreg-Befehl kann nicht gefunden werden” angezeigt wird, verwenden Sie den Befehl “ctxreg” mit einem vollständigen Pfad. Verwenden Sie beispielsweise “sudo /opt/Citrix/VDA/bin/ctxreg create -k “HKLM\System\CurrentControlSet\Control\Citrix\Thinwire” -t “REG_DWORD” -v “AdvertiseH264” -d “0x00000001” –force” anstelle von “sudo ctxreg create -k “HKLM\System\CurrentControlSet\Control\Citrix\Thinwire” -t “REG_DWORD” -v “AdvertiseH264” -d “0x00000001” –force”.

Einstellen von ThinWire Plus für geringere Bandbreiten

  • MaxColorDepth

     Default 0x20, type DWORD
    

    Mit dieser Option wird die Farbtiefe von Grafiken festgelegt, die mit dem ThinWire-Protokoll an den Client übertragen werden.

    Zum Einsparen von Bandbreite legen Sie 0x10 (bevorzugte Farbtiefe für einfache Grafiken) oder auf 0x8 (experimenteller Modus für geringe Bandbreiten) fest.

  • Qualität

    Bildqualität

     Default: 0x1(medium), type: DWORD, valid values: 0x0(low), 0x1(medium), 0x2(high), 0x3(build to lossless), 0x4 always lossless.
    

    Zum Einsparen von Bandbreite legen Sie 0x0(low) fest.

  • Zusätzliche Parameter

    • TargetFPS

      Frameratesollwert

      Default: 0x1e (30), Type: DWORD
      
    • MinFPS

      Mindestframeratesollwert

       Standard: 0xa (10), Typ: DWORD
      
    • MaxScreenNum

      Maximale Anzahl Monitore, die der Client haben kann

       Standard: 0x2, Typ: DWORD
      

      Für einen Standard-VDA können Sie einen Höchstwert von 10 festlegen. Für 3D Pro können Sie maximal 4 festlegen.

Problembehandlung

Ermitteln der verwendeten Codierung

Verwenden Sie den folgenden Befehl, um zu ermitteln, ob die H.264-Codierung verwendet wird (1 = H.264, 0 = TW+):

sudo ctxreg dump | grep H264

Das Ergebnis sieht in etwa wie folgt aus:

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

create -k "HKLM\System\CurrentControlSet\Control\Citrix\Thinwire" -t "REG_DWORD" -v "AdvertiseH264" -d "0x00000001" --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

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. Bei verwendeter Hardwarecodierung 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 |
+-----------------------------------------------------------------------------+

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

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 XenServer-Konsole der ICA-Desktopsitzungsbildschirm angezeigt

Workaround: Deaktivieren Sie die lokale VGA-Konsole der VM, indem Sie den folgenden Befehl ausführen:

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

NVENC-API wird in anderen vGPU-Profilen als 8Q nicht unterstützt

Andere vGPU-Profile für die NVIDIA Tesla M60-Karte als 8Q unterstützen cuda nicht. Daher stehen die NVENC-API und Citrix 3D Pro-Hardwarecodierung nicht zur Verfügung.

NVIDIA K2-Grafikkarten unterstützen nicht die YUV444-Hardwarecodierung im Passthroughmodus

Dies ist eine Einschränkung der NVIDIA K2-Grafikkarte.

Gnome 3-Desktoppopups bei Anmeldung langsam

Dies ist eine Einschränkung im Gnome 3-Desktopsitzungsstart.

Einige OpenGL/WebGL-Anwendungen werden nach einer Änderung der Größe des Citrix Receiver-Fensters nicht einwandfrei gerendert

Beim Ändern der Größe des Citrix Receiver-Fensters 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)’.