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.

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.

Usage, Build instructions, Architecture, Technical debt of the project, code style conventions, contributing

Status

libraries shaders

progress map

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

List of verified games

Dreaming Sarah (2D platformer) runs at a stable 60 fps on a GTX 1050 Ti / i5-7500 3.4GHz.

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

See the game compatibility list for tested games and known issues.

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.1K ·GitHub
Что это такое?AnyPS5 — это инструмент, который автоматически переносит исполняемые файлы PS5, чтобы они работали нативно на Linux и Windows, без эмуляции.
Это эмулятор или он действительно компилирует исполняемые файлы 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 only.
Насколько далеко продвинулось выполнение сейчас?Выполнение доходит до точки входа программы main, при этом обработка исключений и раскрутка стека работают. Сообщалось, что одна реальная игра доходила до заставки, главного меню и геймплея со звуком.
Что делает рекомпилятор шейдеров?Он переводит шейдеры игры в SPIR-V, который проверяется через SPIR-V-Tools, чтобы их можно было выполнять на драйвере Vulkan хост-системы.
Почему релизов пока нет?Автор не выпускает релизы, пока проект не достигнет первого полностью успешного запуска хотя бы одной игры, так как проект всё ещё находится на стадии активной исследовательской разработки.
Что происходит, если релинкер сталкивается с тем, что не может обработать?Неподдерживаемые или неожиданные состояния вызывают std::runtime_error, выводят текст ошибки в stderr и завершают процесс, а не продолжают работу в неизвестном состоянии.
Creator
boykopovar
Size
45.4 MB
Stars
42.1K
Age
2mo
Commits · 90 Days