PS5 runtime for macOS: the guest runs directly under Rosetta 2 as relinked x86_64 code, with native HLE system libraries and a Metal graphics backend.
Fork of boykopovar/AnyPS5 (a Linux/Windows relinker); this fork targets macOS.
- A Mac with Apple Silicon and Rosetta 2 installed (
arch -x86_64 /usr/bin/truemust succeed). The engine is built for x86_64 (-DANYPS5_ROSETTA_LIBS=ON -DCMAKE_OSX_ARCHITECTURES=x86_64). - Xcode command-line tools with the Metal toolchain. No minimum macOS version is pinned in the build files.
The direct path relinks the title with relinker --macos --to-rosetta, builds the system libraries as x86_64 Mach-O libs/<name>.prx, and runs the result under arch -x86_64. The engine launcher, anyps5_rosetta_run (tools/rosetta/launcher), does the relink (cached per title), lays out the run directory and launches it; it is the executable of the engine package MacPS installs (releases), and tools/rosetta/run_title.py wraps it for development; see the design and the macOS build section.
Engine releases are paused while packaging is rebuilt around the Rosetta path. The exact flags CI uses are in macos-metal.yml.
Unsupported or unexpected states strictly throw std::runtime_error. what() is printed to stderr and the process terminates.
Usage, Build instructions, Architecture, Technical debt of the project, code style conventions, contributing
See the game compatibility list for tested games and known issues.
SDL-mapped game controllers are supported, including analog sticks and triggers. Keyboard and mouse controls can be configured with an anyps5-input.ini file. See input mapping for the supported devices and configuration format.
The upstream project converts executables to native Linux and Windows binaries with a relinker and system prx libraries for dynamic linking, without emulation. That code is kept here so upstream changes sync cleanly; the macOS runtime builds on the same library declarations.
This project is intended for interoperability, research, preservation, and compatibility purposes. It does not include, distribute, or require copyrighted software, firmware, cryptographic keys, or proprietary libraries. Users are responsible for ensuring that any binaries used with this project are obtained and used in accordance with applicable laws and their respective license terms.
This project is licensed under the GNU General Public License version 2 only.