news 2026/10/13 6:35:50

AnyPS5 到底是什么:三步在 PC 上原生跑通一个 PS5 程序

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
AnyPS5 到底是什么:三步在 PC 上原生跑通一个 PS5 程序

AnyPS5 到底是什么:三步在 PC 上原生跑通一个 PS5 程序

【免费下载链接】AnyPS5Tool for automatic PS5 executables porting to Linux and Windows项目地址: https://gitcode.com/GitHub_Trending/an/AnyPS5

AnyPS5 是一个 PS5 可执行文件原生移植工具。它把 PS5 的游戏程序转换成 Linux 或 Windows 上的普通程序,直接运行,不经过模拟器。本文写给刚接触这个项目的开发者和想尝鲜的普通用户,读完你能讲清它是什么、怎么跑起来、边界在哪。

🎮 它不是什么

先说最常见的误解:AnyPS5 不是 PS5 模拟器。模拟器在运行时逐条模拟 CPU 指令,有模拟层损耗;AnyPS5 则是在运行前把程序转换成宿主系统的原生格式,运行时没有任何模拟层。

它也不是一个"虚拟主机"进程。转换完的游戏就是系统里的一个普通进程,它调用的系统 API 由项目自己实现的 PS5 系统库来响应。

另外它不是一键开箱工具。你需要自己准备好游戏的 ELF 可执行文件和随包模块,项目也不包含任何受版权保护的内容。

🚀 三步跑起来

假设你手上已有游戏的input.elf(干净的 ELF 可执行文件)和随包模块。

第一步,构建项目:

git clone https://gitcode.com/GitHub_Trending/an/AnyPS5 cd AnyPS5 git submodule update --init --recursive cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release cmake --build build --parallel cmake --build build --target libs --parallel

要求 x86-64 系统、CMake 3.22.1 以上、Ninja、C++20 编译器。Linux 用 GCC 即可,Windows 目前只支持指定的 MinGW-w64 GCC 15.2.0。

第二步,整理输入目录,格式很简单:

source/ input.elf sce_module/ <随包模块>

第三步,一条命令完成转换。转换 PS5 可执行文件的入口就是relinker,输出就是一个普通可执行文件:

relinker source/input.elf app.elf

要 Windows 版就加--windows参数,输出app.exe。

最后摆运行时目录。路径相对可执行文件:

app.elf(或 app.exe) libs/ *.prx # 项目构建出的系统库 app0/ <游戏资源> sce_module/ # 转换后的模块

把构建产物build/core/libs/libs/*.prx拷进libs/,Linux 下执行./app.elf,Windows 下执行.\app.exe,游戏就起来了。

小贴士:--rpath默认是$ORIGIN/libs,即从可执行文件旁边的libs/加载系统库。注意别把 PS5 原始的.prx文件放进去,Windows 加载不了。

它是怎么做到的

打个比方。PS5 游戏像一本用特殊方言写成的书。模拟器是逐字翻译的译员,你读一句他翻一句,慢。AnyPS5 更像一家翻译公司:提前把整本书翻译成你的语言,再附一本新术语词典。你运行时查任何一个词,直接翻新词典就行。

这家公司就是 Relinker,词典就是 prx 系统库。转换在 core/relinker 完成:它解析可执行文件和随包模块,把对系统函数的引用(PS5 程序靠名为 NID 的标识符查找函数)重定位到项目自己构建的库上,输出原生 ELF 或 PE 文件。词典那部分在 core/libs/prx,有libkernel、libScePad、libSceAgcDriver等几十个库的实现,运行期动态链接。图形走着色器重编译器,把 RDNA 着色器(AMD GPU 的指令格式)编译成 SPIR-V 交给 Vulkan 渲染,全程没有 CPU 模拟层。

边界与现状

  • 输出固定是 x86-64。CPU 是 Intel 的话转换时加--to-intel改写 AMD 专属指令,但游戏运行时动态生成的指令转不了,这类标题需要 AMD 机器。
  • 已验证的兼容性列表很短:Dreaming Sarah 在 GTX 1050 Ti 上稳定 60 FPS,DOOM Shareware(homebrew 作品)可玩。
  • 系统库覆盖率是相对"项目目前知道的功能"的百分比,不是相对整个 PS5 系统 API,缺口还在持续补。
  • 遇到不支持或意外的状态会直接抛std::runtime_error并终止进程。这是刻意设计,方便你定位兼容性问题。
  • Linux 下 Intel GPU 尚未验证;非 NVIDIA 专有驱动的 Vulkan 路径需要给/dev/udmabuf加读写权限。

继续深入

  • 构建说明:docs/dev/BUILD.md,含只构建转换工具的轻量模式和全部 CMake 开关。
  • 用法手册:docs/user/USAGE.md,relinker的全部选项、运行时目录与环境变量。
  • 兼容记录:docs/user/COMPATIBILITY.md,每个游戏在各平台上的实测细节。
  • 读源码建议从core/relinker(重链接管线)和core/shader/recompiler(着色器编译)两个目录入手。

下一步

  1. 想先快速跑起来,用-DANYPS5_RELINKER_ONLY=ON只构建转换工具,不拉全部第三方依赖,几分钟搞定。
  2. 拿 Dreaming Sarah 这类已验证标题,完整走一遍"转换 → 摆目录 → 启动"流程,建立直观印象。
  3. 上新的游戏前,先跑tools/import_audit.py检查这个游戏缺哪些系统函数,比运行时撞墙快得多。

【免费下载链接】AnyPS5Tool for automatic PS5 executables porting to Linux and Windows项目地址: https://gitcode.com/GitHub_Trending/an/AnyPS5

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/13 6:35:04

AutoGen多智能体框架:面向生产级AI协作的工程化脚手架

1. 这不是又一个“AI Agent 框架”&#xff0c;而是开发者真正能搭出业务系统的脚手架“微软 AutoGen&#xff1a;多智能体 AI 应用的开源框架”——这个标题里藏着三个被严重低估的关键信号&#xff1a;微软、AutoGen、多智能体 AI 应用。它不是一篇论文附录里的概念验证&…

作者头像 李华
网站建设 2026/10/13 6:34:24

C#结合ArcEngine实现等高线点线矛盾自动检查与修复

1. 等高线点线矛盾检查到底在查什么1.1 从一次真实的质检翻车说起前两年我接手过一个山区地形图的数据整理项目&#xff0c;数据量不算大&#xff0c;大概两百多幅标准分幅图。当时图面看着挺漂亮&#xff0c;等高线顺滑、高程点分布均匀&#xff0c;我心想这活儿稳了。结果提交…

作者头像 李华
网站建设 2026/10/13 6:32:17

电子元器件基础实战

1. 保险丝-自恢复保险丝初步判断小于2.2A都能保持&#xff1b;超过2.2A&#xff0c;保险丝应该会熔断&#xff0c;电流越大熔断越快&#xff0c;我们来搭建电路测试。 2. 干簧管

作者头像 李华
网站建设 2026/10/13 6:29:16

Flask页面跳转全解:5种方式与避坑指南

先说个我早期用Flask翻过的大车。某次给一个模拟项目做登录功能&#xff0c;账号密码校验通过之后&#xff0c;我顺手return render_template(index.html)&#xff0c;把用户直接带回首页。当时觉得特别顺利&#xff0c;结果上线没几天就有用户反馈&#xff1a;登录完按一下刷新…

作者头像 李华