在电脑上运行 PS4 游戏:shadPS4 模拟器从零上手指南
【免费下载链接】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,能直接运行《Bloodborne》《黑暗之魂:重制版》《荒野大镖客》等 PS4 游戏。它仍处于早期开发阶段,但核心功能已经可以日常使用。这篇文章帮你先判断它适不适合你,再给出最短的搭建和启动路径。
先判断:shadPS4 适合什么样的使用者
在动手编译之前,先对照下面这张表,确认自己属于哪一类读者。
| 你的情况 | 结论 |
|---|---|
| 只想玩 PS4 游戏,不想碰编译 | 建议下载配套图形界面 QtLauncher,而不是本仓库的模拟器核心 |
| 想在 Linux/macOS 上体验 PS4 游戏 | 适合,但要做好"部分游戏有图形或音频问题"的心理准备 |
| 想阅读、参与模拟器开发 | 本仓库就是模拟器核心源码,适合深入 |
两个必须知道的前提:
- 需要 PS4 系统模块文件:shadPS4 依赖一批
.sprx固件模块,必须放在运行目录的sys_modules文件夹中,这些文件需要从你自己合法拥有的 PS4 主机上导出。没有它们,游戏大概率无法正常启动。 - 它还在快速迭代:官方自己强调这是早期项目,遇到卡顿、黑屏、闪退属于正常现象,不要按成熟软件的标准去要求它。
想确认某款游戏能不能跑,可以查阅项目维护的兼容性列表(QtLauncher 内也内置了该列表的入口)。
最短搭建路径:三个命令编译出可执行程序
本仓库使用 CMake 管理构建,依赖通过 git 子模块提供,所以克隆时必须带上--recursive参数,否则后续构建会因缺少依赖失败。
通用步骤(以仓库根目录为工作目录):
git clone --recursive https://gitcode.com/GitHub_Trending/sh/shadPS4 cd shadPS4Linux:项目推荐 Clang 18 作为编译器(GCC 可能出现未知问题),先按发行版装好 clang、cmake、vulkan、libpng 等依赖,然后:
cmake -S . -B build -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ cmake --build build --parallel$(nproc)如果编译时电脑明显卡顿,去掉--parallel$(nproc)重试即可。各发行版的具体依赖清单见 documents/building-linux.md。
Windows:需要 Visual Studio 2022(勾选"使用 C++ 的桌面开发",并加装 Clang 编译器组件)。用 VS 打开源码文件夹,把生成配置改为 Clang x64 Release,编译目标选 shadps4,然后"生成全部"。产物在Build/x64-Clang-Release/下。详细步骤见 documents/building-windows.md。
macOS:需要 Xcode 26.0 及以上,Intel Mac 不受支持。用 Homebrew 装好 cmake 后,执行与 Linux 相同的两条 cmake 命令即可,细节见 documents/building-macos.md。
编译完成后,直接运行可执行文件并不带任何参数,会打印全部可用命令行选项——这是你排查参数问题的第一手资料。
启动游戏:把游戏 ID 或 eboot.bin 传给程序
shadPS4 的启动方式很简单,游戏参数放在命令末尾:
./build/shadPS4 CUSA00900这里CUSA00900是《Bloodborne》美版的 Game ID。模拟器会在 config.toml 里配置好的游戏安装目录中搜索同名文件夹并启动它。也可以直接指向可执行文件:
./build/shadPS4 /path/to/game/eboot.bin启动失败的判断顺序建议这样排:
- 游戏文件夹是否放在安装目录里,文件夹名是否与 Game ID 一致;
sys_modules里是否已有前面提到的.sprx模块;- 再怀疑模拟器本身的问题,此时去查日志。
输入操作:手柄即插即用,键盘有默认映射
Xbox 和 DualShock 手柄无需任何设置即可使用。如果只有键鼠,内置了一套默认映射,最常用的几组如下:
| 操作 | 按键 |
|---|---|
| 左摇杆(移动) | W / A / S / D |
| 右摇杆(视角) | I / K / J / L |
| 十字键 | 方向键 |
| 确认(圆圈)、取消(叉) | 小键盘 6 / 2(或 B / N) |
| OPTIONS(菜单键) | Enter |
游戏内通过设置菜单的 Controller 项可以自定义键位,支持每个绑定最多三个按键,绑定按游戏单独保存。几个开发调试相关的快捷键也值得知道:F10 显示帧率,F11 切换全屏,F12 触发 RenderDoc 抓帧(未启用时退化为截图)。
遇到图形或性能问题:先看这几个配置项
配置写在用户目录的config.toml里,新手日常只需要碰 GPU 和 Vulkan 两节里的少数几项:
[GPU] dumpShaders = false # 导出着色器,仅调试时打开 nullGpu = false # 关闭 GPU 模拟,仅测试 CPU 逻辑 [Vulkan] validation = false # Vulkan 校验层,排错时打开 rdocEnable = false # RenderDoc 抓帧支持按问题类型对照处理:
- 画面错误(贴图花屏、几何体异常):打开
dumpShaders重跑一次,得到着色器文件后用 Vulkan SDK 的工具反编译查看,流程见 documents/patching-shader.md; - 性能不足:优先降低窗口内部分辨率(
screenWidth/screenHeight),关闭不必要的后台程序; - 怀疑驱动或模拟器的底层问题:临时打开
validation,Vulkan 校验层会输出大量诊断信息,方便定位后再去报告问题。
问题复现和日志收集的具体方法,参考 documents/Debugging/Debugging.md。项目仍在持续更新,documents/changelog.md 记录了每个版本的修复内容,遇到旧问题先看看是否已在新版本中解决,是成本最低的排障方式。
【免费下载链接】shadPS4PlayStation 4 emulator for Windows, Linux, macOS and FreeBSD written in C++项目地址: https://gitcode.com/GitHub_Trending/sh/shadPS4
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考