経緯
仮想環境でゲームがしたくなりました。
基本Archlinuxを使っているのですが、ゲームをするならwindowsしか勝たないんですよね。
でもデュアルブートで交互に使うのは不便だなー
という考えから仮想環境でゲームをしようと考えたわけです。
なぜwindowsの方でArchの仮想環境を立てないのかというとArchの設定を引っ越すのが面倒だからです。
結果
結論できなかったのですが、一縷の望みを残します。
vGPU-unlockというサードパーティー製の技術があるのですが、Proxmoxが公式にサポートしているようでした。
Proxmoxはサーバー管理ができるOSでVMの作成ができます。
ただ、メインPCにProxmoxを入れるのは気が引けてしまったので、今回はこれからの技術の発展を期待することにしました。
やっていることは平凡ですが、その結論にたどり着くまでの記録を書きます。
何をしたのか
Archlinux上にOracleVMからwindowsに接続します。
まずはvirtualboxをインストール
sudo pacman -S virtualbox
VertualBoxの説明と初期設定の話をしていると長くなってしまうので割愛します。
windows11 ISO
3Dアクセラレーション
VMの設定>ディスプレイ>3Dアクセラレーション
の項目をチェックするとできます。
一応ビデオメモリーを256MGにします。
Vboxがシャットダウンの状態じゃないと設定が変更できないのに少しハマりました。
Guest Additions
起動したVMのスクリーン上部にあるバーのデバイスの一番下から挿入を行う。
ファイルからVBoxWindowsAdditions.exeを実行する。(場合によっては管理者権限で)
ディスクの処理が重い
参考サイト
上記のサイトからSuperfetchを無効にしました。
以上
VertualBoxの理由
もとよりKVMを使うことで仮想環境を行おうと考えていました。
KVMはカーネルに直接組み込む形の仮想環境でVertualBoxよりもパフォーマンスが良いです。
少しでもコストを抑えたかったのでKVMを選択していました。
(単純に大規模サーバー向けのKVMを触りたかったというのもある)
vGPU GPUパススルーって何?
しかし、元の目的としてのゲームを行うことを忘れていてKVMではvGPUとGPUパススルーでしかグラボ接続する方法がない問題に当たりました。
vGPUは特別な物理GPUのリソースを分割をすることができます。
GPUパススルーはGPUの接続をゲストOSにすることでGPUを使う(ホストOSではGPUが使えない)。
そのため3Dアクセラレーションが利用できるVertualBoxを利用することにしました。
3DアクセラレーションではホストOSのグラフィックボードを借りて動かすことができます。
詳しくはdocで
おまけ
特別な目的がない限りVirtualBox一択になるでしょう
しかし、
CPUのリソースを食い尽くしてゲームはまともに動作しませんでした。
軽いゲームなら動きます。
いつかlinuxでwindowsゲームができる日が来ることを祈ります。
間違いなどがあれば指摘していただけると助かります。
終わり