Linux Virtual Delivery Agent

マルチセッションLinux VDAでの共有GPUアクセラレーション

HDX 3D PROは、VDIデスクトップ(シングルセッション モード)用に構成されたLinux VDAのみをサポートします。マルチセッションLinux VDAの場合は、共有GPUアクセラレーションを有効にしてOpenGL 3Dアプリケーションを高速化することができます。

注:

Waylandディスプレイサーバーは、共有GPUアクセラレーションではサポートされません。

構成

マルチセッションLinux VDAで共有GPUアクセラレーションを有効にしてOpenGL 3Dアプリケーションを高速化するには、以下の構成手順を実行します。

手順1:VirtualGLのインストール

https://sourceforge.net/projects/virtualgl/filesからVirtualGLをダウンロードしてインストールします。DebianベースのLinuxディストリビューションの場合は.debパッケージをダウンロードし、RHELベースのLinuxディストリビューションの場合は.rpmパッケージをダウンロードします。

手順2:VirtualGLの構成

  1. Linuxディスプレイマネージャー(LightDMやGNOME Display Manager(GDM)など)を停止します。

  2. 次のコマンドを実行して、VirtualGL構成スクリプトを実行します。

    #/opt/VirtualGL/bin/vglserver_config
    <!--NeedCopy-->
    

    スクリプトの実行中に次の選択を行うことをお勧めします。

    • 「VirtualGL(GLX+ EGLバックエンド)で使用するサーバーを構成する」には「1」を選択します

    • 「3D Xサーバーのアクセスをvglusersグループに制限する」には「n」を選択します

    • 「フレームバッファデバイスのアクセスをvglusersグループに制限する」には「n」を選択します

    • 「XTEST拡張機能を無効にする」には「n」を選択します

  3. 構成スクリプトを終了し、Linuxディスプレイマネージャーを再起動します。

手順3:GPUアクセラレーションでのOpenGL 3Dアプリケーションの実行

Linux VDAセッションでGPUアクセラレーションを使用してOpenGL 3Dアプリケーションを実行するには、次の2つの方法があります。

  • 方法1: すべてのOpenGL 3Dアプリケーションに対して共有GPUアクセラレーションを有効にする

    これを行うには、Linux VDAでbashターミナルを開き、次のコマンドを実行してbashターミナルを再起動します。このアプローチにより、bashターミナルから起動されるすべてのOpenGL 3D アプリケーションについて、共有GPUアクセラレーションが有効になります。

     #/opt/Citrix/VDA/sbin/ctxgpushare.sh enable
     <!--NeedCopy-->
    
  • 方法 2:特定のOpenGL 3Dアプリケーションに対して共有GPUアクセラレーションを有効にする。

    これを行うには、Linux VDAでターミナルを開き、指定したアプリケーションの名前で次のコマンドを実行します。

     #vglrun <AppName>
     <!--NeedCopy-->
    

制限事項

  • 共有GPUアクセラレーションは、Linux VDA上のディスプレイマネージャーと緊密に連動します。想定される機能とパフォーマンスを実現するには、共有GPUアクセラレーションのディスプレイマネージャーとしてLightDMを使用することをお勧めします。
  • WebGLハードウェアアクセラレーションは、UbuntuおよびDebian上のFirefoxでのみサポートされます。

スケーラビリティ

GPUを共有できる最大同時セッション数は、CPUとシステムメモリに依存します。これは、GPUの最大ビデオメモリにも大きく依存します。

例:

操作 結果
NVIDIA M10-2B vGPUには2,048 MBのビデオメモリがあり、VariCAD ViewerなどのOpenGLアプリケーションは各セッションのワークロードに100 MBのビデオメモリを使用する場合、 理論上、サポートされる最大同時セッション数が20を超えることはありません。
マルチセッションLinux VDAでの共有GPUアクセラレーション