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

ディスプレイリモート処理のパフォーマンスを微調整するために、以下の視覚表示ポリシー設定を含む、その他のポリシー設定を使用できます。
H.264 ハードウェアエンコーディング
「ビデオコーデックにハードウェアエンコードを使用」ポリシーにより、利用可能な場合、グラフィックハードウェアを使用して、ビデオコーデックで画面要素を圧縮できます。そのようなハードウェアが利用できない場合、VDAはソフトウェアビデオコーデックを使用したCPUベースのエンコードにフォールバックします。
バージョン2204以降、Linux VDAは、アクティブに変化する領域に対してH.264ハードウェアコーデックの選択的な使用をサポートしています。この機能により、CPUのビデオ圧縮処理がハードウェアにオフロードされ、画質と1秒あたりのフレーム数(FPS)が向上します。この機能を有効にするには、次の手順を実行します。
-
「ビデオコーデックにハードウェアエンコードを使用」ポリシーを有効にします。
-
「圧縮にビデオコーデックを使用」ポリシーを有効にし、「アクティブに変化する領域の場合」を選択します。
視覚的にロスレスな圧縮を許可する
「視覚的にロスレスな圧縮を許可」ポリシーにより、グラフィックに対して真のロスレス圧縮の代わりに視覚的にロスレスな圧縮を使用できます。視覚的にロスレスな圧縮は、真のロスレス圧縮よりもパフォーマンスが向上しますが、目視では気づかない程度のわずかな損失があります。この設定は、「視覚品質」設定の値の使用方法を変更します。
「視覚的にロスレスな圧縮を許可」ポリシーはデフォルトで無効になっています。視覚的にロスレスな圧縮を有効にするには、「視覚的にロスレスな圧縮を許可」を「有効」に設定し、「視覚品質」ポリシーを「ロスレスにビルド」に設定します。
「圧縮にビデオコーデックを使用」ポリシーが「ビデオコーデックを使用しない」に設定されている場合、視覚的にロスレスな圧縮は静止画エンコードに適用されます。「圧縮にビデオコーデックを使用」ポリシーが「ビデオコーデックを使用しない」以外のグラフィックモードに設定されている場合、視覚的にロスレスな圧縮はH.264エンコードに適用されます。
以下のクライアントは選択的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以降
「視覚品質」および「圧縮にビデオコーデックを使用」ポリシー設定の詳細については、「視覚表示ポリシー設定」(/ja-jp/citrix-virtual-apps-desktops/policies/reference/ica-policy-settings/visual-display-policy-settings.html)および「グラフィックポリシー設定」(/ja-jp/citrix-virtual-apps-desktops/policies/reference/ica-policy-settings/graphics-policy-settings.html)を参照してください。
H.265ビデオコーデックのサポート
7.18リリース以降、Linux VDAは、リモートグラフィックとビデオのハードウェアアクセラレーションのためにH.265ビデオコーデックをサポートしています。
この機能は以下で使用できます。
-
シトリックス レシーバー フォー ウィンドウズ 4.10から4.12
-
Windows向けCitrix Workspaceアプリ1808以降
この機能を利用するには、Linux VDAとクライアントの両方で有効にします。クライアントのGPUがDXVAインターフェイスを使用したH.265デコードをサポートしていない場合、グラフィックポリシー設定のH.265デコードは無視され、セッションはH.264ビデオコーデックの使用にフォールバックします。詳しくは、「H.265ビデオエンコーディング」を参照してください。
VDAでH.265ハードウェアエンコーディングを有効にするには:
-
ビデオコーデックにハードウェアエンコーディングを使用ポリシーを有効にします。
-
3Dグラフィックワークロード向けに最適化ポリシーを有効にします。
-
圧縮にビデオコーデックを使用ポリシーがデフォルトであるか、画面全体に設定されていることを確認します。
-
視覚品質ポリシーが、「ロスレスビルド」または「常にロスレス」に設定されていないことを確認します。
クライアントでH.265ハードウェアエンコーディングを有効にするには、「H.265ビデオエンコーディング」を参照してください。
YUV444ソフトウェアエンコーディングのサポート
Linux VDAはYUV444ソフトウェアエンコーディングをサポートしています。YUVエンコーディングスキームは、各ピクセルに輝度と色の両方の値を割り当てます。YUVでは、「
Y」は輝度または「luma」値を表し、「UV」は色または「クロマ」値を表します。この機能は、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 |
|---|---|
![]() |
![]() |
VDAでYUV444ソフトウェアエンコーディングを有効にするには:
-
「ビデオコーデックを使用して圧縮」ポリシーが「画面全体」に設定されていることを確認します。
-
「視覚品質」ポリシーが「常にロスレス」または「ロスレスに構築」に設定されていることを確認します。
グラフィック品質スライダー
仮想Linuxセッションで実行されるグラフィックステータスインジケーターツールに、グラフィック品質スライダーを組み込みました。このスライダーは、画像品質とインタラクティブ性の適切なバランスを見つけるのに役立ちます。
スライダーを使用するには、次の手順を実行します。
-
Citrix Studioで「グラフィックステータスインジケーター」ポリシーを有効にします。

-
ターミナルを開き、
ctxsliderコマンドを実行します。スライダーUIが表示されます。注:「視覚品質」ポリシーを「常にロスレス」または「ロスレスに構築」に設定している場合、スライダーUIは表示されません。
次の選択肢が利用可能です。-
画像品質を変更するには、スライダーを移動します。スライダーは0~9の範囲をサポートします。
-
システム定義の設定を使用するには、「システムに決定させる」を選択します。
-
ロスレスモードに切り替えるには、Pixel perfect を選択します。
-
帯域幅の見積もりに基づいて平均ビットレートを調整する
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
この機能を使用するだけでなく、次のコマンドを実行してシャープネスと流暢さのバランスを調整することもできます。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
平均ビットレート調整では、画面が静止している場合、新しいフレームが送信されないため、最新のフレームは低品質の状態のままになります。シャープ化のサポートは、最新のフレームを最高品質で再構成してすぐに送信することで、この問題に対処できます。
Linux VDA Thinwire でサポートされているポリシーの完全なリストについては、「ポリシーサポートリスト」を参照してください。
Linux VDA でのマルチモニターサポートの構成については、「CTX220128」を参照してください。
並列処理
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
トラブルシューティング
使用中のグラフィックモードを確認する
使用中のグラフィックモードを確認するには、次のコマンドを実行します (0 は TW+、1 は全画面ビデオコーデックを意味します)。
sudo /opt/Citrix/VDA/bin/ctxreg dump | grep GraphicsMode
結果は次のようになります。
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
結果は次のようになります。
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
結果は次のようになります。
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
結果は次のようになります。
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
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
結果は次のようになります。
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 |
+-----------------------------------------------------------------------------+
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 |
+-----------------------------------------------------------------------------+
カードの正しい構成を設定します。
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
Citrix Hypervisor 8.1より前の場合:
xe vm-param-set uuid=<vm-uuid> platform:vgpu_extra_args="disable_vnc=1"
Gnome 3デスクトップのポップアップがログオン時に遅い
これはGnome 3デスクトップセッションの起動における制限です。
シトリックスワークスペースアプリケーションのウィンドウのサイズを変更した際に、一部のOpenGL/WebGLアプリケーションが正しくレンダリングされないことがあります
Citrix Workspaceアプリのウィンドウのサイズを変更すると、画面解像度が変更されます。NVIDIA独自のドライバーは内部状態をいくつか変更し、アプリケーションがそれに応じて応答することを要求する場合があります。例えば、WebGLライブラリ要素のlightgl.jsは、「
Rendering to this texture is not supported (incomplete frame buffer)」というエラーを発生させる可能性があります。

