けさらんぱの自由帳

とあるFF14プレイヤーがFF14のこととか関係ないことを書いていく予定のブログです。記載されている会社名・製品名・システム名などは、各社の商標、または登録商標です。

#FF14 をLinuxの仮想環境で動かす話・その1

今から1年ほど前、PS4FF14をしていたのですが、自宅サーバーとしても動かしているLinux PCと2台並んでいるのは結構邪魔なので、なんとか1台にしようとしていました。そこでWindowsLinuxデュアルブートのPCに切り換えようとしたのですが、デュアルブートも面倒なところがあるので、ふと仮想環境で動いちゃったりはしないだろうか、と思って試してみました。普通はWindows上でHyper-VとかVirtualBoxLinux環境を動かすものだと思うのですが、Windowsに個人的に不信感があって、PCの根っこを握られるのはできれば避けたい、という理由から、LinuxKVMWindowsFF14を動かそうとしたら結構動いてしまいました。

ただ、日本ではあまりデスクトップPCでLinux使う人が少ないし、Arch Linuxの記事を除くと、日本語ではLinuxの仮想環境でゲームをするという具体的な情報があまりありません。この記事では、誰かの役に立つのかどうかはわかりませんが、Arch Linuxの記事に従いながら、LinuxKVMFF14を動かしているうちの環境と設定を紹介していきます。

ちなみに、ベンチマークはこのくらいになります。ベアメタル環境で動かしたときから10%くらい性能劣化していると思います。

f:id:KesaranPa:20171030023559j:plain

準備

規約の確認

まずは規約の確認です。技術的に可能でも規約で禁止されていたらできません。ファイナルファンタジー® XIV ソフトウェア使用許諾契約を見ると

あなたのコンピュータ又は家庭用ゲーム機(本ソフトウェアによって適宜)にインストールして使用することができ

という書き方になっていて、仮想環境を禁止している雰囲気はなさそうです。

まあ…

(a) 本ソフトウェアを改変、リバースエンジニアリングによる解析、逆コンパイル、「ハッキング」又は逆アセンブルすること、 (中略) すべて禁止されています。

ってあるから、アレとかソレとかアウトのはずなんだけど、黙認されている現状だとねぇ…

とはいえ、規約の解釈は個人で行わないといけないものなので、この記事の内容は鵜呑みにせず各自で判断してください。

ハードウェア構成

うちのPCのハードウェア構成です。単純な仮想環境だと当然ゲームができる性能にはならないので、PCIパススルーというものを利用してGPUをパススルーします。PCIパススルーを利用する関係で、IntelのCPUの場合は システムがVT-x/VT-dに対応していることが必要 となります。

  • MB: ASUS Z170-A
  • CPU: Intel Core i7-6700K
  • RAM: 32GB
  • iGPU: HD Graphics 530
  • dGPU: GeForce GTX 1080
  • xHCI: Sunrise Point-H, ASM1142の2つ

ホストOSソフトウェア環境

仮想環境を実現するためのソフトウェアの構成です。

基本的に現在の最新ですが、ovmfのみqemuの最新バージョンとの相性が悪いので、Testingから持ってきています。カーネルはRTパッチを当てなくてもいい、というかむしろ自力コンパイルも必要ないと思います(ほとんど趣味です)。

仮想環境構成

  • Machine: Q35
  • CPU: Intel Core i7-6700K(3コアのみパススルー)
  • RAM: 8GB
  • dGPU: GeForce GTX 1080(PCIパススルー)
  • xHCI: ASM1142(PCIパススルー)

iGPU(Intel CPU内蔵のGPU)、xHCIのうちSunrise Point-HはホストOS側で使用します。

次回から、具体的な話に入っていきます。

記載されている会社名・製品名・システム名などは、各社の商標、または登録商標です。