かがくのちからって、すげー!
どうしてもLinuxでもCivをしたい!という人がいるかもしれません。
ここではそんな人のためにWineを利用してCivをプレイする方法を説明します。
ただしLinuxはディストリビューションごとに差異が大きいため、
どの環境でもこの方法でできるとは限らないことを予めご承知置きください。
Linux、UNIX等でWindowsアプリケーションを動かすためのソフトウェアです。
詳しい原理についてはWikipedia等を参照してください。
まだ開発中のものであり完全な動作を保証できるものではありませんが、
開発者もゲームがしたいのは変わらないらしくゲームへの対応も急速に進んでいます。
たいていのディストリビューションではリポジトリにWineが入っています。
Ubuntu、Linux Mint、またはDebianなら
# apt-get install wine winetricks
Fedoraなら
# yum install wine winetricks
等で導入できるはずです。
また後述しますが64bit OS上で32bit向けに設定したWineを使うためにはLinux側に
32bit向けのライブラリが必要になります。
64bit OSを使っている場合は
Ubuntu、Mint、Debian等なら
# apt-get install ia32-libs-multiarch
で(多少多いですが)だいたい導入できます。
Fedoraなら(使ったことないのでおそらく)
# yum install libalsa.i686 pulseaudio-libs.i686 giflib.i686 libpng.i686 libmpg123.i686
でいいと思います。
もしかしたら最初から
# yum install wine.i686
にしたほうがいいかもしれません。
それ以外のディストリを使っている人は自力でなんとかできるんじゃないでしょうか……
試した方からのコメントお待ちしております。
Wineは32bit、64bitどちらの環境でも動作します。
またWindows同様64bit向けのプロファイルのもとでは32bitアプリケーションを動作させることもできます。
しかし現在のところ32bitアプリは32bitプロファイルのもとで動かしたほうがいいようです。
なにはともあれ端末で
# WINEARCH=win32 winecfg
を実行しましょう。ホームディレクトリに32bit向けの設定が作られます。
これを行わなかった場合、64bit OSのもとでは自動的に64bit向けに設定されます。
(32bit OSの場合はもちろん32bit専用になります)
設定ファイルは全て~/.wineにおかれています。
何かトラブルが起きたらこのディレクトリを消して再度上の手順を踏めばまっさらな環境に戻すことができます。
Wineにはあらかじめ多くのWindows互換のライブラリが含まれています。
しかしゲームに使うには不十分なのも事実です。
そこでMicrosoftの「本物の」ライブラリを導入することにします。
まずはwinetricksを実行しましょう。
するとこんな画面になりますのでSelect the default wineprefixから……
Install a Windows DLL or Componentを選びます。
Civのプレイに必要なのはDirectXとmsxml3。
まずDirectXにチェックを入れてOKを押しましょう。
DirectXは自動でダウンロードからインストールまでやってくれます。
終わったら次はmsxml3を入れます。こちらは手動インストールになります。
再度Winetricksを実行し、今度はmsxml3にチェックを入れてOKを押します。
するとブラウザが開かれますのでそこからmsxml3のインストーラを落としてください。
ダイアログボックスで指示されているようにダウンロードしたインストーラは
~/.cache/winetricks/msxml3
の中に移動させます。
再度Winetricksからmsxml3にチェックを入れてOKを押すとインストーラが起動します。
あとは指示に従っていけばインストールが完了します。
ここまで終わると
こんな感じになっているはずです。
特に考えることはありません。
DVDを入れてインストーラを起動し、あとは指示に従っていくだけです。
もしかしたら右クリックから「Wineで開く」を選ぶ必要があるかもしれません。
3.19パッチも同様にダウンロードしてきて実行するだけで適用できます。
おそらくデスクトップにCiv4の見慣れたアイコンができているはずです。
メニューの「その他」や「Wine」のタブにもショートカットができているかもしれません。
そこから起動できます。
残されたことは……?
夜を徹して楽しみましょう!
重くなる一番の理由は描画です。
Civの設定でアンチエイリアスを切るだけでだいぶ軽くなるはずです。
Wineはいわゆるエミュレータではないため原理上あまりCPUスペックを要求しません。
原理について詳しい説明はWikipediaあたりを参照してください。
一応Core i3 2367MのノートPC(かつ内蔵GPU)で特に問題なくプレイできるのは確認しています。
Windows環境と同じ原因で(言語ロケールの問題)XMLのパース時にエラーが出るようです。
もちろん直し方もWindowsと同じです。
ホームディレクトリから
~/My Games/Beyond the Sword/CivilizationIV.ini
を開いてください。
119行目の
DisableCaching = 0
の値を1に変えて保存します。
しかるのちに~/.wine/drive_c/以下のBtSがインストールされた先で端末を開き
# LANG=C wine Civ4BeyondSword.exe
としてCivを起動します。これで一旦壊れたキャッシュが消去されます。
次にCivilization.iniのDisableCachingの値を0に戻し
# LANG=C wine Civ4BeyondSword.exe
もう一度起動します。これで正しくパースされたXMLがキャッシュされます。
以降はキャッシュからデータを読み込むので通常通りCivを起動できるはずです。
MODを使用する際もキャッシュを作り直すので同様の問題が起きると思われます。
面倒ならデスクトップのにあるショートカットのプロパティを編集してもいいでしょう。
コマンドの欄が
env WINEPREFIX=〜
となっているのの先頭に加筆し
env LANG=C WINEPREFIX=〜
としましょう。
こうすればショートカットから起動するときは英語のロケールを選んでくれるようになります。
ともにWine1.5とUbuntuで確認しています。
UbuntuのWineは独自のパッチを当てているのでそれが原因じゃないかと……
詳しい理由はわかっていません。
高頻度で起こります。
面倒ですが一旦メインメニューに戻り、シングルプレイ→ロードからロードしてください。
Microsoftの純正のDsoundではノイズが出ることがあるようです。
winecfgを起動してライブラリのタブから「ライブラリの新規オーバーライド」を開きdsoundを追加しましょう。
追加したら下の一覧からdsoundを選択して編集を押し、「内蔵版」に変更してください。
こんな感じにします。
Wine内蔵のdsoundを使ってくれるようになります。
原因はいくつか考えられます。
よくあると思われるのはLinux側の共有ライブラリが足りない場合です。
libなんとか.so not found
というエラーがあった場合がそれです。この場合は該当のライブラリをインストールすれば動くはずです。
セグフォで落ちる場合はたぶんWineかCivかどちらかの問題です。
あきらめてトレースを眺め、可能ならパッチを送ると喜ばれるとおもいます。
ディストリビューション:Arch Linux
デスクトップ環境:Mate、Cinnamon(Gnome2と3に相当)、XFCE4.10
Wineのバージョン:1.5.11〜1.6-rc4
確認した日付:2012/11/2〜2013/7/7
以前Ubuntu12.04にPPAの最新版を入れていたときはうまく動きませんでした。
Civilization IV COMPLETEより。ただしBeyond the Swordしか検証していません。
Ver 3.19
英語版です。日本語版については確認していないのでコメントお待ちしております。
必要に応じて加筆します
これでLinux使いの人たちも廃人にできるな!
コメント、新しい情報等お待ちしております。
最新の10件を表示しています。 コメントページを参照