Linux Virtual Delivery Agent 2106

グラフィックの構成

この記事では、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を強制的に使用するには、[圧縮にビデオコーデックを使用] ポリシーを [ビデオコーデックを使用しない] に設定します。クライアントが選択的H.264をサポートしていない場合、ポリシー設定に関係なく [Build to Lossless] は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ハードウェアエンコードを有効にするには:

  1. [ビデオコーデックにハードウェアエンコードを使用] ポリシーを有効にします
  2. [3Dグラフィックワークロード向けに最適化] ポリシーを有効にします
  3. [圧縮にビデオコーデックを使用] ポリシーがデフォルトであるか、[画面全体] に設定されていることを確認します
  4. [視覚品質] ポリシーが [Build to Lossless] または [Always Lossless] に設定されていないことを確認します

クライアントでH.265ハードウェアエンコードを有効にするには、「H.265ビデオエンコード」を参照してください。

YUV444ソフトウェアエンコードのサポート

Linux VDAはYUV444ソフトウェアエンコードをサポートしています。YUVエンコードスキームは、各ピクセルに輝度と色の両方の値を割り当てます。YUVでは、「Y」は輝度、つまり「luma」値を表し、「UV」は色、つまり「chroma」値を表します。この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
YUV444 YUV420

VDAでYUV444ソフトウェアエンコードを有効にするには:

  1. [圧縮にビデオコーデックを使用] ポリシーが [画面全体] に設定されていることを確認します
  2. [視覚品質] ポリシーが [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セッションで実行されるグラフィックステータスインジケーターツールに、グラフィック品質スライダーが追加されました。このスライダーは、画質と操作性の適切なバランスを見つけるのに役立ちます。

スライダーを使用するには、次の手順を実行します。

  1. Citrix Studioでグラフィックステータスインジケーターポリシーを有効にします。

    グラフィックステータスインジケーターポリシー

  2. ターミナルを開き、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コンソールを無効にします。

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)」というエラーを生成する可能性があります。

グラフィックの構成