2019年10月16日水曜日

WineHQ を使って Linux でも フリゲをしよう

WineHQ を使えば Linux でも Windows で動くゲームを楽しめます。

ただ初心者が Linux で WineHQ を使ってフリゲを動かすのはハードルがあります。 素晴らしい記事はいくつかあるものの、1 記事でワンパスが通っていないので、かなり迷う。 WineHQ も進化して設定がこなれてきて楽になってきているため、将来に向けて Ubuntu 18.04 でワンパスを通したメモを残しておきます。


まず WineHQ をインストールします。 WineHQ はもともと Wine という名前でしたが、名前が変わりインストールの仕方も変わりました。 公式の手順 を見たほうが安全ですが、現時点では以下でできます。 今回利用したバージョンは 4.0.2 です。 (追記: 最新の 5.0 も確認したけど、だいたい同じ感じ)

Ubuntu 18.04

sudo dpkg --add-architecture i386
wget -nc https://dl.winehq.org/wine-builds/winehq.key
sudo apt-key add winehq.key
sudo apt-add-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ bionic main'
sudo apt install --install-recommends winehq-stable
次に Winetricks をインストールします。apt でも入れられるけど、今は手動インストールが推奨されています
cd "${HOME}/Downloads"
wget  https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks
chmod +x winetricks


Ubuntu 20.04

ちなみに Ubuntu 20.04 ではもっと簡単になったみたいで、以下だけでいけました。
sudo apt install wine winetricks


WineHQ / Winetricks をインストールしたことで Windows のソフトを動かす最低限の準備は整いました。 次に Winetricks を使って RPG ツクールを動かすために必要なライブラリをインストールします。
sudo apt install cabextract  # directmusic/dsound に必要
# 全般
# winetricks allfonts  # 重いので以下のほうが良いかも
winetricks fakejapanese_ipamona
winetricks d3dx9
# 音源
winetricks quartz
winetricks gmdls
winetricks dmsynth
winetricks directmusic
winetricks dsound
winetricks devenum
たいていのゲームに使われてるライブラリは上記と思います。 ゲームごとに必要なライブラリが異なるので、動かなかった場合は以下のサイトを参考にして、ライブラリを追加してください。 とても詳しく書かれている。


次に MIDI を聴けるようにします。 MIDI は最近あまり使われなくなっていますが、フリゲと言えば MIDI なので、まとめておきます。

まずは Timidity や FluidSynth / Qsynth といったシンセサイザーをインストールした上で、サウンドフォントをインストールします。 シンセサイザーは私が動かせている Qsynth だけ説明します。Timidity / FluidSynth の設定の仕方がわかる方、教えてください。
# sudo apt install timidity timidity-interfaces-extra
sudo apt install fluidsynth qsynth
sudo apt install freepats fluid-soundfont-gm fluid-soundfont-gs
フリゲで MIDI を再生するためには、インストールするだけでは駄目で、Wine のレジストリ設定が必要です (参考)。 Qsynth を使う場合は以下のように設定します。
wine reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Multimedia\MIDIMap" /v "CurrentInstrument" /t REG_SZ /d "Synth input port (Qsynth1:0)"
レジストリの "Synth input port (Qsynth1:0)" が重要なところで、このポートにアクセスすることで MIDI を再生することになります。 そのため Qsynth 側でも対応する設定が必要になります。具体的には Qsynth を起動して以下の設定をしてください。



ここまで来ればだいたい設定完了です。 あとは RPG ツクールなどのランタイムをインストールしましょう。 そして Qsynth を起動したままにしてフリゲを実行すれば、MIDI も聴けるし、だいたいのものは動きます。
# RPGツクールのランタイムをインストール
wine RPG2000RTP.exe
# ゲームをインストールした後に、exeファイルを実行
wine RPG_RT.exe


だいたいのものは動く感じで、Nepheshelイストワール は気持ち良く動きました。 他には ここ のリストを参考にして、片道勇者天使のうつわ を確かめてみたところ、何の問題もなく動きました。ただ ふしぎの城のヘレン はうまく動かなかった。独自ビューの表示に何を使ってるかわかれば動きそうだけど、すぐにはわからなかった。

あと気になってる問題として、MIDI / MP3 なら大丈夫だけど WAV ファイルの音が出ない問題がある。 たとえば メイジの転生録 など。ヘッダを弄るパッチを当てたり、サウンドドライバを ALSA にして GStreamer をほにゃららすればできそうな気がするけど、いまいちよくわからなかった。 解決できる神の登場が待たれます。

動かない時に何が必要なのかわかりにくいのは難点ですね。 知見が共有されてくるともっと遊びやすくなりそうなので、安定利用にはもう少しというところでしょうか。

0 件のコメント: