stenzek/duckstation
游戏面向 x86-64、ARM 和 RISC-V 电脑的 PlayStation 1 模拟器,强调速度、精度与长期可维护性。
项目介绍
DuckStation 在桌面平台上模拟索尼 PlayStation 1(PSX),内置面向 x86-64、armv7/AArch32、AArch64 和 RV64 的 CPU 重编译器/JIT。项目以可玩性和低端设备上的性能为目标,同时尽量保持准确性,提供基于 Qt 的桌面前端和基于 Dear ImGui 的全屏「Big Picture」界面,适合拥有 PS1 光盘或镜像、希望以放大分辨率、PGXP 几何校正、纹理替换和后处理着色器等增强方式游玩的用户 功能列表。
硬件渲染器支持 D3D11、D3D12、OpenGL、Vulkan 和 Metal,另有向量化多线程软件渲染器;功能还包括带 runahead/rewind 的即时存档、手柄预设、光枪与 NeGcon 支持、RetroAchievements 和 Discord Rich Presence。光盘镜像可从 CD、bin/cue、CHD、MDS/MDF、CCD 及未加密 PBP 读取,多碟游戏可合并为一个条目 功能列表。
快速使用
开始前需要自备从自己主机导出的 PS1 或 PS2 BIOS ROM 镜像;模拟器出于法律原因不附带该文件,游戏与 BIOS 区域不匹配可能导致兼容性问题 README。
Windows 10/11(1809 或更新)用户推荐从最新发布页下载安装包:运行 duckstation-windows-x64-installer.exe 并按提示完成安装;骁龙笔记本使用单独的 ARM64 安装包,不支持 SSE4.1 的老 CPU 使用 SSE2 安装包。若想便携使用,把 duckstation-windows-x64-release.zip 解压到一个子目录(压缩包内没有根目录),可在可执行文件旁新建空文件 portable.txt,然后运行 duckstation-qt-x64-ReleaseLTCG.exe 并跟随设置向导。若提示缺少 vcruntime140_1.dll,需要更新 Visual C++ 运行库 README。
Linux 用户下载 x64 AppImage(或 arm64 版本),执行 chmod a+x 后直接运行,首次启动会询问是否创建启动器快捷方式;系统需相当于 Ubuntu 22.04 或更新 README。macOS 13.3+ 用户解压 duckstation-mac-release.zip 后打开 DuckStation.app,由于应用未做代码签名,需在「隐私与安全性」中允许打开 README。Android 版在 Google Play,但 README 明确不为该应用提供支持。
完成设置后,在界面中添加游戏目录,把 BIOS 放入用户目录,并在 Settings -> Controllers 中映射手柄。默认键位包括 W/A/S/D 控制左摇杆、I/J/L/K 对应四个按键、Enter 为 Start、F1/F2 读取/保存即时存档、F11 切换全屏 README。
从源码构建
Windows 需要 Visual Studio 2026(Desktop C++ 工作负载),Linux 使用 CMake + Ninja + Clang/LLD,macOS 使用 CMake + Xcode。各平台都需从依赖仓库下载预编译依赖包并解压到 dep/prebuilt;Linux 随后用 CMake 配置构建目录并用 Ninja 编译,产物位于 bin/duckstation-qt README。
使用约束与许可
项目采用 CC-BY-NC-ND 许可:可以再分发未修改的源码和二进制,但不能发布修改版本,预配置的打包也被视为修改。PR 仅限既往贡献者提交,补丁通过邮件或 Discord 接收 README。
玩带 LibCrypt 保护的 PAL 游戏时,需要把同名 .sbi 文件放在光盘镜像旁(例如 Spyro3.cue 对应 Spyro3.sbi),或使用内置子通道数据的 CHD 镜像 README。项目与索尼无关,PlayStation/PSX 为索尼商标。
HotRepo 点评
DuckStation 在 PS1 模拟领域已相当成熟:2026 年 11 月的 C++ 日榜记录中排在当日第 6,单日新增 10 星;自 2019 年以来的 11k 星更多是长期积累,而非某次爆发。Hacker News 上的讨论褒贬不一:2024 年一条 171 分的帖子中,有人主张使用 GPL 分支或 PCSX2 的 PS1 支持,也有人认可独立于 RetroArch 的方向以及维护者在模拟器社区的贡献 HN 讨论。2025 年作者阻止 Arch Linux 构建一事引发了一个小帖子;2025 年 12 月还有帖子提到新增对原始 SCPH-1002 GPU 的支持,并引用了对比截图 HN 帖子。想要一个持续维护、功能丰富且带原生桌面界面的 PS1 模拟器,上面列出的发布和构建路径足够清晰;若在意宽松许可证或发行打包方式,则需要先权衡 ND 条款和打包限制。
本文由 AI 根据项目 README 生成,更新于 ,以项目官方文档为准。