This is AnyPlay's fork of boykopovar/AnyPS5, a compatibility layer that relinks PS5 executables into native Windows and Linux programs. It is not an emulator. The engine is the work of upstream and its authors. Get AnyPS5, report engine bugs and follow its development there.
The fork adds the network bridge and the nightly toolkit builds that the AnyPlay Launcher uses.
-
Network bridge. A small layer inside the system libraries that hands a game's sign-in, session and web API calls to the AnyPlay net service on the same PC, so a game you own can play online with AnyPlay accounts. It is merged in the fork for:
- sign-in state and identity;
- NAT information;
- web API requests and push events;
- the online-permission check, answered for the AnyPlay network only;
- peer-to-peer datagram and stream sockets through the net service.
The bridge is off unless the launcher sets
ANYPS5_NET_ENDPOINTandANYPS5_NET_TOKENfor one game start. Without them every library behaves as in upstream. Session joins are not wired yet (debt). The wire format is the bridge protocol. -
Observation mode.
ANYPS5_NET_OBSERVEwrites the network calls a game makes to a file, in the observation log format. -
Nightly toolkit. Every push to
mainpublishes the nightly release: relinker and system libraries for Windows and Linux, in the layout the launcher downloads or accepts as a toolkit folder. It is a pre-release, and each build replaces the last.
The bridge follows the line: no Sony servers, code or keys, and only games the player owns. The variables are listed in ENVIRONMENT; known gaps are in docs/dev/debt.
A workflow keeps one open pull request, sync/upstream-<date>, that merges upstream main into the fork every day (and on demand). It lists the upstream changes and the files both sides changed, starts the Linux and Windows builds, and opens the pull request as a draft with the conflicting files when upstream does not merge cleanly. A person reads it, and then it is merged. Everything outside the bridge stays as upstream has it, which keeps those merges small. FORK lists every place the fork differs and why; a script checks it against upstream.
- Generic engine work (a library, a fix, a faster path) goes upstream as a pull request to boykopovar/AnyPS5. It reaches this fork with the next sync.
- Bridge work goes here as a pull request. Follow AGENTS.md, CONTRIBUTING.md and the conventions. Commit subjects and PR titles are Conventional Commits.
- Build: the fork's CI builds the C++ tree. The full Windows job has a 120-minute limit here.
- Questions and ideas: the AnyPlay Discord.
English | Português (Brasil) | Español | 简体中文 | Русский
Tool for automatic executables porting to Linux and Windows.
The relinker-only build runs on macOS, including Apple silicon.
Web converter - files stay on your device.
Includes a relinker that converts executable to the target system's native format and implementations of system prx libraries suitable for dynamic linking. No emulation or separate runtime process.
Discord, Usage, Build instructions, Architecture, Technical debt of the project, code style conventions, contributing
* System libraries: percentage of the functions known to the project so far (declared in core/libs/prx), not of every PS5 system function. The total grows as more functions are declared.
Unsupported or unexpected states strictly throw std::runtime_error. what() is printed to stderr and the process terminates.
The shader recompiler successfully produces SPIR-V (validated via Spirv-Tools when built with ANYPS5_ENABLE_SPIRV_TOOLS).
Per-game status and test reports live in the Game bring-up discussions, one thread per title.
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.
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.
AnyPS5 is an independent project and is not affiliated with, authorized or endorsed by Sony Interactive Entertainment. "PlayStation" and "PS5" are trademarks of Sony Interactive Entertainment Inc.
This project is licensed under the GNU General Public License version 2 only.
