shadPS4 PS4模拟器快速上手:三步在电脑上跑起血源诅咒
【免费下载链接】shadPS4PlayStation 4 emulator for Windows, Linux, macOS and FreeBSD written in C++项目地址: https://gitcode.com/GitHub_Trending/sh/shadPS4
不用 PS4 主机,血源诅咒能在你的电脑上跑吗?shadPS4 是一个用 C++ 编写的 PlayStation 4 模拟器,在 Windows、Linux 和 macOS 上运行 PS4 游戏,让你花很少的成本把收藏里的老游戏盘活。
项目目前还处在早期开发阶段:不少老牌游戏已经能玩,但个别作品可能存在 bug 或崩溃,心态放平,边试边等更新。
在电脑上把 shadPS4 PS4 模拟器跑起来的完整步骤
先克隆源码
shadPS4 用 Git 子模块管理依赖,克隆时必须带--recursive。下面两条命令拉取完整源码并进入目录:
git clone --depth 1 --recursive https://gitcode.com/GitHub_Trending/sh/shadPS4 cd shadPS4提前说清一点:你克隆到的是模拟器核心,不带图形界面。如果不想亲手编译,可以直接使用官方的 QtLauncher 启动器发布版。下面带你从源码把它跑通。
Linux
先装依赖,以下是 Debian/Ubuntu 的命令集,其他发行版的命令见构建文档。编译器强烈建议用 Clang——官方构建和持续集成都用它,GCC 下可能遇到额外问题:
sudo apt install build-essential clang git cmake libasound2-dev libpulse-dev libopenal-dev libssl-dev zlib1g-dev libedit-dev libudev-dev libevdev-dev libsdl2-dev libjack-dev libsndio-dev libvulkan-dev vulkan-validationlayers libpng-dev用 Clang 配置并编译,完成后得到一个可执行文件:
cmake -S . -B build/ -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ cmake --build ./build --parallel $(nproc)直接运行它就能看到模拟器:
./build/shadps4Windows
Windows 目前没有可用的纯命令行编译途径(MSYS2 路线已不可用)。装好 Visual Studio 2022(勾选“使用 C++ 的桌面开发”工作负载和“C++ Clang Compiler for Windows”组件)以及 Git for Windows,然后用 VS 打开源码目录、选中 shadps4.exe 项目执行 Build All,可执行文件会出现在Build\x64-Clang-Release\里,完整步骤见 documents/building-windows.md。
macOS
需要 macOS 26.0 及以上版本,Intel 版 Mac 不受支持。先装好 Xcode 26.0 或更高版本,再用 Homebrew 引入构建工具和随包 Vulkan 驱动所需的依赖:
brew install clang-format cmake meson ninja pkg-config llvm spirv-tools spirv-llvm-translator libclc pip3 install --break-system-packages mako packaging pyyaml配置、编译并直接指向游戏里的 eboot.bin(PS4 游戏的可执行文件)运行:
cmake -S . -B build/ -DCMAKE_OSX_ARCHITECTURES=x86_64 cd build/ cmake --build . --parallel $(sysctl -n hw.ncpu) ./shadps4 /path/to/game/folder/eboot.bin如果你本机已有可用的 Vulkan 环境,配置时加上-DENABLE_SYSTEM_VULKAN=ON可跳过驱动构建。
第一次启动游戏
首次运行成功后,把 PS4 游戏安装目录写进模拟器的配置文件 config.toml(管理游戏目录、启动选项等设置),然后就能用游戏 ID 启动了,美版血源诅咒是 CUSA00900:
./build/shadps4 CUSA00900 ./build/shadps4 --fullscreen true CUSA00900想传更多参数给游戏本体时用--分隔,全部可用选项看--help输出。
首批战果:这些 PS4 老游戏已经能玩
🎮 血源诅咒、黑暗之魂 重制版、荒野大镖客:救赎等游戏已经可以运行,其他作品的运行状态可以在官方兼容列表上查(按“shadPS4 游戏兼容列表”搜官方页面即可)。
画面和输入两条链路各有专职模块撑着:
- 视频核心src/video_core/:负责 PS4 的 GPU 工作,通过 Vulkan 这套现代游戏通用的图形接口输出画面。
- 着色器重编译src/shader_recompiler/:把游戏里的图形指令(着色器)翻译成你电脑 GPU 能执行的代码,画面还原的核心就在这。
- 输入:Xbox 手柄和 DualShock 即插即用,键盘鼠标有默认映射,随时可以自定义。
首次运行前备好的固件和键位
固件文件
模拟器要加载一部分 PS4 本体的系统库模块(.sprx 文件),必须全部放进 shadPS4 的sys_modules文件夹:
| 用途 | 需要的模块(.sprx) |
|---|---|
| 音视频与图像解码 | libSceAt9Enc、libSceAudiodec、libSceAudiodecCpu、libSceAudiodecCpuDdp、libSceAudiodecCpuDtsHdLbr、libSceAudiodecCpuHevag、libSceAudiodecCpuM4aac、libSceAvPlayer、libSceAvPlayerStreaming、libSceBeisobmf、libSceBemp2sys、libSceJpegDec、libSceJpegEnc、libScePngEnc |
| 字体渲染 | libSceFont、libSceFontFt、libSceFreeTypeOl、libSceFreeTypeOptOl、libSceFreeTypeOt、libSceWkFontConfig |
| 系统与网络服务 | libSceCesCs、libSceJson、libSceJson2、libSceLibcInternal、libSceNgs2、libScePsmKitSystem、libSceRtc、libSceRudp、libSceSystemGesture、libSceUlt、libSceXml |
注意:这些模块必须从你合法拥有的 PS4 主机上转储获得,缺少它们游戏无法正常运行,也不要使用来路不明的固件文件。
键位
只有键盘的话,默认映射如下。功能快捷键:
- F10:显示帧率计数器
- Ctrl+F10:显示视频调试信息
- F11:切换全屏(Mac 用 Command+F11,避开系统快捷键)
- F12:用 RenderDoc(一款图形调试工具)抓取一帧,没装 RenderDoc 时就截一张纯游戏画面
- Alt+F12:截取包含 HUD 的整屏截图
控制器按键对应的键盘键:
| PS4 按键 | 默认键盘键 |
|---|---|
| 左摇杆 | W / S / A / D |
| 右摇杆 | I / K / J / L |
| 三角 / 圆圈 / 叉 / 方块 | 小键盘 8/6/2/4 或 C / B / N / V |
| 十字键 | 方向键 |
| 选项 / 返回 | 回车 / 空格 |
| L1 / R1 / L2 / R2 | Q / U / E / O |
| L3 / R3 | X / M |
部分键盘需要按住 Fn 才能用 F* 键。默认手感不对,就在设置菜单点 Controller 自定义:每个绑定最多三个键,支持鼠标按键和把鼠标移动映射到摇杆输入,绑定还会按游戏分别保存。
想深入调试、自定义和求助时的去处
⚙️ 画面不对劲时,按 F12 抓一帧,用 RenderDoc 逐步检查 GPU 上发生了什么,仓库里有专门的调试文档可以跟着做。
想微调设置时,游戏目录、启动参数都在 config.toml 里改,图形、音频、输入相关的选项也在设置菜单中,先别动看不懂的项。
遇到问题先查仓库 README 里提到的官方 Quickstart,官方 Discord 是和开发者直接交流的渠道,游戏能不能玩则以官方兼容列表为准。
完整的三平台构建细节看仓库 documents 目录下的构建文档,疑问先去官方 Quickstart,再进官方 Discord 问开发者。固件备齐、确认目标游戏兼容之后,就克隆源码开始今晚的第一场 PS4 游戏吧。
【免费下载链接】shadPS4PlayStation 4 emulator for Windows, Linux, macOS and FreeBSD written in C++项目地址: https://gitcode.com/GitHub_Trending/sh/shadPS4
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考