World of Warcraft
World of Warcraft (WoW) は大規模多人数同時参加型オンライン RPG ゲーム (MMORPG) です。Blizzard Entertainment によって開発され、Blizzard が過去に発売したリアルタイムストラテジー (RTS) の Warcraft シリーズと同じ架空の世界 Azeroth を舞台としています。ゲームに関する詳しい情報は World of Warcraft の公式ウェブサイト を見てください。
この記事では Wine を使って Arch Linux で World of Warcraft をインストール・実行する方法を説明します。
ここに書かれている情報は http://wowpedia.org/World_of_Warcraft_functionality_on_Wine が元になっています。Wine で WoW を動作させる方法が載っています。
目次
Wine のインストール
Wine を見てください。
ゲームのインストール
Battle.net に書かれているようにして、Battle.net クライアントをインストールしてください。クライアントの中から World of Warcraft をインストールできます。
既存のインストール環境を使う
Battle.net クライアントをインストールした後、画面の下部にある "Locate the game" を選択して、インストールされている場所を選択してください。Windows ドライブをマウントして選択することもできます。
DVD から新規インストール
DVD を挿入してください。自動的にマウントされた場合、アンマウントしてください。
# umount /media/dvd
手動でマウントしてください:
# mount -t iso9660 /dev/dvd0 /mnt/dvd
DVD に存在する Installer.exe を実行します:
$ wine /mnt/dvd/Installer.exe
設定
World of Warcraft の設定ファイルは World of Warcraft\WTF\Config.wtf
にあります。
OpenGL を使う
以下の設定で WoW を DirectX モードではなく OpenGL で動作させることができます。OpenGL レンダラは更新が遅いためグラフィックのクォリティが落ちます。D3D9 の方がグラフィック機能が多くてシェーダーモデルも新しくなっています (ステンシルシャドウ、液体表現、光の溢れ出し効果など)。
Config.wtf
SET gxApi "opengl"
オープンソースの Mesa ドライバーで Intel/AMD を使っている場合、アクセス違反によって起動時にゲームがクラッシュすることがあり、WoW が OpenGL 3.3 を使うようにする必要があります。スタートアップスクリプトに以下を追加してください:
export MESA_GL_VERSION_OVERRIDE=3.3COMPAT
解像度と色深度
以下の2行を変更することで WoW のデフォルトの解像度を設定できます。例:
Config.wtf
SET gxColorBits "24" SET gxResolution "1440x900"
ウィンドウ化
ウィンドウで動作させたい場合、以下の設定でウィンドウモードになります:
Config.wtf
SET gxWindow "1"
黒テクスチャの問題
Intel のグラフィックカードを使っていてゲーム内に黒テクスチャが表示される場合 (あるいは OpenGL モードでゲームがクラッシュする場合)、S3TC テクスチャ圧縮のサポートを有効にしてください。driconf を使用するか libtxc_dxtn をインストールすることで有効にできます。
音声の問題
バッファの設定
音声にノイズが混じる場合、以下を試してみてください:
Config.wtf
SET SoundOutputSystem "1" SET SoundBufferSize "100"
パフォーマンスの設定
以下の設定をすることで FPS を劇的に向上させることができます:
- "regedit" を実行して Wine 版のレジストリエディタを開く。
HKEY_CURRENT_USER\Software\Wine\
を開く- "Wine" フォルダを選択してフォルダアイコンを右クリックし New-> Key を選択して名前を "OpenGL" にする。
- OpenGL キーを選択して、右側画面で右クリックして、New-> String Value を選択してエンター。
- "New Value #1" を "DisabledExtensions" に名前を変更する。
- 名前を変更したキーをダブルクリックして "value" フィールドに "GL_ARB_vertex_buffer_object" と入力。
レジストリエディタを閉じると、自動的に変更が保存されます。
人が多い場所 (ポリゴン数が多い場合) でカメラの回転速度が遅くなる場合、"GL_ARB_vertex_buffer_object" に "2" などを追加してください: "GL_ARB_vertex_buffer_object2"。さらにスムーズに動作するようになります。
WineHQ の こちらのコメント には FPS を2倍にする方法が書いてあります。
Nvidia ユーザー
NVIDIA ドライバーのバージョン 310.14 現在、OpenGL のパフォーマンスを最適化するオプションが存在します。オプションを有効にすることで WoW にかなり効果があります。
(Sidenote: this makes the 'RGL' patch/library/hack redundant for Nvidia users)
__GL_THREADED_OPTIMIZATIONS=1
をエクスポートすると最適化が有効になります。以下のように WoW を起動してください:
__GL_THREADED_OPTIMIZATIONS=1 wine Wow.exe -opengl
ゲームが問題なく動作することが確認できたら、デバッグ出力をオフにすることでさらにパフォーマンスを向上できます:
WINEDEBUG=-all __GL_THREADED_OPTIMIZATIONS=1 wine Wow.exe -opengl $> /dev/null
Direct3D モード
上記のオプションを使って Direct3D モードでゲームを動作させる場合、"Use glBufferSubDataARB for dynamic buffer uploads" パッチをあててコンパイルした Wien を使うことでさらにパフォーマンスが上がります。OpenGL モードではパッチをあてても性能は変わりません。一般的には OpenGL モードの方が高いフレームレートが出ますが Direct3D モードと比べてグラフィックがちゃちくなります。
WINEDEBUG=-all __GL_THREADED_OPTIMIZATIONS=1 wine Wow.exe
GLXUnsupportedPrivateRequest 問題
64ビット環境で Bumblebee を使用して optirun で NVIDIA のグラフィックカードを使ってゲームを動作させた場合、以下のエラーが発生します:
X Error of failed request: GLXUnsupportedPrivateRequest
lib32-virtualgl をインストールすることで上記の問題は解決します [1]。
AMD CPU ユーザー
WoW は L3 キャッシュを活用するため使用しているプロセッサや BIOS の L3 オプションが有効になっているかどうか確認してください。また、全てのコアから BSP だけに割り当てを切り替えることで FPS が向上する場合があります。
CPU/I-O スケジューラ
マシンにあったスケジューラを選択することで World of Warcraft のパフォーマンスは向上します。現在、公式リポジトリに入っている最新版の Wine は Linux-ck カーネルを完全に活用するように設定されていません。Wine ゲーマーは CFS スケジューラを使用することが推奨されています。また、World of Warcraft は (noop, cfq, bfq などと比べて) deadline I/O スケジューラで動作が速くなります。ドライブで使用する I/O スケジューラを変更して試してみてください。