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 Pro Graphicsを採用した第5世代および第6世代のIntel CPUもサポートされます。これらのIntelプロセッサーファミリの詳細については、「第5世代インテルCoreプロセッサー」および「第6世代インテルCore i5プロセッサー」を参照してください。GPU仮想化は、AMD FirePro Sシリーズのサーバーカードでもサポートされています。AMD Professional Graphicsの仮想化ソリューションのページを参照してください。

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

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

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

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

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

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

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

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

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

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

    • 名前:HKEY_LOCAL_MACHINE_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、およびすべての仮想キーコードです。
    • 次に例を示します:
      • 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

注意:

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

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

    また、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がサポートされます。
  • 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つ)、コンソールのブランキング、カスタム解像度、および高いフレームレートがサポートされます。詳しくは、「http://www.citrix.com/intel」および「http://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の高パフォーマンスビデオエンコーダー、AMD GPU、Intel Iris Proグラフィックプロセッサへのアクセス。この機能はポリシー設定(デフォルトで有効)によって制御されます。この機能によりH.264エンコーディングのハードウェアエンコーディングが許可されます(利用可能な場合)。該当するハードウェアが利用可能でない場合、VDAはソフトウェアビデオコーデックを使用して、CPUベースのエンコーディングにフォールバックします。詳しくは、「グラフィックのポリシー設定」を参照してください。

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

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

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

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

HDX 3D ProとCitrix Virtual Desktopsおよび関連コンポーネントとの統合図

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

注:

NVIDIA GRID APIはデフォルトのグラフィックキャプチャメカニズムではありませんが、グラフィックキャプチャに対してGRID APIを有効にできます。このセクションは、グラフィックキャプチャに対してGRID APIを有効にしている場合にのみ関連します。

NVIDIA GRID APIでは、GPUのフレームバッファへの直接アクセスが提供されます。この接続では、円滑な対話型のユーザーエクスペリエンスを実現する最速のフレームレートが提供されます。NVIDIAドライバーをインストールしてからVDA for HDX 3D Proをインストールすると、NVIDIA GRIDがデフォルトで有効になります。

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

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

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

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

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

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

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

注:

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

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

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

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

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

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

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

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