非仮想化GPU
Linux VDAのドキュメントでは、非仮想化GPUとは次を指します:
- リモートPCアクセスのシナリオで使用されるGPU
- ハイパーバイザーから渡されたGPU
この記事では、非仮想化GPUでHDX 3D Proを有効にする方法について説明します。
前提条件
- HDX 3D Proを有効にします。これを行うには、Linux VDAをインストールするときに、
CTX_XDL_HDX_3D_PRO
をY
に設定します。環境変数については、「手順8:Runtime Environmentをセットアップしてインストールを完了する」を参照してください。 - NVIDIA Linux Capture SDKでサポートされているGPUの場合、HDX 3D Proを有効にすると、ハードウェアアクセラレーションがデフォルトで有効になります。追加の構成は必要ありません。
-
NVIDIA Linux Capture SDKでサポートされていないGPUの場合は、
XDamage
をインストールします。たとえば、sudo apt-get install -y libxdamage1
を実行すると、XDamageをUbuntu 20.04にインストールできます。通常、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 を例として使用しながら、以下の手順に従ってテンプレート構成ファイルを変更します:
-
driver_name は、実際のドライバー名で置き換えてください。
たとえば、ドライバー名が
intel
の場合は、構成ファイル名をctx-intel-1.conf
に変更できます。 -
ビデオドライバー情報を追加します。
各テンプレート構成ファイルには、「Device」という名前のセクションがあり、コメントアウトされています。このセクションでは、ビデオドライバー情報を記述します。ビデオドライバー情報を追加する前に、このセクションを有効にします。このセクションを有効にするには:
-
GPUの製造元から提供されているガイドを参照して構成情報を確認します。ネイティブ構成ファイルを生成できます。ネイティブ構成ファイルを使用して、GPUがローカル環境で動作できることを確認します。
-
ネイティブ構成ファイルの[Device]セクションを ctx-driver_name-1.conf にコピーします。
-
-
次のコマンドを実行して、手順1で設定した構成ファイル名をLinux VDAが認識できるようにレジストリキーを設定します。
/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つの手順を実行します:
-
使用するLinuxディストリビューションに応じて、
evdi-dkms
パッケージをインストールします:sudo apt install evdi-dkms <!--NeedCopy-->
-
EVDIへのグラフィックディスプレイのオフロードを有効にします:
/opt/Citrix/VDA/bin/ctxreg create -k "HKLM\System\CurrentControlSet\Control\Citrix\Thinwire" -t "REG_DWORD" -v "Evdi" -d "0x00000001" --force <!--NeedCopy-->
-
IntelのGPUを使用している場合は、ディスプレイマネージャーを無効にします。それ以外の場合、IntelのGPUはディスプレイマネージャーによって占有され、Citrixリモートセッションでは使用できません。
sudo systemctl disable --now gdm <!--NeedCopy-->
トラブルシューティング
グラフィック出力がないか文字化けする
ローカルで3Dアプリケーションを実行でき、すべてを適切に構成しているのにグラフィック出力がないまたは不明瞭であるとすると、原因はバグです。/opt/Citrix/VDA/bing/setlogを使用してGFX_X11をverboseに設定することでデバッグ用にトレース情報を収集します。
ハードウェアエンコーディングが機能しない
Xdamage
を使用する場合、ソフトウェアエンコーディングのみがサポートされます。