グラフィックの構成

ここでは、Linux VDAのグラフィックの構成と微調整について説明します。

詳しくは、「システム要件」および「インストールの概要」を参照してください。

構成パラメーター

ctxregユーティリティで調整できる、グラフィック関連の構成パラメーターはHKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Citrix\Thinwireにいくつかあります。

Thinwire Plusを有効にする方法

Thinwire Plusは、標準のVDAおよび3D Proの両方でデフォルトで有効になっています。

H.264を有効にする方法

H.264は、オペレーティングシステムの要件のほか、Citrix Workspaceアプリ(Citrix Receiverの新名称)のバージョンにも最低条件があります。クライアントが要件を満たさない場合は、Thinwire Plusにフォールバックします。

オペレーティングシステム H.264の最低条件
Windows 3.4以降
Mac OS X 11.8以降
Linux 13.0以降
Android 3.5
iOS 5.9
Chrome OS 1.4

最新のCitrix Workspaceアプリの機能マトリックスは、https://docs.citrix.com/ja-jp/citrix-workspace-app/citrix-workspace-app-feature-matrix.htmlを参照してください。

次のコマンドを実行して、H.264エンコーディングをVDAでアドバタイズします。

sudo ctxreg create -k "HKLM\System\CurrentControlSet\Control\Citrix\Thinwire" -t "REG_DWORD" -v "AdvertiseH264" -d "0x00000001" --force
<!--NeedCopy-->

HDX 3D Proのハードウェアエンコーディングを有効にする方法

HDX 3D ProのAdvertiseH264設定では、ソフトウェアのH.264エンコーディングのみが有効になります。 次のコマンドを実行してハードウェアエンコーディングを有効にします:

sudo ctxreg create -k "HKLM\System\CurrentControlSet\Control\Citrix\Thinwire" -t "REG_DWORD" -v "HardwareEncoding" -d "0x00000001" --force
<!--NeedCopy-->

注:

ctxreg command can't be found」というエラーが表示された場合は、フルパスを指定してctxregコマンドを使用します。たとえば、sudo ctxreg create -k "HKLM\System\CurrentControlSet\Control\Citrix\Thinwire" -t "REG_DWORD" -v "AdvertiseH264" -d "0x00000001" –forceの代わりにsudo /opt/Citrix/VDA/bin/ctxreg create -k "HKLM\System\CurrentControlSet\Control\Citrix\Thinwire" -t "REG_DWORD" -v "AdvertiseH264" -d "0x00000001" –forceを使用します。

Thinwire Plusを低帯域幅用に調整する方法

  • MaxColorDepth

     Default 0x20, type DWORD
     <!--NeedCopy-->
    

    このオプションは、Thinwireプロトコルによりクライアントに転送されるグラフィックの色数を指定します。

    帯域幅を節約するには、色数を0x10(シンプルなグラフィック用の優先色数)または0x8(実験的な低帯域幅モード)に設定します。

  • 品質

    表示品質

     Default: 0x1(medium), type: DWORD, valid values: 0x0(low), 0x1(medium), 0x2(high), 0x3(build to lossless), 0x4 always lossless.
     <!--NeedCopy-->
    

    帯域幅を節約するには、Qualityを0x0(low)に設定します。

  • その他のパラメーター

    • TargetFPS

      ターゲットフレーム数

      Default: 0x1e (30), Type: DWORD
      <!--NeedCopy-->
      
    • MinFPS

      保持する最低フレーム数

       Default: 0xa (10), Type: DWORD
       <!--NeedCopy-->
      
    • MaxScreenNum

      1人のユーザーが所有できるモニターの最大数

       Default: 0x2, Type: DWORD
       <!--NeedCopy-->
      

      標準VDAの場合、最大値には10までの値を設定できます。3D Proで許可される最大値は4です。

トラブルシューティング

どのエンコーディングが使用中かの確認

次のコマンドを実行して、H.264エンコーディングが使用中であるかどうかを確認します。「1」はH.264、「0」はTW+の意味です:

sudo ctxreg dump | grep H264
<!--NeedCopy-->

次の内容に類似した結果が出力されます。

create -k "HKLM\Software\Citrix\Ica\Session\1\Graphics" -t "REG_DWORD" -v "H264" -d "0x00000001" --force

create -k "HKLM\System\CurrentControlSet\Control\Citrix\Thinwire" -t "REG_DWORD" -v "AdvertiseH264" -d "0x00000001" --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のログファイルは、Xorg.{DISPLAY}.log に類似した名前で /var/log/ フォルダー内にあります。

既知の問題と制限事項

vGPUで、XenServerのローカルコンソールにICAデスクトップのセッション画面が表示される

回避策:次のコマンドを実行して、仮想マシンのローカルVGAコンソールを無効にします:

xe vm-param-set uuid=<vm-uuid> platform:vgpu_extra_args="disable_vnc=1"
<!--NeedCopy-->

NVENC APIが、8Q以外のvGPUプロファイルでサポートされない

NVIDIA Tesla M60カードの8Qを除くvGPUプロファイルではCUDAがサポートされていないため、NVENC APIおよびCitrix 3D Proのハードウェアエンコーディングを利用することはできません。

NVIDIA K2グラフィックカードは、パススルーモードでYUV444ハードウェアエンコーディングをサポートしない

これは、NVIDIA K2グラフィックカードの制限です。

Gnome 3デスクトップのポップアップがログオン時に遅くなる

これはGnome 3デスクトップのセッション開始時の機能的制限です。

一部のOpenGLおよびWebGLアプリケーションが、Citrix Receiverウィンドウのサイズ変更時に適切に表示されない

Citrix Receiverのウィンドウサイズを変更すると、画面の解像度も変更されます。NVIDIAの独自ドライバーにより内部状態が一部変更されるため、それに応じた対応がアプリケーションに求められる場合があります。たとえば、WebGLライブラリ要素のlightgl.jsによって「Rendering to this texture is not supported (incomplete frame buffer)」というエラーメッセージが生成されることがあります。

グラフィックの構成