GPU パススルーを備えた Proxmox VM に Windows 11 を展開しましたが、ほとんどのゲームが正常に動作します
<本文>
ホーム ラボ プロジェクトについて考えるとき、セルフホスティングの FOSS ツール、VM を使用したディストリビューション ホッピング、または DevOps スキルのトレーニングを想像するでしょう。しかし、Proxmox の恐るべき仮想化能力のおかげで、ネストされた VM や音声制御のスマート ホーム ハブから、半機能の Hackintosh システムや仮想開発環境に至るまで、サーバーを使って実行できる実験の長いリストが存在します。
実際、私は数か月間、Windows 11 と Arch Linux 仮想マシンを主要なコーディング ハブとして使用してきましたが、一度も期待を裏切りませんでした。この一連の思考をもとに、Windows 11 VM を毎日のドライバーとして 1 週間実行してみたところ、ゲームもできるようになりました。従来の Linux ディストリビューションと同様、カーネル ベースのアンチチート機能を備えたタイトルがいくつかあり、実行を拒否されますが、Proxmox ベースの仮想マシンはゲームのニーズをほとんど満たします。
GPU パススルーの構成は、思っているよりもはるかに簡単です
PECU はすべての複雑さを解消します (ただし、手動で行うことをお勧めします)
Proxmox の初期のころ、仮想マシンにグラフィックス カードへの直接アクセスを許可するというアイデアは、机上では非常にクールに思えました。しかし、複数ページのドキュメントと大量のフォーラムへの投稿を読んだ後では、それは本当に難しい仕事のように思えました。実を言うと、GPU パススルーは私が当初予想していたよりもはるかに簡単です。VM スタックに数種類のカードを装備した者としてそう言います。
本当に注意する必要があるのは IOMMU の互換性です。CPU とマザーボードの両方がこの機能をサポートしていないと、仮想マシンにグラフィックス カードの馬力を吸い上げることができないからです。ただし、マザボの BIOS で有効にすると、残りのプロセスは非常に簡単になります。必要なのは、GPU コンポーネントに関連付けられたデバイス ID を vfio.conf ファイルにバインドする前に、割り込みマッピングをオンにし、追加のパラメーターで GRUB ブートローダーを変更し、モジュール構成にいくつかの VFIO 変数を追加することだけです。
Windows Insight で PCI デバイス (GPU を含む) を渡すための詳細なガイドをすでに作成しており、週末に GTX 1080 でこのプロセスを繰り返したところ、Proxmox 9.1 でもすべてが正常に動作することが確認できました。私はグラフィック カードを手動で渡すことを常にお勧めしますが、それが恐ろしいと思われる場合は、サードパーティの Proxmox Enhanced Configuration Utility の GPU パススルー スクリプトを利用することもできます。 iGPU と専用カードで使用しましたが、どちらの場合もうまく機能しました。

関連
Proxmox Enhanced Configuration Utility は、まさに私の自宅ラボに必要なものです
PECU は、Proxmox 仮想マシンの GPU パススルーを構成する簡単な方法が必要な場合に最適です
ほとんどのシングルプレイヤー ゲームは最小限の遅延で実行されます
VM のパフォーマンスを向上させるために、いくつかの追加調整を使用しました
ゲーム内のパフォーマンスに関しては、文句の付けようがありません。 GPU パススルーにより、Windows 11 VM はグラフィック カードに直接アクセスできるため、ホスト システムのソフトウェア スタックからの干渉は発生しません。もちろん、すべての RAM を仮想マシンに割り当てることはできないため、ベアメタル設定と比較してパフォーマンスがわずかに低下します。ただし、特にいくつかの設定を構成した後は、ほとんどの場合、ゲームは仮想化環境でスムーズに実行されます。
まず、仮想マシンから PC へのゲームのストリーミングには Parsec を使用しています。これは、GPU パススルーが有効になっていると noVNC が機能しないためです。また、RDP はゲーム用ではなく、余分な遅延が追加されます。オーディオの再生には VB Audio Virtual Cable ドライバーも使用していますが、ペースの速いタイトルでもまだ途切れに遭遇したことはありません。 VM ディスクを NVMe SSD に保存すると、起動時間は非常に速くなりますが、一部のタイトルでは起動にさらに数秒かかります。これはおそらく、SSD 全体を Windows VM に渡すのではなく、仮想ドライブを使用しているためです。ただし、他の VM と LXC がドライブにデプロイされているため、ゲームの読み込みに数秒余分に時間がかかっても大丈夫です。最後に、CPU モデルをホストに設定しました。これにより、VM は汎用 CPU のアーキテクチャを複製するのではなく、基盤となるプロセッサを利用できるようになります。
これまでのところ、Hades 2、Sunless Skies、Disco Elysium、Ravenswatch、その他の軽いタイトルから、Cyberpunk 2077、Clair Obscur: Expedition 33、Metro Exodus などの要求の厳しいゲームまで、あらゆるものを試してきました。VM は Expedition 33 以外のすべてのタイトルを 1080p 60FPS で実行します。ほぼ 10 年前の GTX 1080 + 第一世代 Ryzen CPU セットアップにデプロイされた仮想マシンでこれらのゲームをテストしたことを考えると、これは非常に印象的です。とはいえ、起動を拒否するゲームについて触れないと、この記事は完成しません…
しかし、カーネルレベルのアンチチート機能を備えたゲームは困難になる可能性があります
あなたにとってはそれほど大きな問題ではありません
Linux でゲームをプレイしている場合は、お気に入りのディストリビューションでは動作しないカーネルベースのアンチチートに依存するマルチプレイヤー タイトルに遭遇したことがあるでしょう。残念ながら、CPU と GPU のパススルー設定がすべて有効になっている場合でも、これらのゲームは Windows 11 仮想マシン上では実行できません。たとえば、Elden Ring: Nightreign と Arc Raiders は起動すらせず、「仮想マシンでは実行できません」というエラーが表示されます。 7 Days to Die でも同じエラーが発生しますが、Easy Anti-Cheat なしでゲームを起動することを選択できるため、Windows 11 VM 上の友人のサーバーに参加することができます。
ただし、Helldivers 2 は例外で、問題なく実行されました。 VM セットアップでプレイすることは決してお勧めしません。苦労して獲得した武器アクセサリーや軍票を失う危険が 1 つあるからです。しかし、私はランダムなプレイヤーのグループに参加することができ、フレームドロップや接続の問題を発生させることなく、ミッション全体をプレイすることができました。
実を言うと、私はマルチプレイヤー タイトルの大ファンではなく、この設定で見逃しそうなゲームは Nightreign と Helldivers 2 だけです。すべてがうまく機能することを考えると、インディーズ タイトルをスマートフォンにリモートでストリーミングしたい場合は、Proxmox ベースの Windows 11 VM に依存することになるかもしれません。

関連
Proxmox 内で Android VM を実行してみました
適切な OS を使用すると、Proxmox は Android の仮想化に驚くほど優れています
*️⃣ 出典リンク:
ネストされた VM、半機能の Hackintosh システム、毎日のドライバーとして Windows 11 VM、GPU を含む PCI デバイスを渡す、Proxmox Enhanced Configuration Utility は自宅の研究室に必要なものです 、Proxmox 内で Android VM を実行してみました 、