PS4 模拟器 PC 实战:15 分钟跑起血源诅咒
【免费下载链接】shadPS4PlayStation 4 emulator for Windows, Linux, macOS and FreeBSD written in C++项目地址: https://gitcode.com/GitHub_Trending/sh/shadPS4
《血源诅咒》在 PC 上 60 帧这件事,shadPS4 这个 PS4 模拟器已经做到,但它是早期开发阶段,别指望开箱即用。适合有命令行基础、对图形模拟有兴趣的你;只想双击玩游戏的请移步官方 GUI 启动器,别碰源码。
先判断要不要自己编译
这个仓库是模拟器核心,没有图形界面。只玩游戏就直接下载官方 QtLauncher,界面完整;想改内核、提交 PR 才需要自己编译下面这套。
三条硬性前提:PC 得有 Vulkan 驱动(AMD 系最顺,NVIDIA 需驱动够新,核显基本别试);macOS 必须 26.0 以上,Intel Mac 不支持;Linux 编译官方推荐 Clang 23,文档明确提醒 GCC 会撞上未知问题。
Linux 三条命令编译出可执行文件
依赖先装好:Clang、CMake、SDL2、Vulkan 等约 20 个包,Debian/Ubuntu、Fedora、Arch 各有一套命令,完整列表在 documents/building-linux.md。
- clone 仓库:
git clone --recursive https://gitcode.com/GitHub_Trending/sh/shadPS4 cd shadPS4--recursive别省,第三方库全在子模块里,漏了缺依赖直接编译不过。
- 配置加编译一步到位:
cmake -S . -B build/ -DCMAKE_C_COMPILER=clang-23 -DCMAKE_CXX_COMPILER=clang++-23 cmake --build ./build --parallel $(nproc)编译器写死clang-23,别吃发行版默认版本的亏。编译卡死机器就去掉--parallel,单线程慢但稳。
- 跑起来:
./build/shadps4 CUSA00900CUSA00900是血源美版 ID,前提是config.toml里指好了游戏安装目录。
Windows 构建流程在 documents/building-windows.md,Visual Studio 配 CMake 走同一套逻辑。
架构里真正值钱的部分
值得花两分钟知道代码怎么分工:PS4 的 CPU 是 x86-64,游戏代码在 PC 上原生执行,不用翻译;要重写的是内核和系统库,在src/core/libraries/kernel/。GPU 才是硬骨头——PS4 的 GPU 是 AMD GCN 架构芯片(代号 Liverpool),自己的指令集 PC 的 GPU 看不懂。src/shader_recompiler/负责这条链路:前端解码 GCN 字节码,转 IR,跑一串优化 pass,产出 SPIR-V 交给 Vulkan,模块最重,设计参照了 yuzu 的 Hades 编译器。剩下的活:src/video_core/amdgpu/逐条解释 GPU 寄存器命令,src/video_core/renderer_vulkan/管 PC 侧的队列、帧图、交换链,src/input/统一吃手柄、键盘、鼠标,开销可忽略。
跑起来之后会撞到的四堵墙
固件文件从哪来
必过的第一道坎。模拟器要加载一批.sprx模块,必须从你合法持有的 PS4 主机上 dump,放进sys_modules文件夹,仓库本体不带——libSceCesCs.sprx、libSceFontFt.sprx、libSceJson2.sprx、libSceUlt.sprx等一长串清单见 README 的 Firmware files 一节。
没手柄怎么操作
内置键盘映射够用:WASD 是左摇杆,IJKL 是右摇杆,小键盘 8/6/2/4 对应三角圆圈叉方块(也可用 C/B/N/V),Xbox 和 DualShock 手柄即插即用。F10 看帧数,F11 全屏,F12 触发 RenderDoc 抓帧。自定义绑定按游戏保存,单键最多绑三个,还能把鼠标移动映射到摇杆。
选游戏前先查兼容性
项目维护着独立的游戏兼容性列表,逐作记录了运行情况。盲选没人验证过的游戏,大概率是在浪费别人已经记录过的崩溃时间——先查表,再下手。
真崩了去哪排查
RenderDoc 抓帧看一帧里发生了什么,bug 报告该带什么信息,全在 documents/Debugging/Debugging.md。⚠️ Linux 上 RenderDoc 不支持 Wayland,记得SDL_VIDEODRIVER=x11再启动。
更新节奏与行动建议
现状摆着:血源、黑暗之魂重制版、荒野大镖客这类成熟作品能稳定跑,《战神》还跑不了。团队用业余时间做小步常规更新,每个版本都在给"能玩"的清单添名字。动作很简单:Star 仓库盯更新,从兼容性列表挑一款,卡住了把日志丢进 issue——崩溃报告是这项目推进最快的燃料。
【免费下载链接】shadPS4PlayStation 4 emulator for Windows, Linux, macOS and FreeBSD written in C++项目地址: https://gitcode.com/GitHub_Trending/sh/shadPS4
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考