Favicon of AnyPS5

AnyPS5

AnyPS5 is a C++ tool that relinks PS5 executables to native Windows/Linux binaries using a shader recompiler and reimplemented system libraries.

AnyPS5 website screenshot
AnyPS5 GitHub repository preview

AnyPS5 is a tool for porting PS5 executables to run natively on Linux and Windows. Instead of emulating PS5 hardware or running a separate runtime process, it converts the executable into the target system's native binary format and links it against reimplemented system PRX libraries. A shader recompiler translates PS5 shaders into validated SPIR-V for use with Vulkan. This project fits developers and researchers interested in game porting, binary compatibility layers, or graphics recompilation, not end users looking for a plug-and-play game launcher.

The project is in active development. A status page tracks the percentage of known PS5 system library functions implemented and shader recompiler progress. A compatibility list documents which games run and how well. At this stage, expect partial coverage: some titles run, many don't, and unsupported states are handled by throwing a runtime error rather than silently failing or falling back to emulation.

Key features

  • Relinker: converts PS5 executables into the native executable format of the target OS (Windows PE or Linux ELF), rather than wrapping them in an emulator.
  • Reimplemented system libraries: core PS5 PRX libraries are reimplemented for dynamic linking, so ported executables call real native code instead of simulated syscalls.
  • Shader recompiler: translates PS5 shader bytecode into SPIR-V, which can be validated against SPIRV-Tools when built with the ANYPS5_ENABLE_SPIRV_TOOLS flag.
  • No separate runtime process: the ported executable runs directly on the host OS instead of inside a sandboxed emulation layer.
  • Controller and input support: SDL-mapped game controllers work out of the box, including analog sticks and triggers; keyboard and mouse can be remapped via an anyps5-input.ini file.
  • Strict error handling: unsupported or unexpected states throw std::runtime_error, printing the message to stderr and terminating, which makes failures easier to diagnose during development.
  • Compatibility tracking: a public progress page and a game compatibility list show which library functions and shaders are implemented and which titles have been verified.

Ideal use cases

AnyPS5 is useful if you're researching PS5 binary compatibility, contributing to a native (non-emulated) porting pipeline, or want to understand how PS5 executables map to Vulkan and native OS calls. It's also relevant for preservation work on titles that already run reasonably well, such as the 2D platformer listed in the compatibility doc running at 60 fps on modest hardware (GTX 1050 Ti, i5-7500).

It is not a fit if you want broad, out-of-the-box game compatibility today. Library and shader coverage is partial and growing, and the compatibility list is short. It's also not a tool for obtaining or distributing PS5 game content, firmware, or proprietary libraries; the project explicitly requires users to source any binaries legally and only targets interoperability, research, and preservation use cases.

Installation

The README points to dedicated docs for setup rather than listing commands inline:

To enable SPIR-V validation during the build, pass the ANYPS5_ENABLE_SPIRV_TOOLS flag so the shader recompiler output is checked against the bundled SPIRV-Tools dependency in 3rdparty/SPIRV-Tools. After building, input mapping for controllers and keyboard/mouse is configured through an anyps5-input.ini file as described in the input mapping docs. Check COMPATIBILITY.md before testing a specific game, since support varies title by title.

Categories:

Frequently asked questions

Share:

Stars
43.3K
Forks
3.9K
Last commit
2 hours ago
Repository age
3 months
License
GPL-2.0
Self-hosted
No
Activity score
85/100
View Repository
Built with:
Ad
Favicon

 

  
 

Similar to AnyPS5

Favicon

 

  
 
Favicon

 

  
 
Favicon