【免费下载链接】PS5SX2
A port of PCSX2 for PS5
PS5SX2是把经典 PS2 模拟器 PCSX2 移植到破解版 PS5 主机的开源项目。本指南带你走通PS5SX2 源码构建全流程:用ps5-payload-dev SDK交叉编译、LLVM 18链接,通过 Makefile.vk 编译全部目标文件,再由 link-vk.sh 链接、签名,最终产出可直接部署到主机的eboot.bin。
PS5SX2 是什么?为什么值得动手构建?
PS5SX2 的仓库根目录就是 PCSX2 本身(上游代码加上移植层的提交),ps5/目录则是 PS5 适配层。构建完成后,你可以在 PS5 Pro(固件 11.40)上运行完整的 PS2 模拟器:封面书架、设置网页、RetroAchievements 成就,图形走 PCSX2 的Vulkan 后端,驱动直接静态链接进 eboot。
下面这张 PCSX2 游戏库界面截图,就是移植项目最终要跑在掌机/主机上的那个模拟器:
而游戏画面则通过 Vulkan 渲染输出,效果与 PC 版一致:
构建环境要求:一份完整清单
⚠️先说结论:发行版构建依赖作者修改过的 SDK 与 Vulkan 驱动,官方原版 SDK + 上游驱动目前尚未验证可完全替代。完整的依赖准备记录在 ps5/docs/build-dependencies.md,动手前建议先读一遍。
在 Linux 上构建 PS5SX2,你需要准备三类东西:
| 类别 | 内容 | 说明 |
|---|---|---|
| 交叉工具链 | ps5-payload-dev SDK v0.42(sdk285/) | 提供prospero-clang/prospero-clang++,作者重建过其中crt1.o、libc++abi.a、libunwind.a |
| 宿主工具 | LLVM 18(clang-18、clang++-18、ld.lld-18、llvm-objcopy-18、llvm-nm-18) | 链接、符号改名、构建签名工具用 |
| 其他 | zlib 开发库、Python 3 | prepare_console_elf.py等脚本需要 Python |
依赖文件夹PS5SX2_DEPS的推荐结构(详见 ps5/README.md):
sdk285/:上述 SDKryml/:rapidyaml(0cd25a1,含 c4core 子模块)glslang/:glslang(275822a),用 SDK 的 CMake toolchain 预编译出build-ps5/静态库shaderc/:shaderc v2026.2,只用到头文件
另需单独准备Vulkan 驱动Swordpdf/PS5HB_Vulkan(commit5da7401),用其自带脚本tools/setup-native-dependencies.sh+tools/build-driver.sh构建,路径通过PS5_VULKAN_DIR指定。
每个路径也可以单独指定:RYML、PS5_PAYLOAD_SDK、GLSLANG、GLSLANG_BUILD、SHADERC_INCLUDE。
三步走:clone、编译、签名
第一步:获取源码并设置环境变量
git clone https://gitcode.com/gh_mirrors/ps/PS5SX2 cd PS5SX2 export PS5SX2_DEPS=/path/to/deps export PS5_VULKAN_DIR=/path/to/PS5HB_Vulkanglslang 的 PS5 静态库可用 SDK 的 toolchain 编译:
cmake -S $PS5SX2_DEPS/glslang -B $PS5SX2_DEPS/glslang/build-ps5 \ -DCMAKE_TOOLCHAIN_FILE="$PS5_PAYLOAD_SDK/toolchain/prospero.cmake" \ -DCMAKE_BUILD_TYPE=Release -DENABLE_OPT=OFF -DENABLE_HLSL=OFF \ -DENABLE_GLSLANG_BINARIES=OFF -DGLSLANG_TESTS=OFF cmake --build $PS5SX2_DEPS/glslang/build-ps5 -j2第二步:Makefile.vk 交叉编译
cd ps5/coreorbis make -f Makefile.vk -j"$(nproc)"成功时输出VK COMPILE OK: N objects。几个新手容易踩的点:
- 🔧编译器不是普通的 clang:Makefile.vk 使用 SDK 里的
bin/prospero-clang++,如果找不到会直接报错提示设置PS5SX2_DEPS或PS5_PAYLOAD_SDK。 - 目标架构是 znver2:
-march=znver2 -msse4.1 -mavx2 -mno-vzeroupper,为 PS5 的 Zen 2 核定制,还禁用了 LLVM 的 store 宽度收窄优化。 - 源码覆盖面很广:除
pcsx2/核心外,还包含ps5/frontend/(封面书架与设置页)、ps5/third_party/里内置的 zlib / zstd / LZ4 / libarchive / mbedTLS / libnfs 等 C 库(清单见 ps5/third_party/README.md)。 - 头文件依赖有跟踪(
-MMD -MP),修改头文件后增量构建不会用到过期对象。
第三步:link-vk.sh 链接、准备并签名
ORBIS_BUILD_TAG=my-build bash link-vk.shlink-vk.sh 一次完成五件事,这也是整个流程最精妙的部分:
- 用 SDK 的 clang 18 编译入口 main-boot.cpp 与 CRT 对象;
- 收集
Makefile.vk产出的全部目标文件(objects.txt); - 引入四个驱动静态库(
--whole-archive)+ Mesa 工具对象 + glslang 静态库; - 用LLD 18做两轮 PIE 链接(第二轮通过
app-symbols.map把非导入符号全部本地化),并应用热点函数排序文件 orbis-hot.order 提升缓存命中率; - 构建宿主签名工具
ps5-native-tool(首次会自动编译),执行 native link →prepare_console_elf.py主机化准备 →自签名输出eboot.bin,最后打印 SHA-256 校验。
📦最终产物位置:
- 签名好的 eboot:
ps5/build-vk/app/eboot.bin - 中间产物:
ps5/build-vk/build/{llvm-pie.elf, eboot.elf, eboot-console-ready.elf}
部署到 PS5 主机
应用参数由 ps5/sce_sys/param.json 定义,标题 ID 为PPSA99203。在主机上把以下内容放进/data/homebrew/PPSA99203/:
| 文件 | 来源 |
|---|---|
eboot.bin | 本次构建产物 |
sce_sys/ | 仓库 ps5/sce_sys/ |
sce_module/libc.prx | 驱动仓库里make libc生成 |
注意主机需先运行 PS5SX2 Helper payload 完成越狱并挂载/data沙箱。若启动失败,收集数据目录下的boot.log与stderr.log排查(切勿外传achievements-secrets.ini)。
常见问题排查
| 现象 | 原因与解法 |
|---|---|
no SDK at ... set PS5SX2_DEPS | 环境变量没设对,检查 Makefile.vk 的报错提示 |
裸make -f Makefile.vk只编译一个文件 | 旧版本曾把fe_https.o变成默认目标,现在已用.DEFAULT_GOAL := all修复,请更新到最新提交 |
| 链接报符号冲突 / 驱动校验失败 | link-vk.sh会把驱动的vkGetInstanceProcAddr改名为避免与 PCSX2 冲突,确认驱动版本与 link-vk.sh 注释中描述匹配 |
| 想用原版 SDK 构建 | 参见 ps5/docs/build-dependencies.md 中的 RADV 实验性构建路径,注意主机兼容性未经验证 |
写在最后
从make -f Makefile.vk到签名eboot.bin,PS5SX2 的构建链路清晰且脚本化程度很高:SDK 交叉编译 + LLVM 18 链接 + 宿主工具自签名,三个环节各司其职。构建成功后,你可以把ORBIS_BUILD_TAG设为自己的版本号,方便在主机日志中确认运行的正是自己的构建。
📚 延伸阅读:
- 依赖准备细节:ps5/docs/build-dependencies.md
- RetroAchievements 集成:ps5/docs/retroachievements.md
- PS5 适配层总览:ps5/README.md
- 主机 ELF 准备脚本:ps5/tools/prepare_console_elf.py
【免费下载链接】PS5SX2
A port of PCSX2 for PS5
相关推荐
如何快速上手ScrapFly Scrapers:5分钟搭建你的第一个电商爬虫
如何快速上手ScrapFly Scrapers:5分钟搭建你的第一个电商爬虫 ScrapFly Scrapers是一套可扩展的Python网络爬虫脚本集合,支持
Tribler macOS 构建与签名全流程指南:从源码到公证 DMG 安装包
Tribler macOS 构建与签名全流程指南:从源码到公证 DMG 安装包 本指南以 build/mac/Readme.md https://link.gi
网络音视频密码学LinearMouse 贡献指南:macOS 源码构建、代码签名与发布流程全解析
LinearMouse 贡献指南:macOS 源码构建、代码签名与发布流程全解析 本文围绕 LinearMouse 开源项目的 CONTRIBUTING.md
桌面应用
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考