グラフィックの構成と微調整
この記事では、Linux VDA のグラフィック構成と微調整に関するガイダンスを提供します。
詳細については、「システム要件」および「インストール概要」セクションを参照してください。
-
構成
- Thinwire は、Linux VDA で使用されるディスプレイリモート処理テクノロジーです。このテクノロジーにより、あるマシンで生成されたグラフィックを、通常はネットワーク経由で別のマシンに送信して表示できます。
圧縮にビデオコーデックを使用 グラフィックポリシーは、デフォルトのグラフィックモードを設定し、さまざまなユースケースに対して次のオプションを提供します。
- 優先する場合にのみ使用。この設定がデフォルトです。追加の構成は不要です。これにより、すべての Citrix® 接続で Thinwire が選択され、一般的なデスクトップワークロードのスケーラビリティ、帯域幅、および優れた画質のために最適化されます。
- 画面全体。フルスクリーン H.264 または H.265 を使用して Thinwire を提供し、特に 3D グラフィックを多用する場合に、ユーザーエクスペリエンスと帯域幅の向上に最適化します。
- アクティブに変更される領域。Thinwire のアダプティブディスプレイテクノロジーは、動く画像(ビデオ、移動中の 3D)を識別します。H.264 は、画像が動いている画面の部分でのみ使用されます。H.264 ビデオコーデックを選択的に使用することで、HDX Thinwire は、H.264 ビデオコーデックを使用して頻繁に更新される画面の一部を検出してエンコードできます。静止画圧縮(JPEG、RLE)とビットマップキャッシュは、テキストや写真画像を含む画面の残りの部分で引き続き使用されます。ユーザーは、ビデオコンテンツの帯域幅消費量の削減と品質の向上、およびその他の場所でのロスレステキストまたは高品質画像の恩恵を受けられます。この機能を有効にするには、ポリシー設定の [圧縮にビデオコーデックを使用] を [優先する場合にのみ使用](デフォルト)または [アクティブに変更される領域] に変更します。詳細については、「グラフィックポリシー設定」を参照してください。

次の視覚表示ポリシー設定を含む、その他のポリシー設定を使用して、ディスプレイリモート処理のパフォーマンスを微調整できます。
- シンプルグラフィックの優先色深度
- ターゲットフレームレート
-
並列処理
- Thinwire は、特定のタスクを並列化することで、1 秒あたりのフレーム数(FPS)を向上させることができますが、そのオーバーヘッドとして全体の CPU 消費量がわずかに増加します。この機能はデフォルトで無効になっています。この機能を有効にするには、VDA で次のコマンドを実行します。
sudo /opt/Citrix/VDA/bin/ctxreg create -k "HKLM\System\CurrentControlSet\Control\Citrix\Thinwire" -t "REG_DWORD" -v "ParallelProcessing" -d "0x00000001" --force
<!--NeedCopy-->
デフォルトでは、[視覚的品質] ポリシー設定の [Build to Lossless] の設定は、動く画像に対して JPEG ではなく H.264 になりました。
H.264 エンコーディングは、優れた画質を提供します。[圧縮にビデオコーデックを使用] ポリシーは、その設定を制御し、デフォルトは [優先する場合にのみ使用] です。[Build to Lossless] で JPEG を強制的に使用するには、[圧縮にビデオコーデックを使用] ポリシーを [ビデオコーデックを使用しない] に設定します。クライアントが選択的 H.264 をサポートしていない場合、ポリシー設定に関係なく、[Build to Lossless] は JPEG にフォールバックします。
次のクライアントが選択的 H.264 をサポートしています。
- Citrix Receiver for Windows 4.9~4.12
- Citrix Receiver for Linux 13.5~13.10
- Citrix Workspace™ アプリ 1808 for Windows 以降
- Citrix Workspace アプリ 1808 for Linux 以降
[視覚的品質] および [圧縮にビデオコーデックを使用] ポリシー設定の詳細については、「視覚表示ポリシー設定」および「グラフィックポリシー設定」を参照してください。
H.265 ビデオコーデックのサポート
7.18 リリース以降、Linux VDA は、リモートグラフィックとビデオのハードウェアアクセラレーションのために H.265 ビデオコーデックをサポートしています。
この機能は、次の環境で使用できます。
- Citrix Receiver for Windows 4.10~4.12
- Citrix Workspace アプリ 1808 for Windows 以降
- この機能を利用するには、Linux VDA とクライアントの両方で有効にします。クライアントの GPU が DXVA インターフェイスを使用した H.265 デコードをサポートしていない場合、グラフィックポリシー設定の H.265 デコードは無視され、セッションは H.264 ビデオコーデックの使用にフォールバックします。詳細については、「[H.265 ビデオエンコーディング](/ja-jp/citrix-workspace-app-for-windows/improve/h-265-video-encoding.html)」を参照してください。
VDA で H.265 ハードウェアエンコーディングを有効にするには:
- [ビデオコーデックにハードウェアエンコーディングを使用] ポリシーを有効にします。
- [3D グラフィックワークロードに最適化] ポリシーを有効にします。
- [圧縮にビデオコーデックを使用] ポリシーがデフォルトであるか、[画面全体] に設定されていることを確認します。
- [視覚的品質] ポリシーが [Build to Lossless] または [Always Lossless] に設定されていないことを確認します。
クライアントで H.265 ハードウェアエンコーディングを有効にするには、「H.265 ビデオエンコーディング」を参照してください。
YUV444 ソフトウェアエンコーディングのサポート
Linux VDA は YUV444 ソフトウェアエンコーディングをサポートしています。YUV エンコーディングスキームは、各ピクセルに輝度値と色値の両方を割り当てます。YUV では、「Y」は輝度または「luma」値を表し、「UV」は色または「chroma」値を表します。
この機能は、次の環境で使用できます。
- Citrix Receiver for Windows 4.10~4.12
- Citrix Workspace アプリ 1808 for Windows 以降
各一意の Y、U、または V 値は、8 ビット、つまり 1 バイトのデータで構成されます。YUV444 データ形式は、ピクセルあたり 24 ビットを送信します。YUV422 データ形式は、2 つのピクセル間で U および V 値を共有し、その結果、ピクセルあたり平均 16 ビットの伝送速度になります。次の表は、YUV444 と YUV420 の直感的な比較を示しています。
- |YUV444|YUV420|
- |--|--|
- |!\[YUV444]\(/ja-jp/linux-virtual-delivery-agent/2203-ltsr/media/yuv444.png)| !\[YUV420]\(/ja-jp/linux-virtual-delivery-agent/2203-ltsr/media/yuv420.png)|
VDA で YUV444 ソフトウェアエンコーディングを有効にするには:
- [圧縮にビデオコーデックを使用] ポリシーが [画面全体] に設定されていることを確認します。
- [視覚的品質] ポリシーが [Always Lossless] または [Build to Lossless] に設定されていることを確認します。
帯域幅推定に基づく平均ビットレートの調整
Citrix は、帯域幅推定に基づいて平均ビットレートを調整することで、HDX™ 3D Pro ハードウェアエンコーディングを強化します。
HDX 3D Pro ハードウェアエンコーディングが使用されている場合、VDA はネットワークの帯域幅を断続的に推定し、帯域幅推定に基づいてエンコードされたフレームのビットレートを調整できます。この新機能は、鮮明さと流暢さのバランスを取るメカニズムを提供します。
この機能はデフォルトで有効になっています。無効にするには、次のコマンドを実行します。
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-->
この機能を使用するだけでなく、次のコマンドを実行して鮮明さと流暢さの間で調整することもできます。AverageBitRatePercent および MaxBitRatePercent パラメーターは、帯域幅使用率のパーセンテージを設定します。設定する値が高いほど、グラフィックは鮮明になりますが、流暢さは低下します。推奨される設定範囲は 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-->
平均ビットレート調整では、画面が静止している場合、新しいフレームが送信されないため、最新のフレームは低品質な状態のままになります。シャープ化サポートは、最新のフレームを最高品質で再構成し、直ちに送信することで、この問題に対処できます。
Linux VDA Thinwireでサポートされるポリシーの完全なリストについては、「ポリシーサポートリスト」を参照してください。
Linux VDAでのマルチモニターサポートの構成に関する情報については、「CTX220128」を参照してください。
グラフィック品質スライダー
仮想Linuxセッションで実行されるグラフィックステータスインジケーターツールに、グラフィック品質スライダーを含めました。このスライダーは、画像品質と対話性の適切なバランスを見つけるのに役立ちます。
スライダーを使用するには、次の手順を実行します。
-
Citrix Studioでグラフィックステータスインジケーターポリシーを有効にします

-
ターミナルを開き、
ctxsliderコマンドを実行します。スライダーUIが表示されます注:
視覚品質ポリシーを常にロスレスまたはロスレスにビルドに設定している場合、スライダーUIは表示されません

次の選択肢が利用可能です。
- 画像品質を変更するには、スライダーを移動します。スライダーは0~9の範囲をサポートしています
- システム定義の設定を使用するには、システムに任せるを選択します
- ロスレスモードに切り替えるには、ピクセルパーフェクトを選択します
トラブルシューティング
グラフィックモードの確認
どのグラフィックモードが使用されているかを確認するには、次のコマンドを実行します (0 はTW+、1 は全画面ビデオコーデックを意味します)。
sudo /opt/Citrix/VDA/bin/ctxreg dump | grep GraphicsMode
<!--NeedCopy-->
結果は次のようになります。
create -k "HKLM\Software\Citrix\Ica\Session\4\Graphics" -t "REG_DWORD" -v "GraphicsMode" -d "0x00000000" --force
H.264の使用状況の確認
H.264が使用されているかを確認するには、次のコマンドを実行します (0 は使用されていない、1 は使用中を意味します)。
sudo /opt/Citrix/VDA/bin/ctxreg dump | grep H264
<!--NeedCopy-->
結果は次のようになります。
create -k "HKLM\Software\Citrix\Ica\Session\4\Graphics" -t "REG_DWORD" -v "H264" -d "0x00000000" --force
H.265の使用状況の確認
全画面H.265が使用されているかを確認するには、次のコマンドを実行します (0 は使用されていない、1 は使用中を意味します)。
sudo /opt/Citrix/VDA/bin/ctxreg dump | grep H265
<!--NeedCopy-->
結果は次のようになります。
create -k "HKLM\Software\Citrix\Ica\Session\4\Graphics" -t "REG_DWORD" -v "H265" -d "0x00000000" --force
YUVエンコーディングスキームの確認
どのYUVエンコーディングスキームが使用されているかを確認するには、次のコマンドを実行します (0 はYUV420、1 はYUV422、2 はYUV444を意味します)。
注: YUVFormatの値は、ビデオコーデックが使用されている場合にのみ意味があります。
sudo /opt/Citrix/VDA/bin/ctxreg dump | grep YUVFormat
<!--NeedCopy-->
結果は次のようになります。
create -k "HKLM\Software\Citrix\Ica\Session\4\Graphics" -t "REG_DWORD" -v "YUVFormat" -d "0x00000000" --force
YUV444ソフトウェアエンコーディングの使用状況の確認
YUV444ソフトウェアエンコーディングが使用されているかを確認するには、次のコマンドを実行します。
sudo /opt/Citrix/VDA/bin/ctxreg dump | grep Graphics
<!--NeedCopy-->
YUV444が使用されている場合、結果は次のようになります。
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
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のログファイルは、/var/log/ フォルダーに Xorg.{DISPLAY}.log のような名前で保存されています。
既知の問題と制限事項
vGPUの場合、Citrix Hypervisor™ローカルコンソールにICAデスクトップセッション画面が表示される
回避策: 次のコマンドを実行して、VMのローカルVGAコンソールを無効にします。
Citrix Hypervisor 8.1以降の場合:
[root@xenserver® ~]# xe vgpu-param-set uuid=vgpu-uuid extra_args=disable_vnc=1
<!--NeedCopy-->
Citrix Hypervisor 8.1より前の場合:
xe vm-param-set uuid=<vm-uuid> platform:vgpu_extra_args="disable_vnc=1"
<!--NeedCopy-->
NVIDIA K2グラフィックカードはパススルーモードでYUV444ハードウェアエンコーディングをサポートしない
ポリシー設定でBuild to Losslessが有効になっている場合、NVIDIA K2グラフィックカードを使用してアプリ/デスクトップセッションを起動すると、黒または灰色の画面が表示されます。この問題は、NVIDIA K2グラフィックカードがパススルーモードでYUV444ハードウェアエンコーディングをサポートしていないために発生します。詳細については、Video Encode and Decode GPU Support Matrixを参照してください。
ログイン時のGnome 3デスクトップポップアップの遅延
これはGnome 3デスクトップセッション起動の制限事項です。
Citrix Workspaceアプリウィンドウのサイズ変更時に一部のOpenGL/WebGLアプリケーションが適切にレンダリングされない
Citrix Workspaceアプリのウィンドウのサイズを変更すると、画面解像度が変更されます。NVIDIA独自のドライバーは一部の内部状態を変更し、アプリケーションがそれに応じて応答する必要がある場合があります。たとえば、WebGLライブラリ要素lightgl.jsは、「Rendering to this texture is not supported (incomplete frame buffer)」というエラーを生成する可能性があります。