macOS/ソースコードからビルドする
概要
macOS に PPSSPP インストールしようと思っても、公式サイトでは「自分でビルドしてね!」とだけ書かれていて配布されていなかったり、ネットにも情報が少なかったので個人的にまとめてみました。macOS で PPSSPP をインストールする方法は、以下の 3 通りあります。
- 【オススメ】ソースコードからビルドする
- メリット:公式リポジトリなので安心安全。最新バージョンを使える。
- デメリット:導入が面倒。リポジトリをクローンするために 3GB くらい容量を使う。
- Homebrew パッケージをインストールする
- メリット:ビルドよりは導入が簡単。最新バージョンを使える。
- デメリット:FFmpeg にバグがあり(ソース)、オープニングなどで強制終了してしまう。回避策あり。
- OpenEmu など、PPSSPP のフロントエンドをインストールする
- 別のエミュレータになるので、このサイトでは解説しません。
- メリット:この中で導入が一番簡単。
- デメリット:PPSSPP のバージョンが少し古い。詳細設定を変更できない。チートを使用できない。
ネットで検索するとv1.6.3
の macOS 用ビルドがあちこちに転がっていますが、バージョンが古く、ソースコードに悪意ある変更を加えられている可能性もあるため(ソース)、おすすめしません。
この記事ではソースコードからビルドする方法を說明します。記事を書くにあたって、公式リポジトリのBuilding for macOS - Build instructions | GitHubを参考にさせていただきました。ありがとうございます。
この記事の動作環境
- macOS Catalina 10.15.7
- iMac (21.5-inch, Late 2012, x86_64)
- zsh v5.8 (x86_64-apple-darwin19.6.0)
- Xcode Command Line Tools v2373
- Homebrew v3.1.5
- Git v2.31.1
- Python v3.9.4
ご覧のように、管理人の iMac は古すぎるため「Intel(x86_64)版 macOS Big Sur」にアップデートできません。この記事の内容を「Intel(x86_64)版 macOS Big Sur」、または「Apple Silicon(ARM64) 版 macOS Big Sur」で検証してくださる方がいらっしゃればとても助かります。
必要なもの
- macOS Mojave 10.14 以上
- Homebrew が対応していないため(ソース)。
- macOS Big Sur 11.0
- macOS Catalina 10.15
- macOS Mojave 10.14
- Xcode Command Line Tools
- Homebrew をインストールするために必要。
- 必要なのは Xcode Command Line Tools のみなので、Xcode 本体をインストールする必要はありません。
- Homebrew
- 依存関係にあるパッケージをインストールするために必要。
- 依存関係にあるパッケージ
- sdl2
- cmake
- libzip
- qt5
- snappy
- ビルドに必要なソフトウェア
導入手順
1. Xcode Command Line Tools をインストールする
Xcode Command Line Tools は Xcode に付随してインストールされるため、一見 Xcode も必要と思われがちですが、実際は Xcode Command Line Tools だけインストールすることも可能です。Xcode は 約 11GB とかなりファイルサイズが大きいため、不要であれば Xcode Command Line Tools のみインストールすることをおすすめします。
- Launchpad > その他 > ターミナルを開く
xcode-select --install
をコピペしてEnter
- ポップアップが表示されるので、「インストール」をクリック
Xcode Command Line Tools を再インストール・アップデートする
なんだかごちゃごちゃしてしまったので再インストールしたい場合や、brew doctor
から「新しいアップデートが利用できるよ」と通知された場合は、以下の手順で強制的に再インストール・アップデートできます。(2)で中断することでアンインストールすることもできます。
- Launchpad > その他 > ターミナルを開く
sudo rm -rf /Library/Developer/CommandLineTools
をコピペしてEnter
- 管理者のパスワードを入力して
Enter
- 注意:一見何も入力されていないように見えますが、内部では正常に入力されています。
- 管理者のパスワードを入力して
xcode-select --install
コピペしてEnter
- ポップアップが表示されるので、「インストール」をクリック
2. Homebrew をインストールする
- Launchpad > その他 > ターミナルを開く
- Homebrew 公式サイトにアクセス
- Install Homebrew > クリップボードのアイコンをクリック
- ターミナルにペーストして
Enter
- 処理が終了するまで待つ
brew doctor
をコピペしてEnter
Your system is ready to brew.
:この表示が出力されれば問題ありません。- 警告が出力された場合は、指示に従って問題を一つずつ解消してください。
Homebrew とは
Homebrew(ホームブルー)とは、macOS または Linux 用の有名なパッケージマネージャーです。Apple Store の CLI 版のようなもので、CLI、GUI 問わずアプリを一元管理(検索・インストール・アンインストール・アップデート)できます。macOS のアプリの大半は、Homebrew からインストールできます。詳しくはググってください。
よく使うコマンド一覧
brew list
:インストールされているパッケージの一覧を表示brew list | fgrep
:インストールされているパッケージからパッケージを検索
brew search
:パッケージリストからパッケージを検索- パッケージのアップデート
brew update
:Homebrew 本体とパッケージリストを最新のものに更新brew outdated
:更新可能なパッケージを一覧表示
brew upgrade
:更新可能なパッケージをアップデート- このコマンドだけ実行しても自動的に
brew update
が実行されます。
- このコマンドだけ実行しても自動的に
- パッケージのインストール・アンインストール
brew install
:指定したパッケージをインストールbrew uninstall
:指定したパッケージをアンインストール
brew doctor
:Homebrew にエラーや不整合がないか確認Your system is ready to brew.
:この表示が出力されれば問題ありません。- 警告やアップデートの通知が出力された場合は、指示に従って問題を一つずつ解消してください。
3. PPSSPP 依存関係パッケージをインストールする
- Launchpad > その他 > ターミナルを開く
brew upgrade
をコピペしてEnter
brew install sdl2 cmake libzip qt5 snappy
をコピペしてEnter
- 処理が終了するまで待つ
4. ビルドに必要なソフトウェアをインストールする
公式サイトからインストーラをダウンロードする方法もありますが、Homebrew からインストールするほうが簡単に管理できるので、こちらがおすすめです。
4-1. Python 3 をインストールする
- Launchpad > その他 > ターミナルを開く
brew install python3
をコピペしてEnter
- 処理が終了するまで待つ
4-2. 【任意】Git をインストールする
実は Xcode Command Line Tools をインストールしたときに Git も付随してインストールされています。しかし少しバージョンが古いため、Homebrew から新規インストールすることをおすすめします。もちろんスキップしても問題ありません。
- Launchpad > その他 > ターミナルを開く
git --version
をコピペしてEnter
- デフォルトでインストールされている Git のバージョンを確認。
brew install git
をコピペしてEnter
- 処理が終了するまで待つ
- ターミナルを再起動
- デフォルトの古い Git から Homebrew でインストールした Git に切り替えるため。
git --version
をコピペしてEnter
- バージョンが上がっていることを確認。
5. ソースコードをビルドする
5-1. リモートリポジトリをクローンする
約 3GB とリポジトリのサイズが大きいため、安定した Wi-Fi 環境などで実行することをおすすめします。今回は分かりやすいように「デスクトップ」にクローンしてみます。もちろん、他のフォルダでも構いません。
- Launchpad > その他 > ターミナルを開く
cd ~/desktop
をコピペしてEnter
git clone --recurse-submodules https://github.com/hrydgard/ppsspp.git
をコピペしてEnter
- 補足:Git で公式リポジトリからソースコードをクローン(ダウンロード)
- 処理が終了するまで待つ
5-2. クローンしたソースコードをビルドする
iMac 2012 年モデル(Core i5 3330S)で 10 分程度かかりました。現行のモデルだともっと早くビルドが完了すると思います。
- Launchpad > その他 > ターミナルを開く
cd ~/desktop/ppsspp
をコピペしてEnter
./b.sh --qtbrew
をコピペしてEnter
- 処理が終了するまで待つ
- ビルドが完了すると、
ppsspp/build
フォルダ内にPPSSPPQt.app
が生成されます。
- ビルドが完了すると、
【トラブル】ビルドに失敗する場合
Homebrew などで FFmpeg をインストールしていると発生するようです。FFmpeg は PPSSPP の Homebrew パッケージをインストールすると、依存関係パッケージとしてインストールされます。こちらの Issueにも上がっているので、そちらも確認してみてください。
brew unlink
を使って FFmpeg を一時的に無効化します。
- Launchpad > その他 > ターミナルを開く
brew unlink ffmpeg
をコピーしてEnter
- (5-2)の手順に従ってビルドする
- ビルドが終わったら
brew link ffmpeg
をコピーてEnter
6. PPSSPP を起動する
ターミナルから起動する
ターミナルから起動すると、PPSSPP のデバッグログが出力されます。
- Launchpad > その他 > ターミナルを開く
~/desktop/ppsspp/build/ppssppqt.app
をコピペして Enter- 他のフォルダにクローンした場合は、
/ppsspp
までを読み替えてください。 - Qt 版ではなく SDL 版をビルドした場合は、
~/desktop/ppsspp/build/ppssppsdl.app
になります。
- 他のフォルダにクローンした場合は、
7. アプリのエイリアスを「アプリケーション」フォルダにコピペ
PPSSPP を起動するためにいちいちppsspp/build
フォルダを開くのは面倒なので、アプリのエイリアス(Windows で言うショートカット)を作成し、「アプリケーション」フォルダにコピペしましょう。こうすることで、Launchpad 上にも表示されるようになるため起動しやすくなります。
ppsspp/build
フォルダを開くPPSSPPQt.app
を右クリックして「エイリアスを作成する」をクリック- 作成された
PPSSPPQt.appのエイリアス
を「アプリケーション」フォルダにコピペ build
フォルダ内のPPSSPPQt.appのエイリアス
右クリックして「ゴミ箱に入れる」をクリック- 「アプリケーション」フォルダ内の
PPSSPPQt.appのエイリアス
をPPSSPPQt.app
にリネーム
保守作業
PPSSPP をアップデートする
ローカルリポジトリを最新のものに更新して、ソースコードをビルドし直します。
- Launchpad > その他 > ターミナルを開く
cd ~/desktop/ppsspp
をコピペしてEnter
git pull --rebase https://github.com/hrydgard/ppsspp.git
をコピペしてEnter
git submodule update --init --recursive
をコピペしてEnter
- (5-2)の手順に従ってビルドする
PPSSPP をアンインストールする
ローカルリポジトリを削除し、依存関係パッケージをアンインストールします。不要なら Python はアンインストール。Git は最新バージョンを維持するため、Homebrew は色々と便利なため、アンインストールせず残しておくといいかと思います。この作業で設定やセーブデータなどは削除されません。
1.「アプリケーション」フォルダのエイリアスを削除
- Finder を開く
- 左のサイドバーから「アプリケーション」をクリック
- 一覧から
PPSSPPQt.app
を右クリックして「ゴミ箱に入れる」をクリック - Dock のゴミ箱を右クリックして「ゴミ箱を空にする」をクリック
2. ローカルリポジトリを削除
- Finder を開く
- リポジトリをクローンしたフォルダまで移動
- 「ppsspp」フォルダを右クリックして「ゴミ箱に入れる」をクリック
- Dock のゴミ箱を右クリックして「ゴミ箱を空にする」をクリック
3. 依存関係パッケージをアンインストールする
- Launchpad > その他 > ターミナルを開く
brew uninstall sdl2 cmake libzip qt5 snappy
をコピペしてEnter
brew autoremove
をコピペしてEnter
4. Python 3 をアンインストールする
- Launchpad > その他 > ターミナルを開く
brew uninstall python3
をコピペしてEnter
brew autoremove
をコピペしてEnter
5. Git をアンインストールする
- Launchpad > その他 > ターミナルを開く
brew uninstall git
をコピペしてEnter
brew autoremove
をコピペしてEnter
6. Homebrew をアンインストールする
- Launchpad > その他 > ターミナルを開く
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/uninstall.sh)"
をコピペしてEnter
- Homebrew の指示に従う
7. Xcode Command Line Tools をアンインストール
- Launchpad > その他 > ターミナルを開く
sudo rm -rf /Library/Developer/CommandLineTools
をコピペしてEnter
- 管理者のパスワードを入力して
Enter
- 管理者のパスワードを入力して
メモ
「memstick」フォルダのパス
v1.11.3
では、以下のパスに「memstick」フォルダが作成されます。v1.12
からは保存場所が変更されるかもしれません(ソース)。
~/.config/ppsspp
└─ PSP
├─ PPSSPP_STATE
├─ SAVEDATA
└─ SYSTEM
├─ controls.ini
└─ ppsspp.ini
~
はホームディレクトリ(/Users/
)を指します。詳しくは、祝入学・Mac で役立つ基礎の基礎(2) 「~」の意味は? - 新・OS X ハッキング!(259) | マイナビニュースを参照してください。
macOS や Linux 上では、先頭に「.」がついたファイルとフォルダは隠しファイルとして扱われます。このため、通常は Finder 上に表示されません。Finder から隠しフォルダにアクセスする方法は 2 種類あります。よくアクセスするなら、サイドバーなどにピン留めしておくと便利かもしれません。
A. 隠しファイルの表示を有効にする
- Finder を開く
/Users/
または/ユーザ/
まで移動するCmd+Shift+.
を押す- 隠しファイル・フォルダの表示が有効になります。非表示に戻したい場合はもう一度押してください。
B. 「フォルダへ移動」を使う
- Finder を開く
- メニューバー > 移動 > 「フォルダへ移動...」をクリック
- 「フォルダの場所を入力:」と表示されるので、
~/.config/ppsspp
をコピペしてEnter
PPSSPPQt と PPSSPPSDL
- メニューバーの項目の数
- Qt 版は Windows 版とほとんど同じ操作ができます。
- UI の大きさ
- Vulkan のサポート
Homebrew 経由で PPSSPP をインストールすると SDL 版がインストールされます。ビルドする場合は 、引数によってどちらをビルドするか選べます。./b.sh
に--qtbrew
を追加すれば Qt 版、追加しなければ SDL 版がビルドされます。すでにどちらかをビルドしていて、ビルドするバージョンを切り替えたい場合は、先にbuild
フォルダを削除してください。
- Launchpad > その他 > ターミナルを開く
cd ~/desktop/ppsspp
をコピペしてEnter
rm -rf build
をコピペしてEnter
./b.sh
または./b.sh --qtbrew
をコピペしてEnter
参考リンク
Xcode
- ダウンロードとリソース - Xcode | Apple Developer
- 最小要件 - Xcode サポート | Apple Developer
- macOS を Mojave にあげた後に Homebrew を使うとエラーが出る問題 | gotohayato.com