XenApp and XenDesktop

WindowsデスクトップOSのためのGPUアクセラレーション

するX 3D Proを使用することで、グラフィックアプリケーションを仮想デスクトップ上で提供したりデスクトップOSマシン上のアプリケーションとして配信したりできます。HDX 3D Proは、物理コンピューター(デスクトップ、ブレード、およびラックワークステーションなど)と、XenServer、vSphere、およびHyper-V(パススルーのみ)ハイパーバイザーが提供するGPUパススルーおよびGPU仮想化技術をサポートします。

GPUパススルー機能を使用すると、グラフィック処理ハードウェアに排他的にアクセスする仮想マシンを作成できます。ハイパーバイザーに複数のGPUを装着して、各仮想マシンにGPUを1つずつ割り当てることができます。

GPU仮想化を使用すると、複数の仮想マシンで単一の物理GPUによるグラフィック処理能力に直接アクセスできるようになります。このハードウェアGPU共有により、より専門的で複雑な設計作業を行うユーザーに適したデスクトップが提供されます。NVIDIA GRIDカード(「NVIDIA GRID」参照)のGPU仮想化では、非仮想化オペレーティングシステムで動作するものと同じNVIDIAグラフィックドライバーが使用されます。GPU仮想化ではさらに、Intel GVT-g搭載のIntel Iris Graphicsを採用した第5世代および第6世代のIntel CPUもサポートされます。これらのIntelプロセッサーのファミリについて詳しくは、「第5世代Intel Coreプロセッサー」および「第6世代Intel Core i5プロセッサー」を参照してください。GPU仮想化は、AMD FirePro Sシリーズのサーバーカードでもサポートされています。「AMD Professional Graphicsの仮想化ソリューション」を参照してください。

HDX 3D Proの機能は以下のとおりです:

  • WANおよびワイヤレス接続でのパフォーマンスを最適化するAdaptive H.264ベースの深圧縮。HDX 3D Proのデフォルトでは、CPUベースの全画面H.264圧縮が使用されます。ハードウェアエンコーディングは、NVENCをサポートするNVIDIAカードで使用されます。

  • 特殊なユースケースのための無損失圧縮オプション。HDX 3D ProではCPUベースの無損失コーデックも提供され、医療用画像処理などピクセル単位での精密なグラフィックが求められるアプリケーションがサポートされます。真の無損失圧縮はネットワークおよび処理リソースに対する負荷が非常に高いため、特殊なユースケースでのみ使用することをお勧めします。

    無損失圧縮を使用すると、以下のように動作します。

    • 表示しているフレームに非可逆圧縮が適用されているのか無損失圧縮が適用されているのかを示すインジケーターがユーザーの通知領域に表示されます。このインジケーターは、ポリシーの[表示品質]設定で[操作時は低品質]が選択されている場合に便利です。送信されたフレームが無損失の場合、このインジケーターが緑色になります。

    • ユーザーは、無損失スイッチを使ってセッション内でいつでも[常に無損失]モードを有効にできます。セッション内で [無損失] を選択または選択解除するには、アイコンを右クリックするか、ショートカットAlt+Shift+1を使用します。

      無損失圧縮の場合:HDX 3D Proでは、ポリシーで指定されているコーデックに関係なく、無損失コーデックが使用されます。

      非可逆圧縮の場合:HDX 3D Proでは、デフォルトのコーデックまたはポリシーで指定されているコーデックが使用されます。

      無損失スイッチの設定は保持されず、次回のセッションではリセットされます。すべてのセッションで無損失コーデックが使用されるようにするには、ポリシーの[表示品質]設定で[常に無損失]を選択します。

  • デフォルトのショートカットであるALT+SHIFT+1を無効にし、セッション内で無損失を選択または選択解除できます。HKLM\SOFTWARE\Citrix\HDX3D\LLIndicatorで新しいレジストリ設定を構成します。

    • 名前:HKLM_HotKey、種類:String
    • ショートカットの組み合わせを構成する形式は、C=0|1, A=0|1, S=0|1, W=0|1, K=valです。キーはコンマ「,」で区切る必要があります。キーの順番は関係ありません。
    • A、C、S、W、およびKはキーです。ここで、C=Control、A=ALT、S=SHIFT、W=Win、およびK=aが有効なキーです。Kに対して使用できる値は、0~9、a~z、およびすべての仮想キーコードです。仮想キーコードについて詳しくは、MSDNのVirtual-Key Codesを参照してください。
    • 例:
      • F10には、以下を設定します:K=0x79
      • Ctrl + F10には、以下を設定します:C=1, K=0x79
      • Alt + Aには、以下を設定します:A=1, K=aまたはA=1, K=AまたはK=A, A=1
      • Ctrl + Alt + 5には、以下を設定します:C=1, A=1, K=5またはA=1, K=5, C=1
      • Ctrl + Shift + F5には、以下を設定します:A=1, S=1, K=0x74

注意:

レジストリエディターの使用を誤ると、深刻な問題が発生する可能性があり、オペレーティングシステムの再インストールが必要になる場合もあります。レジストリエディターの誤用による障害に対して、シトリックスでは一切責任を負いません。レジストリエディターは、お客様の責任と判断の範囲でご使用ください。また、レジストリファイルのバックアップを作成してから、レジストリを編集してください。

  • 複数および高解像度モニターのサポート。デスクトップOSマシンでは、最大で4つのモニターが構成されたユーザーデバイスがサポートされます。ユーザーはそれらのモニターを自由に配置でき、解像度や向きが異なるモニターを組み合わせて使用できます。モニターの数は、ホストコンピューターのGPU、ユーザーデバイス、および使用できる帯域幅による制限を受けます。HDX 3D Proでは、ホストコンピューター上のGPUでサポートされるすべてのモニター解像度がサポートされます。

    HDX 3D Proではまた、Windows XPデスクトップでは、デュアルモニター構成が限定的にサポートされます。これについて詳しくは、「Windows XPまたはWindows Vista上のVDA」を参照してください。

  • 動的解像度仮想デスクトップまたはアプリケーションのウィンドウのサイズを任意に変更できます。:解像度は、VDAのセッションウィンドウのサイズを変更することでのみ変更できます。VDAセッション内での解像度の変更([コントロールパネル]>[デスクトップのカスタマイズ]>[ディスプレイ]>[画面の解像度]で変更)はサポートされていません。
  • NVIDIA GRIDアーキテクチャのサポート。HDX 3D ProのGPUパススルーおよびGPU共有では、NVIDIA GRIDカードがサポートされます(「NVIDIA GRID)。NVIDIA GRID vGPUを使用すると、複数の仮想マシンで単一の物理GPUに同時に直接アクセスできます。このとき、仮想化されていないオペレーティングシステムで動作するものと同じNVIDIAグラフィックドライバーが使用されます。
  • Virtual Direct Graphics Acceleration(vDGA)を使ったVMware vSphereおよびVMware ESXのサポート - RDSおよびVDIの両方のワークロードで、vDGAを使用するHDX 3D Proがサポートされます。
  • NVIDIA GRID vGPUおよびAMD MxGPUを使用するVMware vSphere/ESXのサポート。
  • Windows Server 2016のDiscrete Device Assignmentを使用したMicrosoft HyperVのサポート。
  • Intel Xeon Processor E3ファミリによるデータセンターグラフィックのサポート。HDX 3D Proでは、サポートされるIntelプロセッサファミリで、マルチモニター(最大3つ)、コンソールのブランキング、カスタム解像度、および高いフレームレートがサポートされます。詳しくは、「https://www.citrix.com/intel」および「https://www.intel.com/content/www/us/en/servers/data-center-graphics.html」を参照してください。
  • AMD FirePro SシリーズのサーバーカードでのAMD RapidFireのサポート。HDX 3D Proでは、マルチモニター(最大6つ)、コンソールのブランキング、カスタム解像度、および高いフレームレートがサポートされます。注: HDX 3D ProによるAMD MxGPU(GPU仮想化)のサポートで対応しているのは、VMWare vSphereのvGPUのみです。GPUパススルーに対応しているのは、XenServerとHyper-Vです。詳しくは、「AMD仮想化ソリューション」を参照してください。

  • NVIDIA GPUの高パフォーマンスビデオエンコーダーとIntel Iris Proグラフィックプロセッサへのアクセス。この機能は、ポリシー設定(デフォルトで有効)によって制御され、H.264エンコーディングのハードウェアエンコーディングが許可されます(利用可能な場合)。該当するハードウェアが利用可能でない場合、VDAはソフトウェアビデオコーデックを使用してCPUベースのエンコーディングにフォールバックします。詳しくは、「グラフィックのポリシー設定」を参照してください。

以下の図を参照してください:

  • ユーザーがCitrix Receiverにログオンして仮想アプリケーションまたはデスクトップにアクセスすると、Controllerがユーザーを認証してVDA for HDX 3D Proと通信し、グラフィックアプリケーションをホストしているコンピューターへの接続を仲介します。

VDA for HDX 3D Proはホスト上の適切なハードウェアを使って、デスクトップ全体またはグラフィックアプリケーションだけのビューを圧縮します。

  • デスクトップまたはアプリケーションのビューおよびそれに対するユーザーの応答は、Citrix ReceiverとVDA for HDX 3D Pro間の直接HDX接続を介して、ホストコンピューターとユーザーデバイス間で転送されます。

HDX 3D ProとXenDesktop、および関連コンポーネントとの統合

VDA for HDX 3D Proのインストール

VDA for Windows Desktop OSをインストーラーのグラフィカルインターフェイスでインストールする場合は、[HDX 3D Pro]ページで[はい]をクリックします。コマンドラインでインストールする場合は、XenDesktop VdaSetup.exeコマンドに/enable_hdx_3d_proオプションを指定します。

HDX 3D Proをアップグレードするには、既存のHDX 3D for Professional GraphicsコンポーネントとVDAの両方をアンインストールしてからVDAをHDX 3D Proモードでインストールしてください。同様に、Windows Desktop OSで標準のVDAモードを3D Proモードに切り替える場合も、標準のVDAをアンインストールしてからVDAをHDX 3D Proモードでインストールしてください。

標準モード HDX 3D Proモード
一般的に、グラフィックのハードウェアアクセラレーションおよびリモートPCアクセスに最適です。 5つ以上のモニターが必要でない限り、一般的にグラフィックハードウェアアクセラレーションのあるデータセンターデスクトップに最適です。
リモートPCアクセスには、あらゆるGPUを使用できます(アプリケーション互換性の制限あり):Windows 7、8、8.1では、DirectX用GPUアクセラレーションの機能レベルは最大9.3です。一部のDirectX 10、11、12アプリケーションは、DirectX 9へのフォールバックをしない場合、実行されないことがあります。Windows 10の場合、GPUアクセラレーションはウィンドウ表示のDirectX 10、11、および12アプリに提供されます。DX 9アプリはWARPによってレンダリングされます。DXアプリを全画面モードで使用できません。GPUベンダーによってサポートされている場合はリモートセッションでのOpenGLアプリケーションアクセラレーション(現時点ではNVIDIAのみ)。 任意のGPUによるGPUアクセラレーションをサポートしますが、コンソールのブランキング、非標準画面解像度、およびTrue Multi MonitorサポートにはNVIDIA GRID、Intel Iris ProまたはAMD RapidFireグラフィックスが必要です。広範なアプリケーション互換性のためにグラフィックベンダーのドライバーを活用します:GPUがサポートするすべての3D API(DirectXまたはOpenGL)。Intel Iris Pro(Win10のみ)、NVIDIA GRIDおよびAMD RapidFireでの全画面3Dアプリサポート。カスタムドライバー拡張およびAPIのサポート(CUDAやOpenCLなど)。
任意のモニター解像度(上限はWindows OSおよびパフォーマンスによって決まります)および最大8つのモニター。 最大で4つのモニターをサポートします。
Intel Iris Proグラフィックプロセッサで利用可能なH.264ハードウェアエンコーディング。 Intel Iris ProグラフィックスプロセッサおよびNVIDIAカードを搭載してH.264ハードウェアエンコーディングが使用可能です。

NVIDIAドライバーのインストールとアップグレード

NVIDIA GRID APIでは、GPUのフレームバッファーに対する直接アクセスが提供され、スムーズでインタラクティブなユーザーエクスペリエンスのための最速のフレームレートが提供されます。NVIDIAドライバーをインストールしてからVDA for HDX 3D Proをインストールすると、NVIDIA GRIDがデフォルトで有効になります。

仮想マシン上でNVIDIA GRIDを有効にするには、デバイスマネージャーでMicrosoft基本ディスプレイアダプターを無効にします。NVFBCEnable.exe -enable -noresetコマンドを実行してからVDAを再起動します。

VDA for HDX 3D ProをインストールしてからNVIDIAドライバーをインストールすると、NVIDIA GRIDが無効になります。この場合は、NVIDIA社から提供されるNVFBCEnableツールを使ってNVIDIA GRIDを有効にします。

NVIDIA GRIDを無効にするには、NVFBCEnable.exe -disable -noresetコマンドを実行してからVDAを再起動します。

Intelグラフィックドライバーのインストール

VDAをインストールする前にIntelグラフィックドライバーをインストールできます。次の手順は、VDA for HDX 3D Proをインストールした後、またはIntelドライバーが更新された後にのみ必要です。

マルチモニターサポートに必要なIntelドライバーを有効にするには、GfxDisplayTool.exeを使用してコマンドGfxDisplayTool.exe -vd enableを実行し、次にVDAを再起動します。

GfxDisplayTool.exeはVDAインストーラーに含まれています。GfxDisplayTool.exeはC:\Program Files\Citrix\ICAServicesにあります。

注:

ICAセッション内でのNVIDIAドライバーおよびIntelドライバーのアンインストールはサポートされていません。

HDX 3D Proのユーザーエクスペリエンスの最適化

マルチモニター環境でHDX 3D Proを使用するには、ユーザーデバイスに接続されているモニター数以上のモニターがホストコンピューター側に構成されている必要があります。ホストコンピューター側で構成されているモニターは、物理モニターまたは仮想モニターのどちらでも構いません。

ユーザーがグラフィックアプリケーションの仮想デスクトップまたはアプリケーションに接続している間は、ホストコンピューターにモニター(物理または仮想のいずれも)を接続しないでください。これを行うと、ユーザーのセッションが不安定になることがあります。

グラフィックアプリケーションセッションを実行しているときにデスクトップの解像度を変更しないようにユーザーに通知してください。アプリケーションセッションを閉じた後、[Citrix Receiver - Desktop Viewer基本設定]ダイアログボックスでDesktop Viewerウィンドウの解像度を変更できます。

ブランチオフィスなど、帯域幅が制限された接続を複数のユーザーで共有している場合、ポリシーの[セッション全体の最大帯域幅]設定を使用して、各ユーザーが使用できる帯域幅を制限することをお勧めします。これにより、ユーザーがログオンしたりログオフしたりするときに、使用可能な帯域幅が大きく変動しなくなります。HDX 3D Proでは使用可能なすべての帯域幅が使用されるため、ユーザーのセッション中に使用可能な帯域幅が大きく増減するとパフォーマンスが低下します。

たとえば、60Mbpsの接続を20人のユーザーで共有する場合、各ユーザーが使用できる帯域幅は、同時接続ユーザーの数に応じて3Mbps~60Mbpsの間で変動します。この場合におけるユーザーエクスペリエンスを最適化するには、各ユーザーがピーク時に必要とする帯域幅を調べて、常時この値でユーザーを制限します。

ユーザーが3Dマウスを使用する場合は、汎用USBリダイレクト仮想チャネルの優先度を0にすることをお勧めします。仮想チャネルの優先度を変更する方法については、CTX128190を参照してください。

WindowsデスクトップOSのためのGPUアクセラレーション