3步跑通 shadPS4:PS4模拟器新手避坑指南
【免费下载链接】shadPS4PlayStation 4 emulator for Windows, Linux, macOS and FreeBSD written in C++项目地址: https://gitcode.com/GitHub_Trending/sh/shadPS4
shadPS4 是一个用 C++ 写的 PlayStation 4 模拟器,支持 Windows、Linux、macOS,基于 Vulkan 渲染,Bloodborne、如龙0 这类已发售作品已经能跑起来。这篇讲三件事:环境怎么备、第一次怎么把游戏画面跑出来、卡住了怎么查。
🖥️ 一图看懂
这是 README.md 里展示的实机运行效果:模拟出来的画面直接输出到窗口,窗口里就是游戏本身。
跑起来之前:环境要求与安装
| 项目 | 要求 |
|---|---|
| 系统 | Windows(x64)、Linux、macOS 26.0 及以上(仅 Apple Silicon,不支持 Intel Mac) |
| 编译器 | Clang 18(官方推荐;Windows 用 VS2022 + Clang 组件) |
| 构建工具 | CMake、Git;macOS 另需 Xcode 26 和 Homebrew |
| 显卡 | 支持 Vulkan 1.3 的显卡,macOS 走 MoltenVK |
| 磁盘 | 源码 + 游戏文件,建议预留 50GB 以上 |
分发行版的依赖包清单见 building-linux.md、building-windows.md、building-macos.md。
Linux 下三步完成构建:
git clone --recursive https://gitcode.com/GitHub_Trending/sh/shadPS4 cd shadPS4 cmake -S . -B build/ -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ && cmake --build ./build --parallel$(nproc)Windows 走 Visual Studio 2022 打开目录后直接 Build,产物在Build/x64-Clang-Release/shadps4.exe。注意 clone 必须带--recursive,依赖都放在子模块里。
第一次运行:从命令到游戏画面
- 操作:直接运行不带参数的
./build/shadps4(Windows 为shadps4.exe)预期:打印全部命令行参数说明。这是模拟器核心自带的"自检",能看到帮助文本说明二进制没问题。 - 操作:执行
./build/shadps4 CUSA00900(以 Bloodborne 为例,把 CUSA 号换成你自己的游戏)预期:弹出 Vulkan 窗口,进入游戏启动流程。 - 实际:如果窗口一闪而过或日志报找不到游戏,通常是三处没配齐——
config.toml里的游戏安装目录、sys_modules里的主机固件模块、游戏文件夹本身(见下一节)。
窗口起来之后常用快捷键:F11 全屏、F10 开关帧率显示、F12 抓帧(需装 RenderDoc,否则截图)。
两个值得调的参数
1.--fullscreen
- 改什么:命令行加
--fullscreen true,或游戏里按 F11。 - 为什么:窗口模式下边框会挤占视野,全屏后帧率显示(F10)的读数也更稳定,方便判断卡顿来源。
- 怎么改:
shadPS4 CUSA00900 --fullscreen true,参数放在游戏号前面即可。
2.install_dirs(游戏安装目录)
- 改什么:
config.toml中general.install_dirs的路径。 - 为什么:模拟器按 CUSA 编号找游戏时只在这个目录列表里搜,不配它,上一步的
CUSA00900必然找不到游戏。 - 怎么改:把放游戏文件夹的目录路径写进该字段,游戏文件夹直接放在它下面。
踩坑速查
| 现象 | 原因 | 解法 |
|---|---|---|
启动即报缺失libSceXxx.sprx或进游戏崩溃 | 固件模块没放对位置 | 从自购 PS4 主机转储.sprx模块,放进sys_modules目录,清单见 README.md 的 Firmware 一节 |
运行shadPS4 CUSAxxxxx提示找不到游戏 | install_dirs没配置或游戏文件夹层级不对 | 确认目录已加入配置,且游戏文件夹(含eboot.bin)直接位于该目录下 |
| 构建报子模块目录为空、找不到依赖 | clone 时漏了--recursive | 已 clone 的仓库执行git submodule update --init --recursive后重新 cmake |
| macOS 无法运行 | 低于 macOS 26.0 或 Intel Mac | 官方明确不支持这两种环境,换 Apple Silicon + 新版系统,或改用 Windows/Linux |
往哪儿深挖
- 分平台构建文档:documents/building-linux.md、documents/building-windows.md、documents/building-macos.md
- 调试与问题报告规范:documents/Debugging/Debugging.md
- 变更日志:documents/changelog.md;社区渠道(Discord、官方站点、游戏兼容性列表)的入口链接都列在 README.md 的 General information 一节
最后一句话
shadPS4 目前的价值在于:它已经能真正把一部分 3A 游戏跑在 PC 上,剩下的坑基本都能靠日志和配置定位。先按上面三步把环境跑通,再挑一款 CUSA 号试试,有问题就翻 Debugging 文档 对日志。
【免费下载链接】shadPS4PlayStation 4 emulator for Windows, Linux, macOS and FreeBSD written in C++项目地址: https://gitcode.com/GitHub_Trending/sh/shadPS4
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考