最近また古のフリーゲームを遊びたくなったのだがほとんどは現在の 64 bit Windows 11 環境だと動かず、互換モードも大して意味が無かったりしており、どうにか動かせないかといろいろ考えていた。
今日ふと、 WSL2 に Wine を突っ込んで、その環境で動かすということはできないかというアイデアを思い付いた。
WSL2 は Hyper-Vで動く Linux カーネル、Wine は Linux 上で動く Windows API 互換レイヤで、いわば Windows 内で Linux を動かし、その中に Windows 環境を作るようなもので、基本的に何か意味がある構成ではないのだが、ワンチャンあるならいっちょやってみるかって感じで取り組んでみた。
おれの WSL2 に Wine を導入
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install wine64 wine32
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
... (ずらずらずらずら)
The following packages will be upgraded:
curl gcc-12-base libapparmor1 libblkid1 libc6 libcap2 libcom-err2 libcurl4 libdw1 libelf1 libexpat1 libgcc-s1
libglib2.0-0 libglib2.0-bin libgnutls30 libgssapi-krb5-2 libgstreamer1.0-0 libk5crypto3 libkrb5-3 libkrb5support0
libldap-2.5-0 libmount1 libncurses6 libncursesw6 libnghttp2-14 libnss-systemd libpam-systemd libpcap0.8 libpng16-16
libsqlite3-0 libssh-4 libssl3 libstdc++6 libsystemd0 libtasn1-6 libtinfo6 libudev1 libunwind8 libuuid1 libx11-6
libxml2 systemd systemd-sysv systemd-timesyncd udev
45 upgraded, 372 newly installed, 0 to remove and 142 not upgraded.
Need to get 362 MB/365 MB of archives.
After this operation, 1733 MB of additional disk space will be used.
Do you want to continue? [Y/n]
そんな食うんかい
winecfg
音が鳴るかだけ気になってサウンドテストしたがちゃんと鳴った
溺れた正弦波みたいな音だったけど
撃破伝を起動しようとしてみるが、失敗
/mnt/d/Game/Free/撃破伝$ wine ./geki106.exe
文字化けしているからフォントのせいか?
CJK漢字環境をつっこむ
sudo apt install winetricks
winetricks cjkfonts
wine ./geki106.exe
だが改善せず
パスに日本語が入ってるからか?
ローマ字の名前にしたゲームフォルダに撃破伝をコピーし、 cd して起動してみると成功
cd ../gekihaden
wine ./geki106.exe
フルスクリーンだが640x480サイズが左上固定されてるような画面で、めちゃめちゃみづらい
この問題は、winecfg で仮想デスクトップのエミュレーションをさせることで解決できるようだ
winecfg で Emulate a virtual desktop を有効化し、サイズを指定する
私懐かしの Windows98 マシンの CRT モニター解像度だった 1024x768 を指定
その後起動するといい感じにウィンドウ化された
フルスクリーン起動だった時と違いスクショを撮っても画面が固まらない
操作遅延もほとんどなく、MIDIもちゃんと再生されてる
続いて D-Force. 2
こちらは日本語フォント導入をしたにもかかわらず文字化けしている
起動ボタンを押しても起動せず
HSP製のゲームだと違うんだろうか
ここで使っているフォントは MS ゴシックのはずなので、これを導入してみる
C:\Windows\Fonts 内の msgothic.ttc / msmincho.ttc をコピー
cp ../oldfonts/*.ttc ~/.wine/drive_c/windows/Fonts/
fc-cache -fv
→解決せず
モナーフォントを入れてみるか。。。
wget http://web.archive.org/web/20190324124426/http://www.geocities.jp/ipa_mona/opfc-ModuleHP-1.1.1_withIPAMonaFonts-1.0.8.tar.gz
tar xzf opfc-ModuleHP-1.1.1_withIPAMonaFonts-1.0.8.tar.gz
mv opfc-ModuleHP-1.1.1_withIPAMonaFonts-1.0.8/fonts/ipa*.ttf ~/.wine/drive_c/windows/Fonts/
rm -rf opfc-ModuleHP-1.1.1_withIPAMonaFonts-1.0.8
レジストリエディタをいじる
REGEDIT4
[HKEY_CURRENT_USER\Software\Wine\Fonts\Replacements]
"MS Gothic"="IPA モナー ゴシック"
"MS Mincho"="IPA モナー 明朝"
"MS PGothic"="IPA モナー Pゴシック"
"MS PMincho"="IPA モナー P明朝"
"MS UI Gothic"="IPA モナー UIゴシック"
"MS ゴシック"="IPA モナー ゴシック"
"MS 明朝"="IPA モナー 明朝"
"MS Pゴシック"="IPA モナー Pゴシック"
"MS P明朝"="IPA モナー P明朝"
REGEDIT4
[HKEY_CURRENT_USER\Control Panel\Desktop]
"FontSmoothing"="1"
"FontSmoothingGamma"=dword:00000578
"FontSmoothingOrientation"=dword:00000001
"FontSmoothingType"=dword:00000002
これらを .reg ファイルで、文字コードに Shift-JIS を指定して保存し、以下のように regedit を呼び出すことで適用する
wine regedit ../oldfonts/2016_0326_wine-font-replace-mona.reg
wine regedit ../oldfonts/2016_0326_wine-font-smoothing-rgb.reg
が、ダメ
結局、WSL2 側のロケールを日本語にするだけで解決できた(要 WSL 再起動)
なんやねん
sudo update-locale LANG=ja_JP.UTF8
スプライドがバグったりなどもしておらず、OGGもしっかり再生されたが、3面のメイドさんを脱がす途中で落ちた。(理由不明)(気が向いたら確認する)
手持ちのほかのゲームでも Wine で起動できるか試してみたところ、以下のゲームは起動できず。
RPG ツクール 95 / 2000 製のゲーム
DOSBox が必要なゲーム
パポタ 空飛ぶ魔導店
ボートレース
これらは起動してすぐにプログラムエラーを吐いてしまった
コアダンプっぽいものも吐いてくれるがこれをデバッグする気にはなれなかった。
Wine のバグ踏み抜いている可能性もありそうだし…
ツクールゲーはいくつか調べた感じWineでも動かせそうだったんだけどなあ…やっぱり WSL で動かすと何かしら無理が生じるのか?
パポタ遊びたかったな~
起動できるゲームもあった
晴れたり曇ったりN
レミュオールの錬金術師
NScript製ゲームはモノがシンプルなのか、そんなに影響受けないようだ
まあ現状の Win11 でも全然動くのでわざわざ Wine で動かす意味ないんだけどね~
洞窟物語
WineHQ への入れ替え
最新バージョンの Wine は WineHQ というところで配布されているらしい
これに置き換えてみよう
既存の Wine を削除
どうせ大したもの入れてないので全部消す
sudo apt remove --purge wine wine-stable
sudo apt autoremove
rm -rf ~/.wine
WineHQ リポジトリの追加とインストール
sudo dpkg --add-architecture i386
sudo mkdir -pm755 /etc/apt/keyrings
sudo wget -O /etc/apt/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key
sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/$(lsb_release -sc)/winehq-$(lsb_release -sc).sources
sudo apt update
sudo apt install --install-recommends winehq-stable
sudo apt install mesa-vulkan-drivers mesa-vulkan-drivers:i386 libvulkan1 libvulkan1:i386
Wine の初期設定
export WINEARCH=win32; winecfg
何か言われたがとりあえず言われた通りのものをインストール
サウンドテストもする
相変わらず溺れた正弦波みたいな音が鳴った
いかちゃんを Wineで起動確認
RPGツクール製ゲームは相変わらず起動できず
Winetricks を導入 / 必要なライブラリのインストール
こっちは手動インストールが必要らしい?
wget https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks
chmod +x winetricks
sudo apt install cabextract
./winetricks fakejapanese_ipamona
./winetricks d3dx9
./winetricks quartz
./winetricks gmdls
./winetricks dmsynth
./winetricks directmusic
./winetricks dsound
./winetricks devenum
サウンドフォント導入
sudo apt install fluidsynth qsynth
sudo apt install freepats fluid-soundfont-gm fluid-soundfont-gs
wine reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Multimedia\MIDIMap" /v "CurrentInstrument" /t REG_SZ /d "Synth input port (Qsynth1:0)"
起動確認、成功せず
wine ./RPG2000RTP.exe
wine ./RPG_RT.exe