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ベースまたはH.265ベースの深圧縮。HDX 3D Proのデフォルトでは、CPUベースの全画面H.264圧縮が使用されます。H.264またはH.265によるハードウェアエンコーディングは、NVENCをサポートするNVIDIAカードで使用されます。

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

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

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

    • ユーザーは、無損失スイッチを使ってセッション内でいつでも[常に無損失]モードを有効にできます。セッション中に無損失圧縮の有効/無効を切り替えるには、通知領域のインジケーターを右クリックするか、Alt+Shift+1キーを押します。

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

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

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

  • デフォルトのショートカットである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、およびすべての仮想キーコードです。
    • 例:
      • 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の再インストールが必要になる場合もあります。レジストリエディターの誤用による障害に対して、Citrixでは一切責任を負いません。レジストリエディターは、お客様の責任と判断の範囲でご使用ください。また、レジストリファイルのバックアップを作成してから、レジストリを編集してください。

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

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

  • ユーザーがCitrix Workspaceアプリにログオンして仮想アプリケーションまたはデスクトップにアクセスすると、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では、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 -enable -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 Workspaceアプリ - Desktop Viewer基本設定]ダイアログボックスでDesktop Viewerウィンドウの解像度を変更できます。

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

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

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