CrossOver
CrossOverはWindowsバイナリをLinuxやmacOS上で動作させることができる商用ソフトです。GPLのWineをベースとしているのでソースコードが公開されています。
CrossOverは、通常のWineと異なり、llvm/clangベースの特別なコンパイラを使って64bit環境で32bitバイナリを実行するwine32on64により32bit Windowsバイナリと64bit Windowsバイナリの両方を動かすことができます。本家Wine 7.xでWindowsのWOW64と同様の仕組みで32bit Windowsバイナリを64bit環境で動作させる仕組みが実装されつつありますが、現時点(2022/9/10)はまだ完了していないので、現行のmacOSで32bit Windowsバイナリの実行するにはCrossOver版Wineが必要です。
CrossOverのビルドは手間がかかるのですが、GabLeRoux氏らによりMacOS CrossOver FOSS built from the Cloudというツールが出ています。今回からは 手動でコマンドを実行する21.0.0以前の解説から変更してこちらを利用してビルドします。
実際にビルドしている手順はbuild_local.shで実行しているコマンドを参照してください。以前の手動の手順と同様に、brewで必要なアプリを入れて、環境変数を設定して、必要なパッチを当ててビルドしています。
今回は一度再インストールしてクリーンな状態にしたmacOS 12.5.1で動作確認しています。
ビルド
~/Download/以下で作業します。
$ cd ~/Downloads
x86_64用brewのインストール
Command line tools for XcodeとRosetta2上で動作するx86_64用homebrewをインストールして、Rosetta2環境下で必要な環境変数を設定して作業します。
$ xcode-select --install
$ arch -x86_64 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
$ arch -x86_64 /bin/zsh
$ eval "$(/usr/local/bin/brew shellenv)"
(注: /usr/localが未使用の場合brewインストール時に
==> Checking for `sudo` access (which may request your password)...
Password:
と聞いてくるので、管理者パスワードを入れれば/usr/local以下に必要なフォルダが作成されます。
その後
Press RETURN/ENTER to continue or any other key to abort:
と出るのでEnterキーを入力してください。)
MacOS CrossOver FOSS built from the Cloudの取得と実行
git経由でファイルを取得してフォルダに移動します。
$ git clone https://github.com/GabLeRoux/macos-crossover-wine-cloud-builder.git
$ cd macos-crossover-wine-cloud-builder/
2022/9/10時点では標準でCrossOver 21.2.0をビルドするようになっているので、22.0.0をビルドするように環境変数を設定します。
$ export CROSS_OVER_VERSION=22.0.0
build_local.shを実行してCrossOver-22.0.0をビルドします。ビルドにはかなり時間がかかります。
$ sh build_local.sh
ビルドが終わるとinstall/
以下のwine-cx22.0.0/usr/local/
以下にビルドされたファイルが作られ、upload/
以下にそれをまとめたwine-cx22.0.0.tar.gz
が作られているはずです。
CrossOver-22.0.0のインストールと実行
WineskinServerでwine-cx22.0.0.tar.gz
を利用して実行してもかまいませんが、手動で/usr/local/opt/wine-cx22.0.0
以下にインストールして実行します。
$ cp -a install/wine-cx22.0.0/usr/local /usr/local/opt/wine-cx22.0.0
環境変数を設定します。
$ export PATH=/usr/local/opt/wine-cx22.0.0/bin:$PATH
$ export WINE=wine64
先にwine64を実行してWineのWOW64環境対応の~/.wine/を作成し、必要な設定を行ってください。
$ wine64 winecfg
winetricksで日本語フォントをインストールします。
$ winetricks fonts fakejapanese
Monoが入っていないので、必要ならばWine-Monoよりインストールしてください。
$ curl -o wine-mono-7.3.0-x86.msi https://dl.winehq.org/wine/wine-mono/7.3.0/wine-mono-7.3.0-x86.msi
$ wine64 msiexec /i wine-mono-7.3.0-x86.msi
動作確認したもの
7zip
7zipは32bit版も64bit版も問題なく動作します。
PPSSPP
PSPエミュレータのPPSSPPは64bit版はVulkanバックエンドとOpenGLバックエンドで動くようですが動かない場合もあるので不安定です。32bit版はOpenGLバックエンドで動くようです。PPSSPP自作ソフトストアにあるCave Storyで動作確認しました。
Steam
Steamも試してみました。
Windows版のクライアントをダウンロードして実行したところ、ブラウザがうまく表示されないですが、メニューの表示からスモールモードにすればソフトのインストールと実行が可能です。
持っているゲームで試したところ、Cat Quest2はうまく動きましたが、イースオリジンとイース8は画面が表示されずうまく動かなかったです。
macでのSteamの実行に関してはこちらが参考になります。