shadPS4 PS4 模拟器安装上手指南:从零到跑通第一款游戏的 20 分钟
【免费下载链接】shadPS4PlayStation 4 emulator for Windows, Linux, macOS and FreeBSD written in C++项目地址: https://gitcode.com/GitHub_Trending/sh/shadPS4
shadPS4 是一个用 C++ 编写的 PS4 模拟器,支持 Windows、Linux 和 macOS。这篇安装教程带你完成四件事:把源码编译出来、喂给它固件和游戏文件、跑通第一款游戏、处理最常见的卡点。开始前先记住一点:这个仓库是模拟器内核,不带图形界面。只打算玩游戏的话,建议去项目官网找 QtLauncher 成品包;想自己编译、想改代码,才需要读完这篇文章。
快速自检:你的机器能跑 shadPS4 吗
先花 30 秒确认硬件,省得编完才发现跑不了:
- CPU 需要AVX2指令集(编译时目标固定为 x86-64-v3),近十年的 x86-64 处理器基本都满足
- 显卡要有 Vulkan 驱动,内存 8GB 起步、游戏占空间大建议 SSD
- macOS 用户:必须 Apple Silicon 芯片且系统为 26.0 以上,Intel Mac 不受支持,需装 Xcode 26.0 及以上
- Windows 的 ARM64 设备不支持,MSYS2 路线目前也编译不过,请用 Visual Studio 2022 + Clang 组件这条主线(详见 building-windows.md)
一键克隆与编译
依赖都放在 Git 子模块里,所以克隆时务必带上--recursive:
git clone --recursive https://gitcode.com/GitHub_Trending/sh/shadPS4 cd shadPS4Linux(Clang 18 是官方推荐,GCC 编译可能出问题):
cmake -S . -B build/ -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ cmake --build ./build --parallel$(nproc)编译到一半电脑卡死就把--parallel$(nproc)去掉。完整依赖安装命令按发行版拆分在 building-linux.md 里,直接照抄。
Windows:装 VS2022 Community 时勾选"使用 C++ 的桌面开发",再到单个组件里搜出C++ Clang Compiler for Windows和MSBuild support for LLVM。打开源码目录(含 CMakeLists.txt 的文件夹),配置从 Clang x64 Debug 切到Clang x64 Release,生成目标选 shadps4.exe,然后"生成 → 全部生成"。产物在Build\x64-Clang-Release\。
macOS:brew install clang-format cmake后执行:
cmake -S . -B build/ -DCMAKE_OSX_ARCHITECTURES=x86_64 cmake --build build --parallel$(sysctl -n hw.ncpu)编译完成后,不带参数直接跑一次可执行文件(如./build/shadps4),能打印出命令列表就 ✅ 说明构建成功。
首次运行前:固件与游戏文件就位
shadPS4 首次运行会自动创建用户目录(Linux 在~/.local/share/shadPS4,macOS 在~/Library/Application Support/shadPS4,Windows 在%AppData%\shadPS4),里面含日志、shader 缓存、sys_modules等子目录,不用手工建。
⚠️ 关键一步:把从你自己合法拥有的 PS4 主机里导出的固件模块(
libSceAudiodec.sprx、libSceNgs2.sprx、libSceJson.sprx等,完整清单见 README)放进sys_modules文件夹。没有这些模块,大部分游戏起不来。
游戏本身放到"游戏安装目录"(在设置里配置)后,用游戏 ID 启动:
shadPS4 CUSA00900也可以直接指 ELF 文件:shadPS4 /path/to/game/eboot.bin。游戏参数永远放在命令行最后;想全屏加--fullscreen true,所有可选项用--help查看。下面这张是《Bloodborne》在模拟器内的实际画面:
手柄与键盘操作速查
Xbox 手柄和 DualShock 即插即用,无需配置。没有手柄就用键盘,核心映射如下(完整表和自定义绑定在设置菜单的 Controller 项里,自定义会按游戏单独保存):
| 按键 | 功能 | 按键 | 功能 |
|---|---|---|---|
| W A S D | 左摇杆移动 | Numpad 8/6/2/4 | 三角/圆圈/叉/方块 |
| I J K L | 右摇杆视角 | Q / U / E / O | L1 / R1 / L2 / R2 |
| RETURN | OPTIONS | SPACE | 触摸板 |
实用快捷键:F10看帧数、F11全屏、F12触发 RenderDoc 抓帧(不可用时退化为游戏内截图)。注意部分键盘要先按 Fn 才能用 F 键;Mac 上把 Control 换成 Command,全屏要用 Command+F11。
常见问题:起不来、黑屏、没声音
- 游戏起不来:先核对三件事——
sys_modules固件模块是否完整、游戏文件夹名是否就是 CUSA 编号、游戏文件是否完整。再用--help确认参数写法。 - 黑屏或崩溃:多半是兼容性问题或显卡驱动版本问题,先更新驱动;复现步骤和日志位置参考 Debugging 文档。
- 没声音或声场怪异:音频后端有 SDL 和 OpenAL 两种,在设置里切换试试,换一种往往就好了。
- 帧数不足:先看
F10确认瓶颈,再降分辨率、关掉吃显存的后台程序。《DRIVECLUB》这类画面复杂的标题对 GPU 压力最大,帧数偏低时优先动这两项:
另外提醒一句:早期教程让你手改config.toml,现在设置后端已换成用户目录下的config.json,旧配置会自动迁移弹窗,绝大多数项直接在设置菜单改即可。
跑通之后
项目还在快速迭代,游戏能跑的范围一直在扩大。建议养成两个习惯:每次拉新代码后看一眼 更新日志 了解行为变化;遇到跑不起来的游戏,去项目的 issue 区和兼容性列表搜一搜,很可能已经有人踩过同样的坑。🎮
【免费下载链接】shadPS4PlayStation 4 emulator for Windows, Linux, macOS and FreeBSD written in C++项目地址: https://gitcode.com/GitHub_Trending/sh/shadPS4
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考