General information(基本信息)
shadPS4 是一个早期开发阶段的 PlayStation 4 模拟器,支持 Windows、Linux 和 macOS,使用 C++ 编写。
[!IMPORTANT] 这是模拟器核心,不包含图形界面(GUI)。如果你只是普通用户想直接使用,请下载 QtLauncher。
如果你遇到问题或有疑问,请先查看 快速开始。 要验证某个游戏是否可运行,可以查看 shadPS4 游戏兼容性列表。 如果你想讨论开发、提出建议或寻求帮助,请加入我们的 Discord 服务器。 获取最新动态,请访问我们的 X(Twitter) 或 官网。 你可以通过 Kofi 页面 为项目捐赠。
Status(当前状态)
[!IMPORTANT] shadPS4 仍处于早期开发阶段,请不要期望获得完美体验。
目前,该模拟器已经可以成功运行如:
以及其他许多游戏。
Why(项目初衷)
该项目最初出于兴趣而启动。由于团队的空闲时间有限,shadPS4 能够支持更复杂游戏可能还需要一些时间,但我们会持续进行小步、稳定的更新。
Building(构建)
Docker
在使用 Docker 和 VSCode 的容器化环境中构建 shadPS4,请查看: Docker 构建说明
Windows
查看 Windows 构建说明
Linux
查看 Linux 构建说明
macOS
查看 macOS 构建说明
[!IMPORTANT] macOS 用户至少需要 macOS 15.4 才能运行 shadPS4。由于 GPU 问题,目前在 Intel Mac 上存在严重 bug。
Usage examples(使用示例)
[!IMPORTANT] 如果需要图形界面,请下载 QtLauncher。
要获取所有可用命令及详细说明,请使用 --help 参数。
以下是常用命令示例:
shadPS4 CUSA00001 # 在游戏安装目录列表中查找名为 CUSA00001 的游戏并启动
shadPS4 --fullscreen true --config-clean CUSA00001 # 游戏参数通常放在最后
shadPS4 -g CUSA00001 --fullscreen true --config-clean # ...除非手动指定顺序
shadPS4 /path/to/game.elf # 直接启动 PS4 ELF 文件(适用于非 eboot.bin 可执行文件)
shadPS4 CUSA00001 -- -flag1 -flag2 # 将 '-flag1' 和 '-flag2' 传递给游戏程序(argv)
Debugging and reporting issues(调试与问题反馈)
关于如何测试、调试以及报告模拟器或游戏问题,请阅读: 调试文档
Keyboard and Mouse Mappings(键盘与鼠标映射)
[!NOTE] 某些键盘可能需要按住 Fn 键才能使用 F* 功能键。Mac 用户应使用 Command 键替代 Control,并使用 Command+F11 进入全屏以避免系统快捷键冲突。
| 按键 | 功能 |
|---|---|
| F10 | FPS 计数器 |
| Ctrl+F10 | 视频调试信息 |
| F11 | 全屏 |
| F12 | 触发 RenderDoc 捕获 |
[!NOTE] Xbox 和 DualShock 手柄开箱即用。
| 手柄按键 | 键盘映射 |
|---|---|
| 左摇杆上 | W |
| 左摇杆下 | S |
| 左摇杆左 | A |
| 左摇杆右 | D |
| 右摇杆上 | I |
| 右摇杆下 | K |
| 右摇杆左 | J |
| 右摇杆右 | L |
| 三角 | 小键盘 8 或 C |
| 圆圈 | 小键盘 6 或 B |
| 叉(X) | 小键盘 2 或 N |
| 方块 | 小键盘 4 或 V |
| 方向键上 | ↑ |
| 方向键下 | ↓ |
| 方向键左 | ← |
| 方向键右 | → |
| OPTIONS | 回车 |
| BACK / 触控板 | 空格 |
| L1 | Q |
| R1 | U |
| L2 | E |
| R2 | O |
| L3 | X |
| R3 | M |
键盘和鼠标输入可以在设置菜单中通过点击“Controller”按钮进行自定义。更多控制说明也可在该界面查看。自定义映射按游戏分别保存。支持每个操作最多绑定三个按键、鼠标按键、鼠标移动映射为摇杆输入等。
Firmware files(固件文件)
shadPS4 可以加载部分 PlayStation 4 固件文件。
以下模块受支持,并必须放置在 sys_modules 目录中:
(模块列表保持不变)
[!Caution] 上述模块是运行游戏所必需的,必须从你合法拥有的 PlayStation 4 主机中提取。
Main team(核心团队)
- georgemoralis
- psucien
- viniciuslrangel
- roamic
- squidbus
- frodo
- Stephen Miller
- kalaposfos13
Logo 由 Xphalnos 制作
Contributing(参与贡献)
如果你想参与贡献,请阅读 CONTRIBUTING.md。 提交 PR,我们会进行审核。
Special Thanks(特别感谢)
以下团队/项目对我们帮助很大:
- Panda3DS:一个跨平台 3DS 模拟器,在理解和解决 PS4 二进制 x64 原生执行问题方面提供了巨大帮助
- fpPS4:帮助理解 PS4 操作系统及库的复杂部分,包括逆向工程与研究
- yuzu:我们的着色器编译器参考了 yuzu 的 Hades 编译器设计
- felix86:一个新的 x86-64 → RISC-V Linux 用户态模拟器
