mrkeyoor.com_
Sun 04 Oct 03:12 UTC
Dev Toolsevaluationupdated 04 Oct 2026

AnyPS5 review

AnyPS5 converts PlayStation 5 executables and their bundled modules into native Linux or Windows programs. It is a C++ relinker plus replacement system libraries, not an emulator or a separate runtime process.

Verdict

Our AnyPS5 build stopped after 44 seconds, and CTest reported 9 passes with 136 failures, so commit ccd60ce is a research checkout rather than a dependable player build on our Debian box. Try it if native relinking itself is the work and you can debug a large C++ codebase. For playing games, the one-title compatibility table and failed lab build make this an easy skip today.

We ran it

Lab card: what happened when we ran AnyPS5Screenshot of AnyPS5 (github.com/boykopovar/AnyPS5)
Install✓ · 14s
Build✗ · 44s
Tests✗ · 1s9 passed · 136 failed of 145 (ctest)
Repo10465 files~2,300,908 lines of source · 222 MB · 9 CI workflows

Answers from our run

Does AnyPS5 build from source?

Dependencies installed in 14 seconds, and the build failed. We cloned commit ccd60ce into a clean Debian container with 3 CPUs and no project-specific setup.

Do AnyPS5's tests pass?

Not all of them: 9 of 145 passed and 136 failed when we ran the project's own test command (ctest). Some failures need services or credentials a bare container does not have.

Who should not use AnyPS5?

Players looking for broad game support: the compatibility page lists one tested title.

What are the alternatives to AnyPS5?

shadPS4, Kyty, Orbital. Our AnyPS5 build stopped after 44 seconds, and CTest reported 9 passes with 136 failures, so commit ccd60ce is a research checkout rather than a dependable player build on our Debian box.

Setup1/5Install passed, but build and 136 of 145 tests failed
Docs4/5Exact build, runtime layout, and technical debt are documented
Community4/5October push activity, 3,271 stars, and 103 open PRs
Maturity2/5v0.1.1 and one listed compatible game remain early

Who it’s for

Emulator and preservation developers studying PS5 executable formats, system libraries, and shader translation.
C++ contributors comfortable tracing unsupported instructions and missing system calls.
Owners of legally obtained PS5 binaries who want to test the project's narrow compatibility path.
Researchers who prefer explicit crashes over silent guesses when a state is unsupported.

Who it’s NOT for

Players looking for broad game support: the compatibility page lists one tested title.
Developers expecting a portable Windows build: the build guide supports one specific MinGW-w64 GCC 15.2.0 package.
Intel users who expect every AMD-only instruction to be converted: the technical-debt page names instructions and operand forms that still fail relinking.
Anyone without a clean ELF and its bundled modules: the usage guide requires those inputs and the project does not distribute them.
Teams that require a green fresh-container build: our build stopped after a compiler error and only 9 of 145 CTest cases passed afterward.

Setup reality

Our sandbox installed commit ccd60ce in 14 seconds. The build failed after 44 seconds at exit 1, with the compiler output pointing to std::chrono::clock_cast; Ninja then stopped. CTest finished in 1 second with 9 passed and 136 failed out of 145.

Building requires x86-64, CMake 3.22.1 or newer, Ninja, C++20, recursive Git submodules, and GCC on Linux. Windows support is limited to the documented MinGW-w64 GCC 15.2.0 package. FFmpeg binaries download during configuration unless you provide them.

Running converted software requires a clean ELF, exactly one sce_module or sce_modules directory, app resources, and built PRX libraries in the expected layout. Intel hosts need --to-intel, and unsupported conversion cases stop with an error.

AnyPS5 converts executables instead of emulating a console

AnyPS5 takes a clean PS5 ELF, processes its bundled modules, and writes a native Linux ELF or Windows PE file. Replacement PRX libraries provide the system functions that converted software expects. There is no separate emulator process. That is an interesting technical bet, but it also puts a hard boundary around compatibility: unsupported states throw an exception and terminate rather than being approximated.

The input layout is strict. Exactly 1 directory named sce_module or sce_modules must sit beside the executable, and having both is an error. Converted modules go under app0, while project-built PRX libraries belong in a separate libs directory. The output filename does not choose the platform. Windows conversion needs the --windows flag, and Intel hosts use --to-intel for supported AMD-only instructions.

The compatibility list contains one tested game

The project's compatibility page has 1 row: Dreaming Sarah. It marks the Windows result as in game and playable, while Linux is a question mark. That page is a much better buying signal than a progress badge. A library percentage counts functions known to the project, not every PS5 system function, and the total changes as maintainers discover more.

The technical-debt document explains why the list is short. It names silent UI stubs, unknown function signatures, missing headset behavior, unimplemented media cases, and conversion gaps. The contributor rules require unsupported work to throw rather than pretend success. That policy makes failures easier to locate, but it does not make more software run. For a researcher, an explicit exception is useful evidence. For a player, it is still a stopped game.

What happened when we ran it

Our sandbox installed commit ccd60ce in 14 seconds inside an unprivileged Debian container with 3 CPUs and 8 GB of RAM. The checkout contained 10,465 files, about 2,300,908 lines of source, and occupied 222 MB. Installation completed successfully. The repository scan found 9 CI workflow files, no Dockerfile, and no top-level tests directory.

The build failed at exit 1 after 44 seconds. The supplied log tail points to source line 143 and an expression using std::chrono::clock_cast<std::chrono::system_clock>(written). Compilation continued through several other objects before Ninja reported that a subcommand failed and stopped. The tail does not identify a missing package or prove a compiler-version cause, so we will not invent one.

CTest then exited 8 after 1 second. It reported 9 passed and 136 failed out of 145, with one final case marked not run. The tail names failures including elf_offsets, tls_function_coverage, windows_gui, linux_load_alignment, elf_header, and guest_tls. Because the build was incomplete and the test tail omits individual causes, these results do not tell us which failures are code defects and which may follow from missing build outputs. They do tell us the documented sequence was not green in our container.

The toolchain and runtime layout leave little room for improvisation

Linux builds need x86-64, CMake 3.22.1 or newer, Ninja, a C++20 compiler, GCC, G++, binutils, and recursively initialized submodules. Configuration downloads FFmpeg binaries unless FFMPEG_PREBUILT_DIR points to an unpacked package. The repository vendors major components through submodules, including SDL, Vulkan headers, SPIR-V tools, glslang, FreeType, and FFmpeg-related code.

Windows is narrower. The build guide supports MinGW-w64 GCC 15.2.0 from one named WinLibs package, and the debt list says converted PRX libraries need 3 runtime DLLs nearby. The relinker has no --help flag; invoking it without arguments prints usage and returns an error. This is workable for a contributor following the docs line by line, but it is far from a download-and-play application.

Intel conversion rejects cases it cannot safely rewrite

PS5 code can contain AMD-specific x86 instructions. AnyPS5's --to-intel path rewrites supported cases, and refuses unsupported instructions or unreachable conversion stubs. The technical-debt page specifically says RDPRU and MCOMMIT are not lowered, while SHA instruction forms with a memory operand fail. Some conversion paths have only synthetic-test coverage and no verified game title on Linux or Windows.

That refusal is preferable to quietly producing a bad executable, yet it makes CPU choice part of compatibility. Even a successful C++ build only creates the relinker and libraries. You still need legal input binaries, the correct module directory, converted app resources, host-matched libraries, and a title that stays within the implemented surface. Every layer can end the run with a clear error.

October commits show speed, while 103 open PRs show review pressure

GitHub showed 3,271 stars and a push on October 4, 2026. Release v0.1.1 arrived on September 28 with work on fonts, save data, networking, video playback, shaders, and relinking. Search split the 114 open items into 11 issues and 103 pull requests. That is active development, not a dormant repository, but the pull-request queue is larger than the current release history.

The repository was created on August 3, 2026, less than 2 months before our run. Rapid changes make a commit pin important, especially when the measured commit did not build on our box. Contributors can find unusually direct notes about unknowns and unfinished behavior. Players should read the same notes as a warning label. AnyPS5 is worth following and useful for research, but its present evidence does not support treating it as a general PS5 compatibility layer.

Alternatives

ProjectWhat it isPick it when
shadPS4 gh↗A conventional PlayStation 4 emulator for desktop operating systems.pick this instead when playing supported PS4 software matters more than researching PS5 native relinking.
KytyAn experimental PlayStation 4 and PlayStation 5 emulator.pick this instead when you want an emulator architecture rather than converted native executables.
OrbitalAn experimental PlayStation 4 emulator built for low-level research.pick this instead when PS4 hardware virtualization is the research subject.

What people are saying

  1. [github-trending] boykopovar/AnyPS5

Sources

  1. AnyPS5 README
  2. AnyPS5 build guide
  3. AnyPS5 compatibility list
  4. AnyPS5 technical debt
  5. AnyPS5 v0.1.1 release

More dev tools reviews

dev-sidecar · responsively-app · opentelemetry-go · benilla · pi-gui · toolkit · the whole board →