新たな発見があれば随時書き足す.
モチベーション
macos monterey 以前ではwineで(大方)問題なく東方projectを動かすことができたが, Ventura以降の環境ではまともにプレイするのが難しい. が, それをどうにかしたい.
ちなみにwineはthpracも動かせる. つよい.
ネタバレ
vpatchがない作品(東方天空璋以降)では平均約100fpsになり, まともに動かない.
解決策募集中
(2023-11-05 追記)
東方天空璋は60fpsで動くようになった.
(2023-11-08 追記)
全ての作品が動くようになった.
詳細はdirectx9.0cのネイティブ版のインストールを参照
本編
準備
東方・vpatchの実行ファイル自体をわかり易い場所においておく.
ここでは~/Desktop/touhou/
にth06
を置いたとする.
ファイルのバックアップをとっておくと幸せ.
homebrewをインストールしたことがなければインストールする.
参考: https://qiita.com/zaburo/items/29fe23c1ceb6056109fd
wineのインストール
# wineとwinetricksのインストール
brew install --cask --no-quarantine gcenx/wine/wine-crossover
brew install winetricks
winetricksはwineの設定などをやりやすくしてくれるプログラム.
あると便利.
wineの設定
~/.wineのディレクトリを作成
wineでハードディスクとして扱われるディレクトリを作成する.
winecfg
待っているとウィンドウが一つ開くので, とりあえずcancelを押して閉じる.
wineの初期設定
# 使用するフォントをMSからIPAモナーに変更
winetricks fakejapanese_ipamona
# 表示される文字をなめらかにする
winetricks fontsmooth=rgb
描画関係の設定
ビデオカードの設定(大事)
デフォルトの設定ではビデオカードが認識されない(すごく小さいと思われているのかも よくわかりません) そのときすごく遅くなるのでそれを解決する.
winetricks videomemorysize=2048
言語設定
macはデフォルトではUTF-8環境であり文字化けするので, 設定を変えて実行する. この環境変数はexport
などで設定すると他のプログラムにも影響を与えるのでやらない. (2敗)
LANG=ja_JP.sjis wine hoge.exe
directx9.0cのネイティブ版のインストール
これは実行した方がいい場合とそうでない場合があるので,まずなしでやってみて, うまくいかなかったら実行する.
(2023-11-05 追記)
東方天空障以降の作品に対してはdirectx9のdllのnative版を使うようにする. そうでないとちゃんと動かない.
winetricks d3dx9
fpsを固定するd3d9.dllのラッパーを使う.
まず https://github.com/ThirteenAG/d3d9-wrapper/releases からd3d9.zip
(d3d9_x64.zip
ではない)の最新版をダウンロードして, 解凍する.
解凍されたフォルダの中にあるd3d9.ini
を以下のように編集する.
FPSLimit = 60
d3d9.dll
とd3d9.ini
をWINEPREFIX(デフォルトでは~/.wine
)の中のdrive_c/windows/system32
に移動する. d3d9.dll
は元あった同名のファイルを置き換える.
(2023-11-08 追記)
d3d9.dll
とd3d9.ini
をthxx
の中に入れる
winecfg
を起動し, 「ライブラリ」タブの検索窓に「d3d9」と打ち, 「追加」ボタンを押す.
実行してみる
元々の実行ファイル東方紅魔郷.exe
では動かない.
cd ~/Desktop/touhou/th06
LANG=ja_JP.sjis wine vpatch.exe
東方天空障以降はなぜか1280x960のウィンドウサイズでないと黒い画面のまま動かない.
困ったことがあれば
ホームディレクトリにある~/.wine
を削除すると環境をリセットできる.
セーブデータがある場合は~/.wine/drive_c/users/crossover/AppData/Local/ShanghaiAlice
から取り出しておくこと.
WINEPREFIX
の環境変数を
WINEPREFIX='~/hoge' winecfg
のように指定すると, そのディレクトリに別のwineの環境を作成してwineを動かすことができる.
グラフィック関係
文字が豆腐
原因: フォントがインストールできていない
対応:
winetricks fakejapanese_ipamona
文字化けしている
原因: 言語・文字コードの設定がずれている
対応:
LANG=ja_JP.sjis wine hoge.exe
ウィンドウが小さい
thxx
内のvpatch.ini
を以下のように書き換える
width = 1100
height = 825
フルスクリーンにすると固まる
ウィンドウでプレイしよう.
エラーたち
自分が遭遇したもの
Wine cannot find the FreeType font library.
freetypeの再インストールbrew reinstall freetype
で解決した.
元々入っていなければインストールで直るはず.
困ったことがなければ
お楽しみください.