10 月 6 日,一个名为 AnyPS5 的开源项目登上 Hacker News 首页,收获 358 分和 304 条评论。这个由开发者 boykopovar 维护的仓库同日冲上 GitHub Trending 榜首,单日新增约 4600 颗 star,总 star 数在项目公开两个月后累积到约 1.4 万。它吸引注意力的原因浓缩在 README 的第一句话里:这是一个把 PS5 游戏可执行文件自动移植到 Linux 和 Windows 的工具,转换产物以普通进程运行,全程没有模拟器,也没有独立的运行时。

先把边界划清楚:AnyPS5 目前只在官方兼容表里登记了一款完整跑通的游戏,2D 平台游戏 Dreaming Sarah,在 GTX 1050 Ti 加 i5-7500 这套十年前的硬件上稳定 60 帧;3A 大作至今没能进入可交互的主菜单。它真正值得展开的是工程路线本身:为什么这个项目敢绕开模拟器,这条路线的技术细节长什么样,以及它和 SharpEmu、KytyPS5 这些传统模拟器路线的关系。
为什么 PS5 可以不走模拟路线
传统主机模拟器(PCSX2、RPCS3 这类)的核心工作量,是在软件里复刻一台主机的硬件行为:CPU 指令翻译、图形调用转发、系统调用模拟,一层都不能少。PS3 的 Cell 架构与 PC 差异巨大,RPCS3 从立项到流畅运行大部分游戏库用了约十年。
PS5 的特殊性在于它的 CPU 是 AMD Zen 2 架构的 x86-64 芯片,与主流游戏 PC 同源。游戏本体里的 x86-64 指令在 PC 上本来就能直接执行,需要替换的只有外围:游戏向操作系统发起的系统调用、向 PS5 图形 API(AGC)提交的渲染命令,以及随游戏附带的系统模块。Tom's Hardware 在 9 月 26 日的报道(作者 Kunal Khullar)把这个判断称为整个项目的承重墙:CPU 指令不用翻译,要解决的只是操作系统层。
relinker:给游戏可执行文件重新上户口
AnyPS5 的核心是一个 relinker(重链接器)。按仓库 ARCHITECTURE.md 的描述,它的处理管线依次是:读取 PS5 ELF 可执行文件的导入表,按 NID(PlayStation 系统函数的数字标识符)解析每一个系统调用引用,检查 syscall 使用,过滤未使用的导入,然后构建一份标准的 SysV 动态链接段。产物是两个平台各自的原生格式:Linux 的 ELF 或 Windows 的 PE 可执行文件。
系统调用的接收方是 AnyPS5 自己实现的 PRX 系统库。项目把 PS5 的系统库按原始 NID 逐一重写:构建出来的每个 .prx 都是一个真正的共享库,构建完成后由 nid_patcher 把所有导出符号重命名回它们的 NID,这样重链接后的游戏在加载时就能按原名绑定到这些实现上。游戏随附的模块则由 GuestModuleBuilder 转换后放进 app0/sce_module/ 目录,运行时目录布局就是标准的一套:可执行文件旁边放 libs/*.prx(AnyPS5 的系统库)和 app0/(游戏自己的资源与模块)。
处理链上还有一个 --to-intel 开关:PS5 游戏默认假设自己跑在 Zen 2 上,可能用到 AMD 特有的指令,这个开关会把这些 AMD 专属指令下沉转换为 Intel CPU 可用的等价形式,遇到无法转换的指令直接报错终止。项目文档对此的态度贯穿始终:任何不支持或未预期的状态一律抛出 std::runtime_error 并打印到 stderr,进程终止。宁可不运行,也不带着错误状态继续跑。
图形栈:AGC 命令缓冲重编译为 SPIR-V
CPU 之外的第二座山是图形。PS5 游戏通过 AGC API 提交命令缓冲(DCB/ACB),AnyPS5 的 libSceAgcDriver 拦下这些提交,进入 PM4 执行层解析状态、绘制和计算分派,再把其中包含的 RDNA 着色器指令送进重编译器。
着色器重编译器的管线在 core/shader/recompiler 里:RdnaDecoder 解码指令,ControlFlow 模块重建控制流图并做结构化,Translation 把 RDNA 指令翻译到中间表示,随后经过 SSA 构建与资源绑定优化,最后由 SpirvBackend 产出 SPIR-V。SPIR-V 是 Vulkan 的中间着色器格式,编译产物接入 Vulkan 管线后在 PC 的 GPU 上执行。启用 ANYPS5_ENABLE_SPIRV_TOOLS 时,产出的 SPIR-V 还会经过 SPIRV-Tools 验证与优化。编译结果有内存缓存和磁盘缓存两级,游戏第二次启动时可以直接复用。
仓库徽章给出的实时覆盖数据:着色器指令覆盖 98.03%,系统库覆盖 84.76%。徽章下方有一行容易漏掉的口径注释:系统库百分比指的是项目目前已声明函数的覆盖比例,并非 PS5 全部系统函数,声明总数本身还在随逆向进度增长。换句话说,这两个数字衡量的是已知地图的测绘进度,地图边界之外还有多少未知,项目自己也在摸索。
现状:一款游戏 60 帧,以及技术债文档里的 3A 痕迹
官方兼容表目前只有一行:Dreaming Sarah(PPSA02929),Windows 进入游戏可玩,GTX 1050 Ti 配 i5-7500 跑出 60 FPS,核显平台(HD 620)36 FPS。输入走 SDL 手柄映射,键盘鼠标可以通过 anyps5-input.ini 配置。
仓库里的 TechnicalDebt.md(技术债文档)透露了更多兼容表之外的信息。这份按库罗列已知妥协的文档里,记录着一批大作的调用行为:libSceSaveDataDialog 的存档对话框桩是按《Skyrim》(PPSA03747)的存档序列校准的;libkernel 的堆映射标志 0x8000 的已知调用方是《Astro Bot》(PPSA21564)随附的 SDK 9 libc;线程亲和性接口的默认掩码 0x1FFF 对应 0 到 12 号 CPU,《Hades II》(PPSA36082)在绑核时传入过其中的子集;libSceVideoOut 的输出模式枚举未知,一款 Unity 引擎游戏(PPSA12544)会探测一个特定模式码,支持时选择 7680 像素输出,不支持则回落 3840。兼容表只登记可玩项,技术债文档记录的调试面则覆盖了至少十余款 3A 与独立游戏——作者在用大作当测试基准,只是它们离能玩都还有距离。
项目还提供了启动前的体检工具 import_audit.py:对转换后的游戏列出全部系统函数导入并分成四类,implemented(有真实现)、stub(有导出但一调就抛异常)、absent(无导出,加载器直接失败)、module(游戏自带模块,不检查)。这个工具能在游戏启动前预判它卡在哪里,对调试新游戏来说是刚需。周边细节同样完整:游戏要显示系统字体需要从主机导出的 SST 字体文件,没有时回落到 Noto 系列,两者皆无则这些字体的文字不渲染;Windows 平台对 sceKernelAllocateDirectMemory 的处理是标题一申请就全额提交,单个标题上限 13824 MiB,内存和页面文件不够就会抛错。
9 月 28 日,项目发布了 v0.1.0 和 v0.1.1 两个 release,提供 relinker 二进制与 Linux、Windows 两套 PRX 库的下载。GitHub 页面显示贡献者已接近百人,仓库分叉数超过 1000。
两条路线的对撞:重链接与传统模拟
AnyPS5 出现之前,PS5 兼容层的主赛道是传统模拟器。SharpEmu 用 C# 编写,走标准模拟路线(加载 eboot.bin、部分处理内核函数、处理 AGC 提交),据 Tom's Hardware 9 月 27 日报道(作者 Etiido Uko),它在 55 款受测游戏中让 12 款进入游戏画面,其中 6 款达到 60 FPS 的可玩级别:Dreaming Sarah、Void Terrarium、Tetris Forever、Hoa、《古墓丽影 IV-VI 重制版》和 New Joe & Mac。另一条支线 KytyPS5 则在 i9-9950X3D 加 RX 7900 XT 的配置上把 PS5 版《GTA V》跑到 40 到 60 帧,然后在开场任务后崩溃。
两条路线的对比很清晰:传统模拟器保留游戏二进制原样,在运行时拦截和转发一切,兼容性问题集中在运行时;AnyPS5 在静态链接阶段就把游戏改写成原生程序,运行时开销更低,代价是必须离线补齐整个操作系统行为面——一个系统库桩写错,游戏在启动前就被加载器或异常机制拦住。两条路线在图形层出现了收敛:SharpEmu 近期的突破点同样是 SPIR-V 着色器翻译与 Vulkan 支持升级,而两个项目的第一块试金石都是 Dreaming Sarah 这款小体量 2D 游戏。
参照系可以再拉长一点:PS3 模拟器 RPCS3 花了约十年达到广泛可玩,PS2 的 PCSX2 用了接近十五年。PS5 发售于 2020 年 11 月,如果重链接路线能压缩这个时间表,它将是主机兼容性历史上第一次在主机生命周期内就出现可用的原生转换方案。当然,眼下的 AnyPS5 离这个目标还隔着一整个操作系统行为面的距离。
许可与法律边界
AnyPS5 采用 GPL-2.0 许可。README 的免责声明写明:项目面向互操作性、研究、保存与兼容性目的,不包含、不分发、也不要求版权软件、固件、密钥或专有库,用户需自行保证所用二进制的来源合法。这在技术上意味着使用者仍然需要一台授权的 PS5 来获取游戏文件——Tom's Hardware 报道与 Hacker News 评论区都提到,数字版游戏经由 PSN 下载,本身受索尼的账户与固件校验体系保护。
索尼方面迄今没有任何公开声明。Hacker News 评论区的头号担忧是 Yuzu 与 Ryujinx 的先例:任天堂在 2025 年通过法律行动终结了这两个 Switch 模拟器项目,评论区最高赞评论建议社区为这类高风险仓库做本地镜像备份。AnyPS5 与模拟器的法律差异在于它不复刻主机硬件,但游戏文件如何获取、PRX 库的净室程度如何,这些问题的答案目前都还没有经过检验。
写在最后
从 8 月 3 日仓库创建,到 9 月 26 日被 Tom's Hardware 报道,再到 10 月 6 日登顶 Hacker News,AnyPS5 用两个月时间把一条非主流技术路线推到了台前。它的单日 4600 star 里有相当部分的猎奇成分,但 98.03% 的着色器指令覆盖、v0.1.1 的可下载构建和近百名贡献者是实打实的工程进度。下一个里程碑写在项目自己的规则里:让第一款 3D 游戏跑进可交互的主菜单。在那之前,relinker 这条路线的成色,市场会继续用 star 数和 fork 数投票。
来源:
- AnyPS5 仓库:https://github.com/boykopovar/AnyPS5 (README、ARCHITECTURE.md、USAGE.md、COMPATIBILITY.md、TechnicalDebt.md、release 数据,2026 年 10 月 8 日实时数据)
- Hacker News 讨论:https://news.ycombinator.com/item?id=49985664 (358 分,304 条评论)
- Tom's Hardware,Kunal Khullar,2026-09-26:《Open-source AnyPS5 dumps emulation to run PlayStation 5 console games natively on PC》
- Tom's Hardware,Etiido Uko,2026-09-27:《PS5 emulator successfully runs six titles at a playable 60 FPS》