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 用户态模拟器

License(许可证)

参考资料