グラフィックの構成
この記事では、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)とビットマップキャッシュは、テキストや写真画像を含む画面の残りの部分で引き続き使用されます。ユーザーは、ビデオコンテンツの帯域幅の低減と品質の向上、およびロスレステキストまたは高品質の画像を他の場所で組み合わせるという利点を得られます。この機能を有効にするには、ポリシー設定の圧縮にビデオコーデックを使用を優先する場合にのみ使用(デフォルト)またはアクティブに変更される領域に適用に変更します。詳細については、「グラフィックポリシー設定」を参照してください。
ディスプレイリモートのパフォーマンスを微調整するために、以下の視覚表示ポリシー設定を含む他のいくつかのポリシー設定を使用できます。
ThinwireでBuild to LosslessにH.264を使用する
デフォルトでは、視覚的品質ポリシー設定のBuild to Losslessの優先設定は、動画の場合、JPEGではなくH.264になりました。
H.264エンコードは、優れた画質を提供します。ビデオコーデックを圧縮に使用ポリシーは、その設定を制御し、デフォルトは優先する場合に使用です。ロスレスにビルドでJPEGを使用するように強制するには、ビデオコーデックを圧縮に使用ポリシーをビデオコーデックを使用しないに設定します。クライアントが選択的H.264をサポートしていない場合、ロスレスにビルドはポリシー設定に関係なくJPEGにフォールバックします。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.264をサポートしています。視覚的品質およびビデオコーデックを圧縮に使用ポリシー設定の詳細については、視覚表示ポリシー設定とグラフィックポリシー設定を参照してください。
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ビデオエンコードを参照してください。
VDAでH.265ハードウェアエンコードを有効にするには:
-
ビデオコーデックにハードウェアエンコードを使用ポリシーを有効にします。
-
3Dグラフィックワークロード向けに最適化ポリシーを有効にします。
-
ビデオコーデックを圧縮に使用ポリシーがデフォルトであるか、画面全体に設定されていることを確認します。
-
視覚的品質ポリシーが、ロスレスにビルドまたは常にロスレスに設定されていないことを確認します。
クライアントでH.265ハードウェアエンコードを有効にするには、H.265ビデオエンコードを参照してください。
YUV444ソフトウェアエンコードのサポート
Linux VDAはYUV444ソフトウェアエンコードをサポートしています。YUVエンコードスキームは、各ピクセルに輝度と色の両方の値を割り当てます。YUVでは、「
Y」は輝度、つまり「luma」値を表し、「UV」は色、つまり「クロマ」値を表します。このLinux VDAの機能は、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ソフトウェアエンコーディングを有効にするには:
-
ビデオコーデックを使用して圧縮ポリシーが画面全体に設定されていることを確認します。
-
視覚品質ポリシーが常にロスレスまたはロスレスに構築に設定されていることを確認します。
帯域幅の見積もりに基づいて平均ビットレートを調整する
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を参照してください。
グラフィック品質スライダー
仮想Linuxセッションで実行されるグラフィックステータスインジケーターツールに、グラフィック品質スライダーを含めました。このスライダーは、画質とインタラクティブ性の適切なバランスを見つけるのに役立ちます。
スライダーを使用するには、次の手順を実行します。
-
Citrix Studioでグラフィックステータスインジケーターポリシーを有効にします。

-
ターミナルを開き、
ctxsliderコマンドを実行します。スライダーUIが表示されます。注:視覚品質ポリシーを常にロスレスまたはロスレスにビルドに設定している場合、スライダーUIは表示されません。
次の選択肢が利用可能です。-
画像品質を変更するには、スライダーを動かします。スライダーは0から9の範囲をサポートしています。
-
システム定義の設定を使用するには、システムに決定させるを選択します。
-
ロスレスモードに切り替えるには、ピクセルパーフェクトを選択します。
-
トラブルシューティング
使用中のグラフィックモードを確認する
次のコマンドを実行して、どのグラフィックモードが使用されているかを確認します(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コンソールを無効にします。
xe vm-param-set uuid=<vm-uuid> platform:vgpu_extra_args="disable_vnc=1"
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)」というエラーを生成する可能性があります。

