LoginSignup
1
3

macos sonomaでもwineで東方をプレイしたい

Last updated at Posted at 2023-11-03

新たな発見があれば随時書き足す.

モチベーション

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のインストール

terminal
# wineとwinetricksのインストール
brew install --cask --no-quarantine gcenx/wine/wine-crossover
brew install winetricks

winetricksはwineの設定などをやりやすくしてくれるプログラム.
あると便利.

wineの設定

~/.wineのディレクトリを作成

wineでハードディスクとして扱われるディレクトリを作成する.

terminal
winecfg

待っているとウィンドウが一つ開くので, とりあえずcancelを押して閉じる.

wineの初期設定
terminal
# 使用するフォントをMSからIPAモナーに変更
winetricks fakejapanese_ipamona
# 表示される文字をなめらかにする
winetricks fontsmooth=rgb

描画関係の設定

ビデオカードの設定(大事)

デフォルトの設定ではビデオカードが認識されない(すごく小さいと思われているのかも よくわかりません) そのときすごく遅くなるのでそれを解決する.

terminal
winetricks videomemorysize=2048
言語設定

macはデフォルトではUTF-8環境であり文字化けするので, 設定を変えて実行する. この環境変数はexportなどで設定すると他のプログラムにも影響を与えるのでやらない. (2敗)

terminal
LANG=ja_JP.sjis wine hoge.exe
directx9.0cのネイティブ版のインストール

これは実行した方がいい場合とそうでない場合があるので,まずなしでやってみて, うまくいかなかったら実行する.

(2023-11-05 追記)

東方天空障以降の作品に対してはdirectx9のdllのnative版を使うようにする. そうでないとちゃんと動かない.

terminal
winetricks d3dx9

fpsを固定するd3d9.dllのラッパーを使う.
まず https://github.com/ThirteenAG/d3d9-wrapper/releases からd3d9.zip(d3d9_x64.zipではない)の最新版をダウンロードして, 解凍する.
解凍されたフォルダの中にあるd3d9.iniを以下のように編集する.

d3d9.ini
FPSLimit = 60

d3d9.dlld3d9.iniをWINEPREFIX(デフォルトでは~/.wine)の中のdrive_c/windows/system32に移動する. d3d9.dllは元あった同名のファイルを置き換える.
(2023-11-08 追記)
d3d9.dlld3d9.inithxxの中に入れる

winecfgを起動し, 「ライブラリ」タブの検索窓に「d3d9」と打ち, 「追加」ボタンを押す.

実行してみる

元々の実行ファイル東方紅魔郷.exeでは動かない.

terminal
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を動かすことができる.

グラフィック関係

文字が豆腐

原因: フォントがインストールできていない
対応:

terminal
winetricks fakejapanese_ipamona

文字化けしている

原因: 言語・文字コードの設定がずれている
対応:

terminal
LANG=ja_JP.sjis wine hoge.exe

ウィンドウが小さい

thxx内のvpatch.iniを以下のように書き換える

vpatch.ini
width = 1100
height = 825

フルスクリーンにすると固まる

ウィンドウでプレイしよう.

エラーたち

自分が遭遇したもの

Wine cannot find the FreeType font library.

freetypeの再インストールbrew reinstall freetypeで解決した.
元々入っていなければインストールで直るはず.

困ったことがなければ

お楽しみください.

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3