[Hyper-V] 仮想マシンでGPUを使用してリモートでゲームやBlenderを動かす

まとめ:

  • Hyper-V GPU-PV で 3D系アプリやゲームの仮想化が可能
  • GUIウィザードつきスクリプトを使用することでかんたんにセットアップ可能
  • GPU付きVM(仮想マシン)を使うことでヘビーなアプリでも隔離環境での脅威分析が可能に。また3D系アプリの仮想化による複数人での共有やリモートアクセスも可能

GPU仮想化とは

まずはじめに、今回取り上げるのは Hyper-V での GPU-PV (Para Virtualization)、GPU-P (Partitioning)(※Server 2025での機能) などと呼ばれる仮想マシン上でホストPC上のGPUを利用する仕組みです。

元々DDAやRemoteFXなどあったはあったのですが何やかんやあり、2026年7月現在でもデフォルトでは仮想マシン(VM)でのGPU利用は無効化されています。一方で2021年時点で「Easy-GPU-PV」など有志からGPU仮想化セットアップを補佐するスクリプトなどは出ていました。

が、このたびGUIでボタンポチポチするだけでできるようにしたので紹介します。

GPU仮想化 参考例

※Blender / Cycles. リアルタイムでこれだけ操作可能.

 

※定番のFF15ベンチ。スクショでは高品質設定ですが標準品質だともう少しスコア出ます.

 

※🔈️音あり

※VMにSteamをインストールしてソウルキャリバーVIをリモートデスクトップでプレイ。冒頭のファスト入力(光るエフェクト)や一連のコマンドも問題なさそうです。録画していても尚これだけ可能なレベル。思わずこれが仮想マシンへのリモート接続だと忘れそうなレベル。ここまできたらコントローラーで操作したい……

 

使用感としては、動画の通り全く遜色ない操作が可能です。
動画は「拡張セッションモードなし」の状態で確認したもので、厳密にFPSを測定したわけではありませんが以下のような違いがあります。

拡張セッションモードなし拡張セッションモードあり
応答性(体感)早いやや遅い
解像度最大フルHD~4Kなど
オーディオなし (RDCなら可)あり
FF15ベンチ (FHD標準)Hyper-V接続: 9202
RDC: 10216
10299

RTX3090を使用していますがチューニングして性能を70~80%ほどに落としているので参考値です。
だいたいネイティブで16000~くらい出るらしいので、チューニング×VM+リモート込みで16000*0.8*0.8=10000ほどと考えると妥当に思えます。

ちなみにFFベンチだとHyper-Vのコンソール接続よりもRDC(リモートデスクトップ接続)のほうがスコア出ていますが、体感速度だと

拡張なし接続 > 拡張なしRDC > 拡張あり

という感じでした。ベンチマークはあくまで目安で、実際の感覚を重視したほうがよいと思います。

もちろん今回はホスト上での実行なので実際に別のネットワーク・別のPCからの接続であればもう少し遅延が出ると思いますが、環境次第では上記の動画のレベルまでは理論上到達できることになります。

ダウンロードと準備

ダウンロードはこちらから。

PowerShellのスクリプトですがGUIが組み込まれています
デスクトップ等にコピーし「右クリック」→「PowerShellで実行」するとコンソールウィンドウとともにウィザードが開きますので指示に従って進めていくだけでかんたんにGPU-Pが利用できます。

この他に必要なものとして、「Windows 11のisoイメージ」は別途公式からDLしてください。
あるいはオフラインアカウントや自動セットアップなど含め自動化したいなら「Rufus」を利用するのも手です (繰り返し作成する場合はこちらのほうがおすすめです)。もっとマニアックに企業向けなどで設定する場合はADKを使いましょう。

いくつか注意点があります。

  • チェックポイントは無効
  • ドライバーを通常の方法でインストールするわけではないので、nvidia-smi など使えないものがあったりする
  • オーディオはなし(必要ならリモートデスクトップか仮想オーディオドライバ)
  • ps1スクリプトの実行においてネットワークドライブは不可

このほか記載事項があるので同梱のテキストをご参照ください。

セットアップ

基本的にはウィザードに沿うだけです。
ウィンドウサイズが小さいと中央部がたまに隠れるのでその際はスクロールしてください。

GPU仮想化 (複数のVMでGPUを共有) で何が嬉しいか

GPUをVMで使えるメリットはいくつかありますが、以下のようなメリットが挙げられます。

環境を分離しやすくなった

  • 脅威分析がしやすい
    • GPUが必要なアプリでも仮想環境に隔離できる。
    • VirusTotal でスキャンできないファイルサイズの大きいアプリでも環境を分けられる。
  • 整理性の向上
    • AI、python などバージョン管理が求められる開発環境の整理がしやすくなる
    • GPUドライババージョンごとに管理したい場合でも管理しやすい(主に安定版を使用したいが一部のゲームだけが最新版のドライバを要求しているなど)。
    • Adobe系や開発環境など大量の依存関係(ブロートウェア含む)が必要でも、ごちゃつかない。個別に環境を整備できるのでメインのOSはほぼクリーンな状態を保てる。
  • ゲームなどを個別の環境で動かせる
    • 現在はアンチチートの一環として(カーネルレベルでのチート対策という名目で)仮想環境を弾いているが、今後仮想環境でOSごと固定で配布するスタイルも出てくるかも?
  • ネイティブでリモート対応
    • ゲームやGPUを使うアプリをリモートで動かせる。Steam や Persec などあるにはあったが、Hyper-V GPU-P なら外部のアプリやサービスに依存しないためセキュリティリスクを低減できる。
  • 従来のマルチブートにする方法では、Windows がそもそも多パーティションに対応していないことや、パーティションを区切るほど容量が限られることが課題だったが、vhdx なら可変サイズであり別のストレージへの移管も簡単。

リソースシェアリングが可能

  • GPU全部使うほどじゃないがそこそこのGPUが欲しい、というときに一台のマシンで済む。
  • たとえば教室や研修などでハイエンドGPUマシンを一台用意しておき、受講者全員はそのマシンへのリモートデスクトップをするだけでよくなる。
  • シミュレーションやレンダリング用途で、全員には無理でも強力なワークステーションやサーバーを一台用意し、仮想マシン+リモートで必要なメンバーに必要なときだけアクセスさせる、それも同時に……ということが簡単になる。
    • 今まではESXiの導入や専用のライセンス、リモートデスクトップの同時ログインができるサーバーエディションが必要だったりした

再配布性が高い

  • アプリ単体のポータブル版配布ではなく vhdx まるごとの配布が可能。環境の完全再現が可能に。
  • 特にAI系はモデルや設定などまとめておけるメリットが大きい。
    また、vhdx として一つにまとまることでシーケンシャルファイルコピーとなり移行作業が早くなる。(dllとか小さく大量に散らばっているとボトルネックになる)

複数GPUが活かせる

  • マルチGPU活用には今まではSLI等の設定が必要で、さらにアプリ側も対応が必須。
    その割に大して恩恵がないという状況だったが、仮想マシンごとに割り当てることが可能なため、一方ではゲームをやりつつもう片方ではレンダリングを走らせておく、という芸当も可能

マルチコアCPUや大容量のRAMが活かせる

  • 16~32コア等の多コアは正直なところごく一部の用途以外では持て余し気味だったが、仮想マシンごとに割り当てるためダイレクトにその恩恵が生きることになる。
  • After Effects や大規模シミュレーションなど大容量のメモリを必要とするマシンリソースをそのまま流用可能。

マシンの集約が可能

  • 全く同じ作業環境をリモートで再現可能。個別にハイエンドPCを用意する必要もない。移行作業も不要。
  • 従来分散管理していた端末を一箇所で管理できるため、セキュリティ施策が容易になる。

ざっと思いつくところでは以上です。

個人的には特にセキュリティ面でVMごとに管理できるのがありがたいです。ゲームのアンチチートエンジンが競合したり、ゲームはしたいが変なテレメトリを送りたくない、という場合でも隔離できます。(Hyper-Vの仮想スイッチでインターネットに接続しつつも内部ネットワークとは隔離する)。

GPUとVMについては実は結構昔から手法があり、私個人としては Windows 7 の VMware Player で DMC4 のベンチマークを動かした記憶があります。
今回のGPU-PVも2026年現在ではすでに5年くらい経ったものではありますが、イマイチ話題になっていない気がするのは
昔のGPU仮想化の導入ハードルの高さに加え、実用面では重かったイメージがまだ残っているのかもしれません(特に組織内ネットワークインフラや監視ソフトなどが入ると)。

今回GUIウィザードつきでかんたんにセットアップできるようになったことや、実際にAAAクラスのゲームであっても全く問題なく動くことが改めて確認できたので、これからGPU仮想化界隈が盛り上がることを期待したいです。
あいにく今はハードが相当高騰していますが……。

とはいえ、少なくともリモートGPU仮想化においてCAD程度であれば全く問題ないと思われます (あとはネットワークと使用するクライアントの問題)。
酷暑もあるので従来リモートでの作業が難しかった仕事もどんどんリモート化されるといいですね!


参考:
https://github.com/jamesstringer90/Easy-GPU-PV
https://qiita.com/Hyper-W/items/e189790fd4534d9d51ad

※ちなみにEasy-GPU-PVの作者さんより App Sandbox というより自動化されたものもリリースされていますが、手元の環境ではネットワークにどうやっても繋がらず、画面のフリーズが頻発したのでこのスクリプトを作りました。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です