グラフィックの構成
この記事では、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 での Build to Lossless に H.264 を使用
デフォルトでは、視覚的品質ポリシー設定のBuild to Losslessの優先設定は、動いている画像に対して JPEG ではなく H.264 になりました。
H.264 エンコーディングは、優れた画質を提供します。圧縮にビデオコーデックを使用ポリシーがその優先設定を制御し、デフォルトは優先する場合にのみ使用です。Build to Losslessで JPEG を強制的に使用するには、圧縮にビデオコーデックを使用ポリシーをビデオコーデックを使用しないに設定します。クライアントが Selective H.264 をサポートしていない場合、ポリシー設定に関係なくBuild to Losslessは JPEG にフォールバックします。Citrix Receiver for Windows 4.9 から 4.12、Citrix Receiver for Linux 13.5 から 13.10、Citrix Workspace app 1808 for Windows 以降、および Citrix Workspace app 1808 for Linux 以降は Selective H.264 をサポートしています。視覚的品質および圧縮にビデオコーデックを使用ポリシー設定の詳細については、視覚表示ポリシー設定およびグラフィックポリシー設定を参照してください。
H.265 ビデオコーデックのサポート
7.18 リリース以降、Linux VDA はリモートグラフィックとビデオのハードウェアアクセラレーションのために H.265 ビデオコーデックをサポートしています。この機能は、Citrix Receiver for Windows 4.10 から 4.12 および Citrix Workspace app 1808 for Windows 以降で使用できます。この機能を利用するには、Linux VDA とクライアントの両方で有効にします。クライアントの GPU が DXVA インターフェイスを使用した H.265 デコードをサポートしていない場合、グラフィックの H.265 デコードポリシー設定は無視され、セッションは H.264 ビデオコーデックの使用にフォールバックします。詳細については、H.265 ビデオエンコーディングを参照してください。
VDA で H.265 ハードウェアエンコーディングを有効にするには:
- ビデオコーデックにハードウェアエンコーディングを使用ポリシーを有効にします。
- 3D グラフィックワークロード用に最適化ポリシーを有効にします。
- 圧縮にビデオコーデックを使用ポリシーがデフォルトであるか、画面全体に設定されていることを確認します。
- 視覚的品質ポリシーがBuild to LosslessまたはAlways Losslessに設定されていないことを確認します。
クライアントで H.265 ハードウェアエンコーディングを有効にするには、H.265 ビデオエンコーディングを参照してください。
YUV444 ソフトウェアエンコーディングのサポート
Linux VDA は YUV444 ソフトウェアエンコーディングをサポートしています。YUV エンコーディングスキームは、各ピクセルに輝度と色の両方の値を割り当てます。YUV では、’Y’ は輝度、つまり「ルミナンス」値を表し、’UV’ は色、つまり「クロミナンス」値を表します。この Linux VDA の機能は、Citrix Receiver for Windows 4.10 から 4.12 および Citrix Workspace app 1808 for Windows 以降で使用できます。
各一意の Y、U、および V の値は、8 ビット、つまり 1 バイトのデータで構成されます。YUV444 データ形式は、ピクセルあたり 24 ビットを送信します。YUV422 データ形式は、2 つのピクセル間で U および V の値を共有するため、平均伝送速度はピクセルあたり 16 ビットになります。次の表は、YUV444 と YUV420 の直感的な比較を示しています。
| YUV444 | YUV420 |
|---|---|
![]() |
![]() |
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を参照してください。
トラブルシューティング
使用中のグラフィックモードの確認
使用中のグラフィックモードを確認するには、次のコマンドを実行します (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コンソールを無効にします。
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)」というエラーを生成する可能性があります。

