AnyPS5 README

The project's README from github.com/boykopovar/AnyPS5. As one markdown file: README.md.

About

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.

anyps5_collage1

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

Status

libraries shaders

progress map

Progress history

* 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).

Compatibility

Per-game progress (stage reached, open blockers, libraries and GPU coverage) is tracked on the blocker map, a community project built from public GitHub data (source). Test reports go in the Game bring-up discussions, one thread per title.

Input mapping

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.

Disclaimer

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.

License

This project is licensed under the GNU General Public License version 2 only.

AnyPS5 (boykopovar/AnyPS5)

Searching Database…

42.8K ·GitHub
这是什么?AnyPS5 是一款工具,可以自动移植 PS5 可执行文件,使其无需模拟器即可在 Linux 和 Windows 上原生运行。
这是模拟器,还是会真正把 PS5 可执行文件编译成原生程序?它不是模拟器。它包含一个重链接器,可将 PS5 可执行文件转换为目标系统的原生格式,还包含 PS5 系统 prx 库的重新实现,用于动态链接。
我该如何构建它?你需要从源代码构建重链接器和 libc.prx 的实现。重链接器采用标准 C++20,可用任何符合标准的编译器构建。
我需要什么编译器?在 Linux 上,GCC 开箱即用。在 Windows 上,目前必须使用 MinGW-w64 GCC 15.2.0,具体是 winlibs-gcc15 x86_64-ucrt-posix-seh 版本,因为 libc.prx 代码包含与编译器相关的部分。
现在可以直接使用吗?不可以,目前还没有任何发布版本。执行目前已能运行到 main,着色器重编译器可生成有效的 SPIR-V,并且有一款真实游戏能够进入菜单和游戏过程并播放声音,但发布要等到第一款游戏完整成功启动之后。
这个项目面向谁?它面向从事可执行文件移植工作的研究人员、逆向工程师和数字保存工作者,而不是想现在就玩游戏的普通用户。
它支持哪些操作系统?Linux 和 Windows 是被移植可执行文件的两个目标平台。
这里面包含任何 PS5 固件、密钥或受版权保护的文件吗?不包含。该项目明确避免捆绑或要求任何受版权保护的软件、固件或专有库,并且仅采用 GPL-2.0 许可证。
目前执行进展到什么程度?它能够运行到程序的 main 入口点,并且异常处理和栈回溯工作正常。据报告,有一款真实游戏已能显示其 logo、主菜单,并进入带声音的游戏过程。
着色器重编译器有什么作用?它将游戏的着色器转换为 SPIR-V,并通过 SPIR-V-Tools 进行验证,从而使其能在宿主系统的 Vulkan 驱动程序上运行。
为什么还没有发布版本?作者决定在项目至少有一款游戏完整成功启动之前暂不发布,因为该项目仍处于活跃的研究阶段开发中。
如果重链接器遇到无法处理的情况会怎样?遇到不支持或意外的状态时,程序会抛出 std::runtime_error,将错误信息输出到 stderr,并终止进程,而不是在未知状态下继续运行。
Creator
boykopovar
Size
46.7 MB
Stars
42.8K
Age
2mo
Commits · 90 Days