Linux Virtual Delivery Agent

非仮想化GPU

  • Linux VDAのドキュメントでは、非仮想化GPUとは、以下のものを指します。

  • リモートPCアクセスシナリオで使用されるGPU
  • ハイパーバイザーからパススルーされたGPU

  • この記事では、非仮想化GPUでHDX™ 3D Proを有効にする方法について説明します。

前提条件

  • HDX 3D Proを有効にします。これを行うには、Linux VDAのインストール時にCTX_XDL_HDX_3D_PROYに設定します。環境変数については、「ステップ8:インストールを完了するためのランタイム環境のセットアップ」を参照してください。
  • NVIDIA Linux Capture SDKがサポートするGPUの場合、HDX 3D Proを有効にすると、ハードウェアアクセラレーションがデフォルトで有効になります。追加の構成は不要です。
  • NVIDIA Linux Capture SDKがサポートしないGPUの場合、XDamageをインストールします。たとえば、Ubuntu 20.04にXDamageをインストールするには、sudo apt-get install -y libxdamage1を実行します。通常、XDamageはXServerの拡張機能として存在します。

  • 構成

  • Xorg構成ファイルの変更

NVIDIA非仮想化GPUの場合

構成ファイルは自動的にインストールおよび設定されます。

その他のGPUの場合

/etc/X11/にインストールされている4つのテンプレート構成ファイルを変更する必要があります。

  • ctx-driver_name-1.conf
  • ctx-driver_name-2.conf
  • ctx-driver_name-3.conf
  • ctx-driver_name-4.conf

ctx-driver_name-1.confを例として、テンプレート構成ファイルを変更するには、次の手順を実行します。

  1. driver_nameを実際のドライバー名に置き換えます。

    たとえば、ドライバー名がintelの場合、構成ファイル名をctx-intel-1.confに変更できます。

  2. ビデオドライバー情報を追加します。

    各テンプレート構成ファイルには、「Device」という名前のセクションが含まれており、コメントアウトされています。このセクションでは、ビデオドライバー情報について説明します。ビデオドライバー情報を追加する前に、このセクションを有効にします。このセクションを有効にするには:

    1. 構成情報については、GPUメーカーが提供するガイドを参照してください。ネイティブ構成ファイルを生成できます。ネイティブ構成ファイルを使用して、GPUがローカル環境で動作することを確認します。

    2. ネイティブ構成ファイルの「Device」セクションをctx-driver_name-1.confにコピーします。

  3. Linux VDAがステップ1で設定された構成ファイル名を認識できるように、次のコマンドを実行してレジストリキーを設定します。

    /opt/Citrix/VDA/bin/ctxreg create -k "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Citrix\XDamage" -t "REG_SZ" -v "DriverName" -d "intel" --force
    <!--NeedCopy-->
    

XDamageの有効化

NVIDIA Linux Capture SDKのリリースノートのサポートされているハードウェアセクションに記載されていないGPUを使用している場合は、次のようにXDamageを有効にします。

/opt/Citrix/VDA/bin/ctxreg create -k "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Citrix\XDamage" -t "REG_DWORD" -v "XDamageEnabled" -d "0x00000001" --force
<!--NeedCopy-->

リモートPCアクセスVDAのモニターブランキング

Linux VDAは、非仮想化GPUを使用するリモートPCアクセスVDAの物理モニターブランキングをサポートしています。

この機能をサポートする完全にテスト済みのLinuxディストリビューションには、Ubuntu 20.04およびDebian 11.3が含まれます。

この機能はデフォルトで無効になっています。これを有効にするには、次の2つの手順を完了します。

  1. お使いのLinuxディストリビューションに基づいてevdi-dkmsパッケージをインストールします。

    sudo apt install evdi-dkms
    <!--NeedCopy-->
    
  2. グラフィックディスプレイのEVDIへのオフロードを有効にします。

    /opt/Citrix/VDA/bin/ctxreg create -k "HKLM\System\CurrentControlSet\Control\Citrix\Thinwire" -t "REG_DWORD" -v "Evdi" -d "0x00000001" --force
    <!--NeedCopy-->
    
  3. Intel GPUを使用している場合は、ディスプレイマネージャーを無効にします。そうしないと、Intel GPUがディスプレイマネージャーによって占有され、Citrix®リモートセッションで利用できなくなります。

    sudo systemctl disable --now gdm
    <!--NeedCopy-->
    

トラブルシューティング

グラフィック出力がない、または文字化けしている

3Dアプリケーションをローカルで実行でき、すべての構成が正しい場合、グラフィック出力がない、または文字化けしているのはバグの結果です。デバッグ用のトレース情報を収集するには、/opt/Citrix/VDA/bin/setlogを使用してGFX_X11をverboseに設定します。

ハードウェアエンコーディングが機能しない

XDamageを使用する場合、ソフトウェアエンコーディングのみがサポートされます。

非仮想化GPU