UbuntuでEverquestを動かす
Windows10のサポートが来年の10月頃くらいに切れる。なにげにもう1年きっている。気づけば私の家のメインで使っているPCは普通にみなWindows11になっている。前ほど古いPCにWindows11が入らないならWindows10のサポートを延長しろ!という世の中の圧力は弱くなった気はする。とは言え、まだまだ普通に使えるものの、Windows11が入らないPCが家には結構あるのでなにかしらの手段を考えないといけない。まあ考えるも糞もLinuxをいれるだけだが。
Linuxは私が普段使っているアプリケーションはほぼ使うことができるので、たぶん今日からでもメインマシンをLinuxにしてもよいが、ひとつだけちゃんと動くかはっきりしないものの、どうしてもちゃんと動かしたいものがある。そう、エミュ鯖で動かすEverquestだ。こいつは非Steamアプリな上に、複数クライアントを起動させる必要があり、さらにMacroquestという他のプロセスのメモリを読み書きするツールをいれるため、LinuxのWindowsエミュレータで動作させるにはかなりハードルが高いのではないだろうか。
以前EQを動かす似たような日記を書いた。そのためEQとMacroquest自体は動くことは確認しているが、今回はもうちょっと細かくやり方を書いていこうと思う。誰かにやってほしいといよりは自分の備忘録だと思う。
今回ためしたマシンは、去年ハードオフで結構安く購入できたNECのオフィス向けのPCだ。CPUは第8世代とこの時点でWindows11いれればいいじゃねえかとツッコミがきそうだが、気軽につかえるのがこれしかなかったので今日はこれで進める。GPUはロープロファイルのGeforceGTX 750Tiだ。OSは、奇をてらったものではなく、最も普通なUbuntuのLTSの最新版である24.04にした。Ubuntuのあとにある数字はバージョンではなくて、リリースされた時期というのを最近知った。今回の場合だと2024年の4月リリースということになる。Ubuntu自体のインストールは誰でもできるので割愛する。
さて、EQを動かすのに必要なソフトウエアは、BottlesというWindowsエミュレータのフロントエンドソフトだ。
普通にUbuntuのアプリにある「ソフトウエア」からBottlesで検索するとでてくる。インストールもそこから行える。特になにかコマンドをぼちぼち押す必要がない。そういうのがないのがUbuntuのいいところだと思う。
Bottlesはその名の通り、他に影響を受けない個別のWindows環境を作ることができる。今回はEQを動かすのに特化した構成にしようと思う。まず、+を押して新しいボトルの作成を行う。環境はカスタムにする。ゲーミングは選んではいけない。ランナーはデフォルトのままでよいと思う。EQ自身はLinuxのWindowsエミュレータでもう何年も前から動作実績があるためなにか特別なものにする必要はないと思う。EQ自体は32bitだが、複数立ち上げるので、アーキテクチャは64bitにしておく。
ボトルができたら、設定画面で、コンポーネントが上記になっていることを確認する。これが、一般的なWindowsのゲームであれば、DXVKやVKD3Dの設定をする必要があるが、今回の用途の場合は複数クライアントを同時に立ち上げる都合上、DXVKと非常に相性が悪い。Disabledのままにしておく。あと、ディスプレイのところでDiscrete Graphicsを有効にしておく。これが無効のままだと3Dの描画をCPUで行うことになるため、めちゃくちゃ重くなる。一度それをやらかして、マウスカーソルすらカックカクになって終了させることもできなくなってしまった。
依存関係というところで、いくつか必要なファイルをダウンロードしておく。必要なのは、上の絵にあるとおり、DirectX9であるd3dx9、英語フォントであるarial32, courie32, times32、dotnetのライブラリであるmono、あとインターネットに接続するためのgeckoをインストールしておく。あとはいらないと思う。
LinuxのWindowsエミュレータはLinuxのディレクトリ構造をそのまま使うわけではなく、ちゃんとWindowsみたいにCドライブみたいなものを仮想的につくる。そのドライブをLinux上のどこかのフォルダに割り当てる感じだ。ここでは、Dドライブを新たにつくって、そのDドライブをホームに設定した。ホームには共有ドライブからもってきたEQのフォルダをコピーしておく。
あとはコマンドプロンプトを開き、macroquestを実行して、その後必要なキャラクター分のEQを立ち上げる。
普通にMacroquestを認識して立ち上がった。今回8アカウント分立ち上げたが問題なく普通に動いた。
CPU使用量は平均で60%-70%くらい。EQクライアントひとつにつき900MB消費し、全体のメモリ量は13GB程度になった。CPUが第八世代とは言え、i3-8100は4つしかコアがないため、これで8アカウントを動かすのはちょっと厳しい。 普段私はこの8アカウントをWindows11上にRyzen3400Gを搭載したPCで動かしている。
i3-8100とRyzen5 3400Gはほとんど性能差がない。しかし、体感でみると、i3-8100マシンのほうがEQ自体は軽く動いている。これはなんとなくLinuxのほうがWindows11よりもうまくやっているからだろうか。いや、単にGPUがついている差かもしれん。EQ自体が消費するリソースはWindowsと大体同じだと思う。
Ubuntu側で8キャラ、Windows側で2キャラという構成でひととおり遊んでみたが、特に問題がなかった。なにか遅れることもなく、途中でハングアップすることもなかった。本物のWindowsでは大きなテクスチャを扱っているとだんだんメモリが足りなくなってハングアップをするが、もしかしたらLinuxだと解消されるかもしれない。しらんけど。
とは言え、LinuxだろうとWindowsだろうとCPUの数が足りないとEQはきつい。やはり1アカウント1コアなんじゃないかと思う。ちょっと電気を食うが、XeonにもうちょいまともなGPUを載せて同じことをやってみてどうかみてみるかなあ。
という感じで、万人向けではないが、私の遊ぶ唯一一般人とはかけ離れたアプリであるEQも普通にLinuxで動くことがわかった。毎回言っているがこれは思い切ってLinuxをメインマシンにしてもいいかなあ。