特点|下载并运行 |建筑|免责声明
适用于 Windows 10/11 (x64/ARM64)、Linux (AppImage/Flatpak) 和 macOS(11.0+ 通用)的最新版本: https://github.com/stenzek/duckstation/releases/tag/latest
游戏兼容性列表: https://docs.google.com/spreadsheets/d/e/2PACX-1vRE0jjiK_aldpICoy5kVQlpk2f81Vo6P4p9vfg4d7YoTOoDlH4PQHoXjTD2F7SdN8SSBLoEAItaIqQo/pubhtml
不和谐服务器: https://www.duckstation.org/discord.html
DuckStation 是 Sony PlayStation(TM) 控制台的模拟器/模拟器,注重可玩性、速度和长期可维护性。目标是尽可能准确,同时保持适合低端设备的性能。不鼓励使用“Hack”选项,默认配置应支持所有可玩游戏,仅部分增强功能存在兼容性问题。
启动模拟器和玩游戏需要 PS1 或 PS2“BIOS”ROM 映像。您可以使用任何硬件版本或区域的映像,但不匹配的游戏区域和 BIOS 区域可能会出现兼容性问题。由于法律原因,模拟器未提供 ROM 映像,您应该使用 Caetla 或其他方式从您自己的控制台转储该映像。
DuckStation 具有使用 Qt 构建的功能齐全的前端,以及基于 Dear ImGui 的全屏/电视 UI。
其他功能包括:
CPU 重新编译器/JIT(x86-64、armv7/AArch32、AArch64、RISC-V/RV64)。
硬件(D3D11、D3D12、OpenGL、Vulkan、Metal)和软件渲染。
硬件渲染器中的升级、纹理过滤和真彩色(24 位)。
通过光栅化器顺序视图/片段着色器联锁进行精确混合。
PGXP 用于几何精度、纹理校正和深度缓冲区模拟。
硬件渲染器中的纹理替换系统。
运动自适应去隔行。
自适应下采样滤波器。
垂直或“TATE”shmup 游戏的屏幕旋转。
后处理着色器链(GLSL 和 Reshade FX)。
“快速启动”用于跳过 BIOS 启动/介绍。
保存状态支持,具有超前运行和倒回功能。
Windows、Linux、macOS 支持。
支持直接从 CD、bin/cue 图像、原始 bin/img 文件、MAME CHD、单轨 ECM、MDS/MDF 和未加密的 PBP 格式读取。
将光盘映像预加载到 RAM 以避免磁盘休眠故障。
自动加载/应用 PPF 补丁。
直接启动自制可执行文件。
直接加载便携式声音格式 (psf) 文件。
当跑步速度超出 100% 时,音频会被时间拉伸。
用于输入的数字和模拟控制器(隆隆声被转发到主机)。
GunCon 和 Justifier 光枪支持(用鼠标模拟)。
NeGcon 支持。
Qt 和“大图”UI。
自动更新预览和最新频道。
自动内容扫描 - 游戏标题/哈希值由 redump.org 提供。
每个游戏可选择自动切换存储卡。
支持从现有列表加载作弊。
存储卡编辑器和保存导入器。
模拟CPU超频。
集成和远程调试。
Multitap 控制器(最多 8 个设备)。
复古成就。
不和谐丰富的存在。
使用 Media Foundation (Windows) 和 FFmpeg(所有平台)后端进行视频捕获。
比土豆还快的CPU。但它需要是 x86_64、AArch32/armv7、AArch64/ARMv8 或 RISC-V/RV64。
对于硬件渲染器,需要支持 OpenGL 3.1/OpenGL ES 3.1/Direct3D 11 功能级别 10.0(或 Vulkan 1.0)及更高版本的 GPU。所以,基本上所有的东西都是在过去十年左右的时间内制作的。
SDL、XInput 或 DInput 兼容游戏控制器(例如 XB360/XBOne/XBSeries)。 Windows 上的 DualShock 3 用户需要安装 PlayStation Now 中包含的官方 DualShock 3 驱动程序。
适用于 Windows x64/ARM64、Linux x86_64(AppImage/Flatpak 格式)和 macOS 通用二进制文件的 DuckStation 二进制文件可通过 GitHub Releases 获取,并在每次提交/推送时自动构建。
根据 CC-BY-NC-ND 条款,允许重新分发未修改的版本和代码。但是,我们更希望您链接到 https://www.duckstation.org/。请注意,预配置的设置和包被视为修改。
对于 x86 机器(大多数系统),您需要一个支持 SSE4.1 指令集的 CPU 来进行“正常”构建。这包括 2007 年之后制造的所有 Intel CPU 和 2011 年之后制造的 AMD CPU。如果您的 CPU 较旧,则需要从发布页面下载“SSE2”版本,该版本性能较低,但仍支持这些 CPU。
DuckStation需要Windows 10/11,特别是 1809 或更高版本。如果您仍在使用 Windows 7/8/8.1,DuckStation将无法在您的操作系统上运行。在 2023 年运行这些操作系统应被视为存在安全风险,我建议更新到获得供应商支持的系统。如果您必须使用较旧的操作系统,v0.1-5624 是最后运行的版本。但不要指望得到任何帮助,这些构建不再受支持。
下载:
转到 https://github.com/stenzek/duckstation/releases/tag/latest,然后下载 Windows x64 版本。这是一个包含预构建二进制文件的 zip 存档。
或者,直接下载链接:https://github.com/stenzek/duckstation/releases/download/latest/duckstation-windows-x64-release.zip
将存档解压到子目录中。该存档没有根子目录,因此如果不解压到子目录,则解压到当前目录会在下载目录中删除一堆文件。
下载并解压后,您可以使用duckstation-qt-x64-ReleaseLTCG.exe
启动模拟器。按照安装向导开始操作。
如果您收到有关vcruntime140_1.dll
丢失的错误,则需要更新 Visual C++ 运行时。您可以从此页面执行此操作:https://support.microsoft.com/en-au/help/2977003/the-latest-supported-visual-c-downloads。具体来说,您需要 x64 运行时,可以从 https://aka.ms/vs/17/release/vc_redist.x64.exe 下载。
DuckStation 以 AppImage 和 Flatpak 格式为 x86_64 Linux 提供。 Flathub 上的版本是正式版本,并与 GitHub 上最新的滚动/稳定版本同步。
AppImages 需要相当于 Ubuntu 22.04 或更高版本的发行版才能运行。
前往 https://github.com/stenzek/duckstation/releases/tag/latest,下载duckstation-x64.AppImage
。
在下载的 AppImage 上运行chmod a+x
- 按照此步骤,AppImage 可以像典型的可执行文件一样运行。
转到 https://github.com/stenzek/duckstation/releases/tag/latest,并下载duckstation-x64.flatpak
。
运行flatpak install ./duckstation-x64.flatpak
。
或者,如果您设置了 FlatHub:
运行flatpak install org.duckstation.DuckStation
。
使用flatpak run org.duckstation.DuckStation
启动,或在桌面环境的启动器中选择DuckStation
。按照安装向导开始操作。
为 x64 和 ARM64 (Apple Silicon) 提供通用 MacOS 版本。
需要 MacOS Big Sir (11.0),因为这也是 Qt 的最低要求。
下载:
前往 https://github.com/stenzek/duckstation/releases/tag/latest,下载duckstation-mac-release.zip
。
双击 zip 文件将其解压。
打开 DuckStation.app,可以选择先将其移动到您想要的位置。
根据 GateKeeper 配置,您可能需要在第一次运行时右键单击 -> 打开,因为对于带来零收入的项目来说,代码签名证书是不可能的。
您将需要具有armv7(32位ARM)、AArch64(64位ARM)或x86_64(64位x86)的设备。 64 位是首选,32 位的要求更高,您可能至少需要 1.5GHz CPU。
从 Google Play 下载:https://play.google.com/store/apps/details?id=com.github.stenzek.duckstation
APK 和测试版下载:https://www.duckstation.org/android/
不为 Android 应用程序提供支持,它是免费的,您的期望应该与此一致。请不要向我发送有关此问题的电子邮件,或寻求帮助,您将被忽略。
使用方法:
首次安装并运行该应用程序。
按照设置向导进行操作。
如果您有外部控制器,则需要在设置中映射按钮和摇杆。
许多 PAL 地区游戏使用 LibCrypt 保护,需要额外的 CD 子通道信息才能正常运行。 libcrypt 不起作用通常表现为挂起或崩溃,但有时也会影响游戏玩法,具体取决于游戏如何实现它。
对于这些游戏,请确保 CD 映像及其相应的 SBI (.sbi) 文件具有相同的名称并放置在同一目录中。当在 CD 映像旁边找到 SBI 文件时,DuckStation 将自动加载该文件。
例如,如果您的光盘映像名为Spyro3.cue
,则您可以将 SBI 文件放置在同一目录中,并将其命名为Spyro3.sbi
。
还支持具有内置子通道信息的 CHD 图像。
如果您直接从光盘播放,并且您的 CD/DVD 驱动器不支持子通道读取,或者与返回的 SubQ 存在偏差,则可以将 SBI 文件放在用户目录下的subchannel
目录中,序列号或标题为游戏。
DuckStation 附带一个内置的作弊和补丁数据库,两者均由社区提供。欢迎在 https://github.com/duckstation/chtdb 上做出贡献。
每个版本都包含最新版本的数据库,但是您也可以手动更新到最新版本。
要求:
视觉工作室 2022
克隆存储库: git clone https://github.com/stenzek/duckstation.git
。
从 https://github.com/stenzek/duckstation-ext-qt-minimal/releases/download/latest/deps-x64.7z 下载依赖包,并将其解压到depmsvc
。
打开根目录中的 Visual Studio 解决方案duckstation.sln
,或“打开文件夹”进行 cmake 构建。
构建解决方案。
二进制文件位于bin/x64
中。
运行duckstation-qt-x64-Release.exe
或您使用的任何配置。
Ubuntu/Debian 软件包名称:
autoconf automake build-essential clang cmake curl extra-cmake-modules git libasound2-dev libcurl4-openssl-dev libdbus-1-dev libdecor-0-dev libegl-dev libevdev-dev libfontconfig-dev libfreetype-dev libgtk-3-dev libgudev-1.0-dev libharfbuzz-dev libinput-dev libopengl-dev libpipewire-0.3-dev libpulse-dev libssl-dev libudev-dev libwayland-dev libx11-dev libx11-xcb-dev libxcb1-dev libxcb-composite0-dev libxcb-cursor-dev libxcb-damage0-dev libxcb-glx0-dev libxcb-icccm4-dev libxcb-image0-dev libxcb-keysyms1-dev libxcb-present-dev libxcb-randr0-dev libxcb-render0-dev libxcb-render-util0-dev libxcb-shape0-dev libxcb-shm0-dev libxcb-sync-dev libxcb-util-dev libxcb-xfixes0-dev libxcb-xinput-dev libxcb-xkb-dev libxext-dev libxkbcommon-x11-dev libxrandr-dev libtool lld llvm nasm ninja-build pkg-config zlib1g-dev
Fedora 软件包名称:
alsa-lib-devel autoconf automake brotli-devel clang cmake dbus-devel egl-wayland-devel extra-cmake-modules fontconfig-devel gcc-c++ gtk3-devel libavcodec-free-devel libavformat-free-devel libavutil-free-devel libcurl-devel libdecor-devel libevdev-devel libICE-devel libinput-devel libSM-devel libswresample-free-devel libswscale-free-devel libX11-devel libXau-devel libxcb-devel libXcomposite-devel libXcursor-devel libXext-devel libXfixes-devel libXft-devel libXi-devel libxkbcommon-devel libxkbcommon-x11-devel libXpresent-devel libXrandr-devel libXrender-devel libtool lld llvm make mesa-libEGL-devel mesa-libGL-devel nasm ninja-build openssl-devel patch pcre2-devel perl-Digest-SHA pipewire-devel pulseaudio-libs-devel systemd-devel wayland-devel xcb-util-cursor-devel xcb-util-devel xcb-util-errors-devel xcb-util-image-devel xcb-util-keysyms-devel xcb-util-renderutil-devel xcb-util-wm-devel xcb-util-xrm-devel zlib-devel
Arch 包名称:
base-devel clang cmake curl dbus extra-cmake-modules freetype git libjpeg-turbo libpng libwebp libx11 libxrandr lld llvm ninja qt6-base qt6-imageformats qt6-svg qt6-tools wayland zstd
克隆存储库: git clone https://github.com/stenzek/duckstation.git
, cd duckstation
。
构建依赖关系。如果您愿意,您可以将它们保存在树之外。这需要一段时间。 scripts/deps/build-dependencies-linux.sh deps
。
运行 CMake 以配置构建系统。假设构建子目录为build-release
,运行cmake -B build-release -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_EXE_LINKER_FLAGS_INIT="-fuse-ld=lld" -DCMAKE_MODULE_LINKER_FLAGS_INIT="-fuse-ld=lld" -DCMAKE_SHARED_LINKER_FLAGS_INIT="-fuse-ld=lld" -DCMAKE_PREFIX_PATH="$PWD/deps" -G Ninja
.如果您想要发布(优化)构建,请包含-DCMAKE_BUILD_TYPE=Release -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON
。
编译源代码。对于上面的示例,运行ninja -C build-release
运行位于./build-release/bin/duckstation-qt
下的构建目录中的二进制文件。
要求:
CMake
Xcode
克隆存储库: git clone https://github.com/stenzek/duckstation.git
。
构建依赖关系。这需要一段时间。 scripts/deps/build-dependencies-mac.sh deps
。
运行 CMake 以配置构建系统: cmake -Bbuild-release -DCMAKE_BUILD_TYPE=Release -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON -DCMAKE_PREFIX_PATH="$PWD/deps"
。
编译源代码: cmake --build build-release --parallel
。
运行位于bin/DuckStation.app
下的构建目录中的二进制文件。
“用户目录”是您放置 BIOS 映像、保存设置以及默认保存存储卡/保存状态的位置。可选的 SDL 游戏控制器数据库文件也可以放置在这里。
根据您使用的平台,它位于以下位置:
Windows:我的文档DuckStation
Linux: $XDG_DATA_HOME/duckstation
或~/.local/share/duckstation
。
macOS: ~/Library/Application Support/DuckStation
。
因此,如果您使用的是 Linux,则可以将 BIOS 映像放置在~/.local/share/duckstation/bios
中。该目录将在第一次运行 DuckStation 时创建。
如果您希望使用“便携式”构建,其中用户目录与可执行文件所在的位置相同,请在与 DuckStation 可执行文件相同的目录中创建一个名为portable.txt
空文件。
您的键盘或游戏控制器可用于模拟各种 PlayStation 控制器。控制器输入通过 DInput、XInput 和 SDL 后端支持,并且可以通过Settings -> Controllers
进行更改。
要绑定输入设备,请转至Settings -> Controllers
,然后选择要映射的虚拟控制器。自动映射可处理大多数控制器。但是,如果您需要手动绑定控制器,请单击按钮/轴名称下方的框,然后按您想要绑定的输入设备上的按键或按钮。
DuckStation 版本附带了 SDL 控制器后端的游戏控制器映射数据库,由 https://github.com/mdqinc/SDL_GameControllerDB 提供。包含的gamecontrollerdb.txt
文件可以在DuckStation 程序目录的resources
子目录中找到。
如果您在将控制器与 SDL 控制器后端绑定时遇到问题,您可能需要向数据库文件添加自定义映射。制作gamecontrollerdb.txt
的副本并将其放置在您的用户目录中(或者直接放置在程序目录中,如果以便携模式运行),然后按照 SDL_GameControllerDB 存储库中的说明创建新映射。将此映射添加到gamecontrollerdb.txt
的新副本中,然后您的控制器应该可以被正确识别。
控制器和热键的绑定可以在Settings -> Controllers
中更改。
控制器1:
左摇杆: W/A/S/D
右摇杆: T/F/G/H
方向键:上/左/下/右
三角形/正方形/圆形/十字: I/J/L/K
L1/R1: Q/E
L2/R2: 1/3
L3/R3: 2/4
开始:输入
选择:退格键
热键:
Escape:打开暂停菜单
F1:加载状态
F2:保存状态
F3:选择上一个保存状态
F4:选择下一个保存状态
F10:保存屏幕截图
F11:切换全屏
选项卡:暂时禁用限速器
空格:暂停/恢复仿真
图标来自 icon8:https://icons8.com/icon/74847/platforms.undefined.short-title
“PlayStation”和“PSX”是索尼互动娱乐欧洲有限公司的注册商标。该项目与索尼互动娱乐公司没有任何关系。