Linux Virtual Delivery Agent

vGPU非対応グラフィックカード

vGPU非対応グラフィックカードとは、NVIDIA仮想GPU(vGPU)ソリューションをサポートしないグラフィックカードを指します。この記事では、vGPU非対応グラフィックカードの使用に関する情報を提供します。

前提条件

vGPU非対応グラフィックカードを使用するには、次のことを行う必要があります:

構成

Xorg構成ファイルの変更

NVIDIAグラフィックカードの場合

NVIDIAドライバーを使用している場合、構成ファイルは自動的にインストールおよび設定されます。

その他のグラフィックカードの場合

/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. カードの製造元から提供されているガイドを参照して構成情報を確認します。ネイティブ構成ファイルを生成できます。Linux VDAセッションを実行していないときに、ネイティブ構成ファイルを使用して、ローカル環境でカードが動作可能であることを確認します。

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

  3. 次のコマンドを実行して、手順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-->
    

vGPU非対応グラフィックの有効化

vGPU非対応グラフィック機能は、デフォルトで無効になっています。次のコマンドを実行してXDamageEnabledの値を1に設定することで有効にできます。

/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は、vGPU非対応のカードを使用するリモートPCアクセスVDAの物理モニターのブランキングをサポートしています。この機能拡張により、グラフィックディスプレイがExtensible Virtual Display Interface(EVDI)仮想モニターにオフロードされます。

注:

EVDI仮想モニターの最大数は、ディストリビューションによって異なります。

モニターブランキングは、Ubuntu 20.04、Debian 11.3、およびDebian 10.9 VDAで機能します。モニターブランキングを使用するには、次の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グラフィックカードを使用している場合は、ディスプレイマネージャーを無効にします。それ以外の場合、Intelカードはディスプレイマネージャーによって占有され、Citrixリモートセッションでは使用できません。

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

トラブルシューティング

グラフィック出力がないか文字化けする

ローカルで3Dアプリケーションを実行でき、すべてを適切に構成しているのにグラフィック出力がないまたは不明瞭であるとすると、原因はバグです。/opt/Citrix/VDA/bin/setlogを使用してGFX_X11をverboseに設定することでデバッグ用にトレース情報を収集します。

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

この機能ではソフトウェアエンコーディングのみをサポートしています。

vGPU非対応グラフィックカード