不是模拟器而是原生移植工具AnyPS5 到底做了什么【免费下载链接】AnyPS5Tool for automatic PS5 executables porting to Linux and Windows项目地址: https://gitcode.com/GitHub_Trending/an/AnyPS5手里有一份 PS5 的干净 ELF想在 PC 上跑模拟器要么性能折半要么跑不动。AnyPS5 把 PS5 可执行文件改造成 Linux/Windows 原生程序一条命令完成转换配好目录直接运行没有模拟层也没有常驻进程。先掰正几个误解你以为实际上模拟 CPU指令逐条翻译输出宿主原生 ELF/PE机器码本来就是 x86-64需要常驻的模拟运行时转换结果是普通进程OS 直接加载系统调用在运行时模拟直接链接项目构建的 prx 系统库按 NID 绑定符号libs/ 放 PS5 原机 .prxlibs/ 只放构建出的系统库原机模块归 app0/sce_module能跑大部分游戏目前验证过的可玩标题只有个位数弄清它不做什么之后再看数据怎么流动。一条转换流水线ELF 进去原生程序出来输入很简单一个干净的 ELF 可执行文件外加放在它旁边sce_module/里的随包模块。relinker 读入两者后收集以 NID 标识的导入、检查系统调用可用--to-intel改写 AMD 专属指令然后写出目标格式的可执行文件。构建侧core/libs/prx 下的系统库libkernel、libScePad 等编译为共享库导出名被重命名为 NID运行 OS 加载器按 NID 绑定符号——游戏调用的仍是 PS5 系统 API实际执行的是宿主原生实现。图形走另一条管线RDNA 着色器经中间表示译成 SPIR-V交给 Vulkan 渲染编译结果落盘缓存二次启动不用重编。最短路径从 clone 到跑起 app.elf原理清楚了看怎么真正跑起来。前置x86-64、CMake ≥ 3.22.1、Ninja、C20Linux 用 GCCWindows 目前仅支持指定的 MinGW-w64 GCC 15.2.0FFmpeg 二进制在配置阶段自动下载。git clone https://gitcode.com/GitHub_Trending/an/AnyPS5 cd AnyPS5git submodule update --init --recursive cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPERelease cmake --build build --parallel cmake --build build --target libs --parallel最后一条不能省prx 系统库被标了EXCLUDE_FROM_ALL默认构建不会产出它们。输入目录需要source/input.elf和source/sce_module/详见使用文档然后relinker source/input.elf app.elf chmod x app.elf ./app.elfWindows 输出加--windows注意默认格式就是 Linux ELF文件名带 .exe 不会自动切换。运行目录libs/放build/core/libs/libs/*.prxapp0/放游戏资源和转换后的模块--rpath默认$ORIGIN/libs。手柄由 SDL 自动识别改键就在可执行文件旁放一个anyps5-input.ini格式见输入映射文档。入坑前先看地图能跑但先看看边界。输出恒为 x86-64 的 Linux ELF 或 Windows PE宿主也需兼容。兼容列表目前验证的Dreaming Sarah 在 Windows 可正常游玩GTX 1050 Ti / i5-7500 实测 60 FPSIntel HD 620 为 36 FPShomebrew 的 DOOM Shareware 在 Windows 与 Linux 都能进游戏。Linux Intel 显卡尚未验证。--to-intel只改写二进制里已有的 AMD 指令游戏运行时才生成的 AMD 指令转不了这类游戏需要 AMD 宿主。不支持或未预期的状态直接抛std::runtime_error并终止报错精确便于定位问题。跑之前可以先用relinker --registry加 tools/import_audit.py 核对系统函数缺没缺。踩坑对照报错先查这里报错 193不是有效的 Win32 应用现象是libs/里有 .prx 却加载失败原因是把 PS5 原机 .prx 放了进来Windows 会当 DLL 加载处理libs/只放 AnyPS5 构建的系统库原机模块经 relinker 转换后归入app0/sce_module/。报错 126找不到指定模块且 .prx 明明存在现象是库文件在、进程起不来原因是自建libs/缺运行时依赖处理把工具链mingw64/bin下的libgcc_s_seh-1.dll、libstdc-6.dll、libwinpthread-1.dll复制到libs/旁发布包已包含这些文件。首帧卡顿、画面回退现象是第一次启动明显掉帧原因是无着色器缓存时presentation kernel 在首次 dispatch 才编译第一帧来不及完成标题临时切到 CPU 缩放器缓存写好后后续运行正常属预期行为。Linux 启动报[gpu] open /dev/udmabuf: Permission denied现象是该报错加显存拷贝回退原因是设备默认属root:kvm、权限 0660当前用户没有读写权限处理把用户加入kvm组并重新登录否则 GPU 侧写入会报BDA access failed。接下来读哪里AnyPS5 的本质可执行文件转换 原生 prx 系统库 着色器重编译把跑 PS5 程序变成跑一个普通原生程序。docs/user/USAGE.md转换参数与运行时目录的完整说明docs/dev/BUILD.md构建步骤与环境要求源码入口core/relinker/转换管线、core/shader/recompiler/着色器编译【免费下载链接】AnyPS5Tool for automatic PS5 executables porting to Linux and Windows项目地址: https://gitcode.com/GitHub_Trending/an/AnyPS5创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
阅读完成 · 觉得有帮助?