グラフィックの構成
ここでは、Linux VDAのグラフィックの構成と微調整について説明します。
詳しくは、「システム要件」および「インストールの概要」を参照してください。
構成パラメーター
ctxregユーティリティで調整できる、グラフィック関連の構成パラメーターはHKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Citrix\Thinwireにいくつかあります。
Thinwire Plusを有効にする方法
Thinwire Plusは、標準のVDAおよび3D Proの両方でデフォルトで有効になっています。
H.264を有効にする方法
H.264は、オペレーティングシステムの要件のほか、Citrix Workspaceアプリ(Citrix Receiverの新名称)のバージョンにも最低条件があります。クライアントが要件を満たさない場合は、Thinwire Plusにフォールバックします。
オペレーティングシステム | H.264の最低条件 |
---|---|
Windows | 3.4以降 |
Mac OS X | 11.8以降 |
Linux | 13.0以降 |
Android | 3.5 |
iOS | 5.9 |
Chrome OS | 1.4 |
最新のCitrix Workspaceアプリの機能マトリックスは、https://docs.citrix.com/ja-jp/citrix-workspace-app/citrix-workspace-app-feature-matrix.htmlを参照してください。
次のコマンドを実行して、H.264エンコーディングをVDAでアドバタイズします。
sudo ctxreg create -k "HKLM\System\CurrentControlSet\Control\Citrix\Thinwire" -t "REG_DWORD" -v "AdvertiseH264" -d "0x00000001" --force
<!--NeedCopy-->
HDX 3D Proのハードウェアエンコーディングを有効にする方法
HDX 3D ProのAdvertiseH264設定では、ソフトウェアのH.264エンコーディングのみが有効になります。 次のコマンドを実行してハードウェアエンコーディングを有効にします:
sudo ctxreg create -k "HKLM\System\CurrentControlSet\Control\Citrix\Thinwire" -t "REG_DWORD" -v "HardwareEncoding" -d "0x00000001" --force
<!--NeedCopy-->
注:
「
ctxreg command can't be found
」というエラーが表示された場合は、フルパスを指定してctxreg
コマンドを使用します。たとえば、sudo ctxreg create -k "HKLM\System\CurrentControlSet\Control\Citrix\Thinwire" -t "REG_DWORD" -v "AdvertiseH264" -d "0x00000001" –force
の代わりにsudo /opt/Citrix/VDA/bin/ctxreg create -k "HKLM\System\CurrentControlSet\Control\Citrix\Thinwire" -t "REG_DWORD" -v "AdvertiseH264" -d "0x00000001" –force
を使用します。
Thinwire Plusを低帯域幅用に調整する方法
-
MaxColorDepth
Default 0x20, type DWORD <!--NeedCopy-->
このオプションは、Thinwireプロトコルによりクライアントに転送されるグラフィックの色数を指定します。
帯域幅を節約するには、色数を0x10(シンプルなグラフィック用の優先色数)または0x8(実験的な低帯域幅モード)に設定します。
-
品質
表示品質
Default: 0x1(medium), type: DWORD, valid values: 0x0(low), 0x1(medium), 0x2(high), 0x3(build to lossless), 0x4 always lossless. <!--NeedCopy-->
帯域幅を節約するには、Qualityを0x0(low)に設定します。
-
その他のパラメーター
-
TargetFPS
ターゲットフレーム数
Default: 0x1e (30), Type: DWORD <!--NeedCopy-->
-
MinFPS
保持する最低フレーム数
Default: 0xa (10), Type: DWORD <!--NeedCopy-->
-
MaxScreenNum
1人のユーザーが所有できるモニターの最大数
Default: 0x2, Type: DWORD <!--NeedCopy-->
標準VDAの場合、最大値には10までの値を設定できます。3D Proで許可される最大値は4です。
-
トラブルシューティング
どのエンコーディングが使用中かの確認
次のコマンドを実行して、H.264エンコーディングが使用中であるかどうかを確認します。「1」はH.264、「0」はTW+の意味です:
sudo ctxreg dump | grep H264
<!--NeedCopy-->
次の内容に類似した結果が出力されます。
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
3D Proのハードウェアエンコーディングが使用中であるかどうかの確認
次のコマンドを実行します(0は使用されていないことを、1は使用中であることを意味します):
sudo /opt/Citrix/VDA/bin/ctxreg dump | grep HardwareEncoding
<!--NeedCopy-->
次の内容に類似した結果が出力されます。
create -k "HKLM\Software\Citrix\Ica\Session\1\Graphics" -t "REG_DWORD" -v "HardwareEncoding" -d "0x00000001" --force
これ以外にも nvidia-smi コマンドを使用する方法があります。ハードウェアエンコーディングが使用中の場合は、次の内容に類似した結果が出力されます:
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-->
NVIDIA GRIDグラフィックドライバーが正しくインストールされていることを確認します
NVIDIA GRIDグラフィックスドライバーが正しくインストールされているかどうかを確認するには、nvidia-smiを実行します。次の内容に類似した結果が出力されます。
+------------------------------------------------------+
| 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-->
次のコマンドで、カードに適切な構成を設定します:
etc/X11/ctx-nvidia.sh
HDX 3D Proマルチモニターでの再描画の問題
プライマリモニター以外の画面で再描画の問題が発生している場合は、NVIDIA GRIDライセンスが利用可能であることを確認してください。
Xorgのエラーログを確認する
Xorgのログファイルは、Xorg.{DISPLAY}.log に類似した名前で /var/log/ フォルダー内にあります。
既知の問題と制限事項
vGPUで、XenServerのローカルコンソールにICAデスクトップのセッション画面が表示される
回避策:次のコマンドを実行して、仮想マシンのローカルVGAコンソールを無効にします:
xe vm-param-set uuid=<vm-uuid> platform:vgpu_extra_args="disable_vnc=1"
<!--NeedCopy-->
NVENC APIが、8Q以外のvGPUプロファイルでサポートされない
NVIDIA Tesla M60カードの8Qを除くvGPUプロファイルではCUDAがサポートされていないため、NVENC APIおよびCitrix 3D Proのハードウェアエンコーディングを利用することはできません。
NVIDIA K2グラフィックカードは、パススルーモードでYUV444ハードウェアエンコーディングをサポートしない
これは、NVIDIA K2グラフィックカードの制限です。
Gnome 3デスクトップのポップアップがログオン時に遅くなる
これはGnome 3デスクトップのセッション開始時の機能的制限です。
一部のOpenGLおよびWebGLアプリケーションが、Citrix Receiverウィンドウのサイズ変更時に適切に表示されない
Citrix Receiverのウィンドウサイズを変更すると、画面の解像度も変更されます。NVIDIAの独自ドライバーにより内部状態が一部変更されるため、それに応じた対応がアプリケーションに求められる場合があります。たとえば、WebGLライブラリ要素のlightgl.jsによって「Rendering to this texture is not supported (incomplete frame buffer)
」というエラーメッセージが生成されることがあります。