Executable porting · Linux and Windows
No emulator.
No separate runtime.
AnyPS5 relinks an executable into the target system’s native format and supplies implementations of the system prx libraries for dynamic linking. The converted program runs as a normal process and calls those native libraries.
System libraries
GPU shader instructions
A function counts once it no longer calls NotImplemented_nid_no_patch; an instruction counts once the decoder recognizes it.
Library by library
12 largest of 101 declared · 44 complete · 7 not startedShared-source libraries are counted only at their source library. Generated by tools/progress.py on every push to main.
How a program is ported
from docs/dev/ARCHITECTURE.mdThe relinker reads imports by NID, checks syscalls, filters unused NIDs and builds a SysV dynamic section, then patches an ELF for Linux or a PE for Windows.
Each library in core/libs/prx builds as a shared library with its exports renamed to their NIDs. The OS loader binds imports by NID.
The shader recompiler produces SPIR-V, validated with SPIRV-Tools when built with ANYPS5_ENABLE_SPIRV_TOOLS.
Fails loudly
Unsupported or unexpected states strictly throw std::runtime_error. what() is printed to stderr and the process terminates.
Tested compatibility
| Game | Windows | Linux | GTX 1050 Ti / i5-7500 | HD Graphics 620 / i5-7200 |
|---|---|---|---|---|
| Dreaming Sarah | In game, playable | ? | 60 FPS | 36 FPS |
The project’s own list, as published. The question mark is theirs.