README 的About章节写明工具用于自动移植到Linux和Windows,并包含relinker。
AnyPS5:把PS5可执行文件重链接为Linux/Windows原生格式
一个把PS5可执行文件改成Linux和Windows原生格式的移植工具,不靠模拟器或独立运行时进程。
🧭 决策指南
为什么现在热: README说明了relinker、system prx libraries、无模拟器运行方式及Dreaming Sarah的60 fps,但仅凭这些材料和v0.1.1、当日新增997星,无法从材料判断它为什么在2026-10-06登上daily Trending。
适合,如果你
-
你要研究PS5互操作性,目标是Linux或Windows原生运行。
-
你的目标游戏出现在docs/user/COMPATIBILITY.md的已验证列表中。README 的Compatibility章节要求查看游戏兼容性列表中的测试游戏和已知问题。
-
你需要SDL手柄、模拟摇杆和扳机,或使用anyps5-input.ini配置键鼠。README 的Input mapping章节明确列出SDL-mapped controllers和anyps5-input.ini。
不适合,如果你
-
你需要模拟器或独立运行时进程来运行PS5程序。README 的About章节明确写明No emulation or separate runtime process。
-
你的程序依赖项目尚未支持的状态,并且不能接受进程终止。README 的Status章节写明Unsupported or unexpected states会抛出std::runtime_error并终止进程。
-
你要求完整覆盖所有PS5系统函数。README 的Status章节明确说明系统库比例不是每个PS5系统函数的覆盖率。
前置条件
- 目标环境需为Linux或Windows;README About章节描述工具面向这两个系统。
- 需要项目实现的system prx libraries进行动态链接;README About章节提到core/libs/prx。
- SDL-mapped game controllers可用;键鼠配置文件名为anyps5-input.ini。
- 若要验证SPIR-V,需要构建时启用ANYPS5_ENABLE_SPIRV_TOOLS。
- Dreaming Sarah的README示例硬件为GTX 1050 Ti和i5-7500 3.4GHz。
要注意
-
不要把Status中的系统库比例当成全部PS5函数覆盖率。README列表项和Status章节都限定该比例只针对core/libs/prx中已声明的函数。
-
目标游戏的实际问题要以COMPATIBILITY.md的已知问题为准。README的Compatibility章节把测试游戏和已知问题放在docs/user/COMPATIBILITY.md。
-
构建SPIR-V工具链时未启用ANYPS5_ENABLE_SPIRV_TOOLS,就没有README所述验证路径。README的Status章节限定Spirv-Tools验证条件为构建时启用ANYPS5_ENABLE_SPIRV_TOOLS。
材料未说明
- README材料没有给出Linux、Windows、CMake或编译器的具体版本要求。
- README材料没有提供Build instructions中的实际构建命令。
- README材料没有列出docs/user/COMPATIBILITY.md的完整游戏清单和逐项兼容性结果。
- README材料没有给出当前system prx函数数量或具体百分比。
- README材料没有说明除Dreaming Sarah外其他游戏的帧率、硬件需求或性能数据。
- README材料没有说明PS5输入二进制的获取流程、格式限制或逐项法律边界。
💡 深度解析
6
适合
我使用 GTX 1050 Ti 和 i5-7500 3.4GHz,目标是复现 Dreaming Sarah 稳定 60 FPS,而不是证明所有 PS5 游戏都能运行;AnyPS5 是否值得作为测试对象?
适合读者: 只有 GTX 1050 Ti 和 i5-7500 3.4GHz、希望复现 README 中 Dreaming Sarah 60 FPS 结果的 Linux/Windows 图形测试人员
适合,因为你的硬件和目标游戏正好对应 README 已公开的成功案例,但这只能支持针对 Dreaming Sarah 的验证。
- Status 章节明确写出 Dreaming Sarah 在 GTX 1050 Ti / i5-7500 3.4GHz 上可以稳定 60 fps,与你的硬件约束一致。
- 项目还说明 shader recompiler 能生成 SPIR-V,并可使用 Spirv-Tools 验证,这为 Vulkan 图形路径提供了可检查的中间结果。
- Compatibility 章节要求查看 tested games 和 known issues,说明可运行案例是按游戏记录的,不能外推到全部 PS5 软件。
- 缺少的 Vulkan 驱动版本、操作系统版本、分辨率和画质设置没有在 README 中给出,因此无法仅凭这条记录保证完全复现。
- Status:"Dreaming Sarah ... runs at a stable 60 fps on a GTX 1050 Ti / i5-7500 3.4GHz"
- Status:"The shader recompiler successfully produces SPIR-V"
- Compatibility:"See the game compatibility list for tested games and known issues"
不适合
我的项目要面向商业级、多游戏的 PS5 支持,不能依赖每个游戏分别补系统 PRX 函数,也不能接受程序遇到未实现状态就终止;AnyPS5 是否适合作为产品基础?
适合读者: 面向商业级多游戏支持的 C++/Vulkan 工程负责人,要求覆盖大量 PS5 软件并提供长期稳定的产品化兼容层
不适合,因为 README 展示的是早期、按游戏验证的研究型工具,且未支持状态会直接终止进程,与商业级广泛兼容和容错要求冲突。
- 项目最新版本是 v0.1.1,正式发布仅 2 次;这表明公开成熟度有限,不能当作稳定的通用产品承诺。
- 系统库状态只统计项目目前声明的函数,缺失或异常路径会抛出
std::runtime_error并终止进程,不符合生产环境的降级或恢复要求。 - README 要求通过 verified games 列表和 known issues 判断兼容性,说明能力边界以具体游戏为单位,而不是所有 PS5 程序统一覆盖。
- 项目定位是 interoperability、research、preservation 和 compatibility,不是通用游戏移植 SDK 或完整 PS5 模拟器。
- 项目数据:最新版本 v0.1.1;发布次数 2
- Status:"Unsupported or unexpected states strictly throw `std::runtime_error`"
- Compatibility:需查看 tested games 和 known issues
- Disclaimer:项目面向 interoperability、research、preservation 和 compatibility
适合
我只处理合法取得的 PS5 二进制,目标平台是 Linux,并且不能把版权固件、加密密钥或专有库放进项目;AnyPS5 是否符合我的保存与互操作性约束?
适合读者: 手里有合法取得的 PS5 可执行文件、想在 Linux 笔记本上做保存与兼容性研究的游戏保存工程师
适合,因为 README 的定位正是互操作性、研究、保存和兼容性用途,并明确排除版权软件、固件、密钥及专有库。
- About 章节说明工具可把可执行文件转换成目标系统原生格式,并通过 system PRX libraries 支持动态链接,目标平台包含 Linux。
- Disclaimer 明确项目“不包含、分发或要求” copyrighted software、firmware、cryptographic keys 或 proprietary libraries,这与不在仓库携带受保护组件的约束一致。
- 用户仍须自行确认二进制的取得和使用符合适用法律及各自许可证;项目代码本身采用 GPL-2.0-only,不能替代输入游戏资产的授权。
- 这是研究型工具而非完整模拟器,兼容性还取决于 verified games 列表和已实现的系统函数。
- Disclaimer:"intended for interoperability, research, preservation, and compatibility purposes"
- Disclaimer:"does not include, distribute, or require copyrighted software, firmware, cryptographic keys, or proprietary libraries"
- License:"GNU General Public License v2 only"
- About:目标平台为 Linux 和 Windows
适合
我的测试环境必须支持 SDL 映射的手柄、模拟摇杆和扳机,同时还要为没有手柄的测试人员配置键盘鼠标;AnyPS5 能否满足这套输入约束?
适合读者: 需要用 SDL 手柄、模拟摇杆和扳机完成测试,并为键盘鼠标编写 anyps5-input.ini 的兼容性测试工程师
适合,因为 README 直接列出了 SDL 手柄、模拟摇杆、扳机以及键盘鼠标配置能力。
- Input mapping 章节明确支持 SDL-mapped game controllers,且包含 analog sticks 和 triggers,满足主机输入测试中的连续轴需求。
- 键盘和鼠标可以通过
anyps5-input.ini配置,README 还指向 supported devices 和 configuration format,因此不需要把输入逻辑硬编码进程序。 - 该能力属于输入映射层,并不等于每个游戏的默认键位都已配置;不同游戏仍可能需要符合项目格式的配置文件。
- README 没有承诺特殊外设、触觉反馈、陀螺仪或所有 SDL 设备都能工作,所以测试范围不能从现有条目外推。
- Input mapping:"SDL-mapped game controllers are supported, including analog sticks and triggers"
- Input mapping:"Keyboard and mouse controls can be configured with an `anyps5-input.ini` file"
- Input mapping:提供 supported devices 和 configuration format 说明
适合
我准备补充 core/libs/prx 中的系统函数,并且希望缺失能力在测试中立即暴露;AnyPS5 的错误处理方式是否适合这种低层兼容性开发?
适合读者: 维护系统 PRX 库实现的 C++ 低层工程师,需要处理缺失函数和异常状态,而不是接受静默降级
适合,因为项目对 unsupported 或 unexpected states 采用显式失败,而不是静默继续,这与补充系统 PRX 实现的排错目标一致。
- Status 章节说明未支持或未预期状态会严格抛出
std::runtime_error,把what()输出到 stderr,并终止进程。 - About 章节将 system PRX libraries 放在动态链接路径中,低层工程师可以围绕缺失的系统函数扩展实现,而不是修改独立模拟器运行时。
- README 对系统库状态的统计只覆盖项目已声明的函数,不代表全部 PS5 系统函数,因此错误暴露是预期边界的一部分。
- 这种策略适合研究和定位缺口,但不适合要求遇到未实现调用仍继续运行的生产式兼容层。
- Status:"Unsupported or unexpected states strictly throw `std::runtime_error`"
- Status:"`what()` is printed to stderr and the process terminates"
- About:system PRX libraries are "suitable for dynamic linking"
- Status:系统库比例不是全部 PS5 system function 的比例
视情况
我需要在 Linux 和 Windows 上用 C++/CMake 构建一个不依赖独立模拟器进程的 PS5 可执行文件适配工具,并且我的图形路径必须接入 Vulkan;AnyPS5 是否适合作为技术基础?
适合读者: 在 Linux 和 Windows 之间维护 C++/CMake 构建、同时需要 Vulkan 图形后端的主机兼容性工程师
视情况,适合作为研究型技术基础,但不适合作为已经成熟的跨平台兼容产品。
- README 明确提供 relinker,可把可执行文件转换为目标系统格式,并提供可动态链接的 system PRX libraries;项目不采用模拟器或独立运行时进程。
- 项目以 C++ 为主,CMake 代码量约 215,399 行,目标平台明确包含 Linux 和 Windows,适合深入修改底层加载与链接流程。
- 图形链路包含 shader recompiler,可生成 SPIR-V,并可在启用
ANYPS5_ENABLE_SPIRV_TOOLS时验证结果。 - 但状态仍是 v0.1.1、仅 2 次发布,系统库覆盖率只针对项目已声明的函数,不能据此承诺通用兼容性。
- About:"Includes a relinker that converts executable to the target system's native format"
- About:"No emulation or separate runtime process"
- Status:"The shader recompiler successfully produces SPIR-V"
- 项目数据:主语言 C++;CMake 215,399 行;最新版本 v0.1.1;发布次数 2
✨ 核心亮点
-
core/relinker转换目标系统原生可执行格式
-
core/libs/prx提供动态链接所需系统库实现
-
Dreaming Sarah在GTX 1050 Ti上稳定60 fps
-
系统库覆盖率只统计已声明的PS5函数
-
未知状态抛出std::runtime_error并终止进程
🔧 工程化
-
relinker重写可执行文件格式,PRX库支持动态链接
-
shader recompiler可生成经Spirv-Tools验证的SPIR-V
-
SDL手柄支持摇杆扳机,键鼠由anyps5-input.ini配置
⚠️ 风险
-
Unsupported states会打印stderr并终止进程
-
兼容性需查看COMPATIBILITY.md中的测试游戏与已知问题
-
系统库比例不是全部PS5系统函数的覆盖率
-
SPIR-V验证依赖构建时启用ANYPS5_ENABLE_SPIRV_TOOLS
👥 适合谁?
-
研究PS5互操作性、保存与兼容性的C++开发者
-
希望在Linux或Windows运行已验证游戏的移植工程师
-
需要SDL手柄或anyps5-input.ini键鼠映射的用户