About this project
DuckStation is a PlayStation 1 (PSX) emulator focused on playability, speed, and long-term maintainability. It aims to be as accurate as possible while maintaining performance suitable for low-end devices. The default configuration supports all playable games with only some enhancements having compatibility issues.
A PS1 or PS2 BIOS ROM image is required to start the emulator and play games. Users must dump the BIOS from their own console; no ROM is provided for legal reasons.
## Features
- CPU recompiler/JIT for x86-64, armv7/AArch32, AArch64, and RISC-V/RV64.
- Hardware renderers supporting D3D11, D3D12, OpenGL, Vulkan, and Metal.
- Upscaling, texture filtering, and true color (24-bit) in hardware renderers.
- PGXP for geometry precision, texture correction, and depth buffer emulation.
- Accurate blending via Rasterizer Order Views/Fragment Shader Interlock.
- Texture replacement system in hardware renderers.
- Vectorized and multi-threaded software renderer.
- Motion adaptive deinterlacing and adaptive downsampling filter.
- Screen rotation for vertical (TATE) games.
- Post-processing shader chains (GLSL, Reshade FX, Slang Presets).
- Border overlays/bezels.
- Fast boot to skip BIOS splash.
- Save states with runahead and rewind.
- Supports CD, bin/cue, MAME CHD, single-track ECM, MDS/MDF, CCD, and unencrypted PBP formats.
- Preloading disc images to RAM.
- Multi-disc game merging with shared memory cards.
- Automatic PPF patch loading.
- Direct booting of homebrew executables and PSF files.
- Time-stretched audio.
- Digital/analog controllers, lightguns (GunCon, Justifier), NeGcon, multitap (up to 8 devices).
- Controller presets and per-game configuration.
- Qt and Big Picture UI.
- Automatic updates (Stable/Preview channels).
- Automatic content scanning with English and native titles.
- Memory card editor and save importer.
- Emulated CPU overclocking.
- Cheat database (4000+ games) and patch database.
- Live memory scanning/editing.
- ISO browsing and file extraction.
- Integrated and remote debugging.
- RetroAchievements and Discord Rich Presence.
- Video capture via Media Foundation (Windows) and FFmpeg (all platforms).
- Free camera function.
- Parallel port cartridge emulation.
## System Requirements
- CPU: x86_64, AArch32/armv7, AArch64/ARMv8, or RISC-V/RV64.
- GPU: OpenGL 3.1/OpenGL ES 3.1/Direct3D 11 Feature Level 10.0/Vulkan 1.0 (basically anything from the last 10 years).
- Controller: SDL, XInput, or DInput compatible (e.g., Xbox controllers).
## Downloading and Running
Prebuilt binaries are available for Windows (x64/ARM64), Linux (AppImage x64/ARM32/ARM64), and macOS (Universal). The latest builds are on GitHub Releases. The automatic updater has Stable and Preview channels.
Windows requires Windows 10/11 version 1809 or newer. Linux AppImages require a distribution equivalent to Ubuntu 22.04 or newer. macOS requires Ventura 13.3 or newer. Android builds are available on Google Play but are not officially supported.
For LibCrypt-protected PAL games, place the .sbi file next to the CD image with the same name. CHD images with built-in subchannel info are also supported.
## Building
Instructions are provided for Windows (Visual Studio), Linux (CMake/Ninja), and macOS (CMake/Xcode). Dependencies packs are available from the duckstation/dependencies repository.
## User Directories
User data (BIOS, settings, memory cards, save states) is stored in platform-specific directories. A portable mode can be enabled by creating a `portable.txt` file next to the executable.
## Contributing and Forks
Redistribution of unmodified versions is permitted under CC-BY-NC-ND. Modified versions are not allowed. Contributions are accepted via email or Discord; pull requests are restricted to prior contributors.
## Disclaimers
PlayStation and PSX are trademarks of Sony Interactive Entertainment. This project is not affiliated with Sony.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.