PixelArk

Emulation

DuckStation

A PlayStation emulator focused on accuracy and speed.

All PS1 emulators

On PS1

Recommended
Accuracy
High
BIOS or firmware
Required

A PS1 or PS2 BIOS dumped from your own console is required; a BIOS matching the game region is safest. Use your own disc images (BIN/CUE or CHD). Defaults that work for most games: renderer Automatic, Analog Controller, True Color dithering. Try Internal Resolution 3x or 4x, and test PGXP Geometry Correction and Widescreen Rendering game by game, as they do not suit every game. Keep memory card saves as well as save states.

Overview

DuckStation is an emulator of the Sony PlayStation (PS1). An emulator is a program that imitates a game console, so that games made for that console can run on your computer or phone. DuckStation's goals, as stated by its author, are playability, speed and long-term maintainability: it tries to be as accurate as possible while still running well on low-end devices.

It is made for beginners as much as for enthusiasts. A setup wizard guides you through the first start, the default settings are meant to run every playable game, and optional enhancements (sharper 3D, smoother polygons, widescreen) are one checkbox away. Each game can also keep its own settings.

It works on Windows, Linux, macOS and Android. The one thing it cannot give you is the console's startup program (the BIOS, explained below): you must provide it yourself, from your own console.

Key words explained

  • BIOS: a small program stored inside the console that starts it up and runs before every game. The emulator needs a copy of it. It is copyrighted, so it is never included with DuckStation.

  • Disc image: a single file (or a few files) that contains an exact copy of a game disc. You play from this file instead of inserting a disc. Common formats are BIN/CUE, CHD, ISO and PBP.

  • BIN/CUE: a disc image made of one or more .bin files (the data) and a small .cue file (a text file describing how the tracks are laid out). You open the .cue file.

  • CHD: a compressed disc image format. Nothing is lost, but the file is smaller.

  • M3U playlist: a small text file that lists the discs of a multi-disc game, one per line.

  • Renderer: the part of the emulator that draws the game on your screen. The hardware renderers use your graphics card. The software renderer uses the processor instead and keeps the original look.

  • Direct3D, Vulkan, OpenGL, Metal: different ways for a program to talk to a graphics card. Which ones are offered depends on your system.

  • Internal resolution: how many pixels the emulator uses to draw the 3D picture. The PS1 drew at very low resolution; 1x is that original, 4x is four times sharper in each direction.

  • Frame rate: how many images per second the game shows. PS1 games run at about 50 or 60 per second.

  • Save state: a snapshot of the whole game at one exact moment. Unlike an in-game save, it can be made anywhere. Memory card save (in-game save): the normal save of the game, stored on a virtual memory card, like on the console.

  • Hotkey: a keyboard key or controller button combination that triggers an emulator action (such as saving a state) instead of a game action.

  • Portable mode: DuckStation keeps all its files in its own folder instead of your user folder.

System requirements

  • Processor: 64-bit x86 (Intel or AMD), ARM (including Apple Silicon and Snapdragon laptops) or RISC-V. The official page says it needs a processor "faster than a potato". On Intel or AMD, the normal build needs SSE4.1, which every Intel CPU since 2007 and AMD CPU since 2011 has. For older ones, a separate SSE2 build exists on the releases page.

  • Graphics: a card that supports OpenGL 3.1, OpenGL ES 3.1, Direct3D 11 (feature level 10.0) or Vulkan 1.0. In practice, anything made in the last ten years or so.

  • Windows: version 10 or 11, version 1809 or newer. Windows 7, 8 and 8.1 are not supported.

  • macOS: macOS Ventura (13.3) or newer, on Intel or Apple Silicon.

  • Linux: a distribution equivalent to Ubuntu 22.04 or newer (the AppImage requires it).

  • Android: a device with a 32-bit or 64-bit ARM processor or a 64-bit x86 processor. 64-bit is preferred.

  • A controller is optional: a keyboard works.

How to check your own PC: on Windows, open Settings > System > About to see your processor and Windows version, and press Windows + R, type dxdiag and press Enter to see your graphics card. On macOS, choose the Apple menu > About This Mac.

What you need

1. A BIOS. DuckStation needs a PS1 or PS2 BIOS image to start the emulator and to play games. It can come from any hardware version or region, but games may have problems if the BIOS region does not match the game region (Japan, US/Canada or Europe/Australia). The BIOS is not provided for legal reasons: the official README says to dump it from your own console. DuckStation has no step by step dumping guide of its own.

2. Your games, as disc images. Games are not provided either. Use images of discs you own. DuckStation reads BIN/CUE images, CHD (the format of the MAME project), single-track ECM, MDS/MDF, CCD and unencrypted PBP files, and it can also read directly from a disc in a drive.

Tip: if you want to save disk space, you can convert your own BIN/CUE images to CHD with chdman, a free tool that comes with MAME. It is optional.

3. A controller (optional). DuckStation supports XInput, DInput and SDL controllers, such as Xbox pads. Most USB or Bluetooth pads work. DualShock 3 users on Windows need the official DualShock 3 drivers, according to the README.

Installation

Always download DuckStation from its official website or from the releases page on GitHub. Its license does not allow modified copies, so be careful with other websites offering a "pre-configured" version.

Windows, with the installer (recommended):

  1. On the releases page, download the file ending in installer.exe (the x64 one for most PCs; the ARM64 one only for Snapdragon laptops).

  2. Run it and follow the prompts. It installs DuckStation in your user programs folder and can create Start Menu and Desktop shortcuts.

  3. If Windows says a file such as vcruntime140_1.dll is missing, install the x64 Microsoft Visual C++ Redistributable. It is a set of common Windows components that many programs rely on.

Windows, portable (zip archive): download the release .zip, extract it into a new folder of your choice (the archive has no folder inside, so do not extract it into your Downloads folder directly), then start duckstation-qt-x64-ReleaseLTCG.exe. To keep every file next to the program, create an empty file named portable.txt in that folder before starting it. This makes it easy to back up or move.

macOS:

  1. Download duckstation-mac-release.zip from the releases page and double-click it to extract.

  2. Open DuckStation.app, after moving it to the Applications folder if you wish.

  3. If macOS says the app is from an unidentified developer, open System Settings > Privacy & Security, find the message about DuckStation in the Security section and click Open Anyway. The author explains this happens because he has no paid Apple code signing certificate.

Linux:

  1. Download the AppImage (DuckStation-x64.AppImage, or the arm64 one) from the releases page. An AppImage is a single file that contains the program and runs without installing.

  2. Make it executable: in your file manager open the file's properties and allow executing, or run chmod a+x on the file in a terminal.

  3. Run it. The first time, it offers to create a launcher shortcut.

Android: install the app from Google Play. The author states that no support is provided for the Android app. Start it and follow its setup wizard. If you use an external controller, map its buttons and sticks in the settings.

First setup

The first time you start the desktop version, the DuckStation Setup Wizard opens. Use Next and Back to move between pages. You can change all of this later in Settings.

  1. Language: pick the interface language and a theme (the look of the windows). The wizard also offers to enable automatic updates.

  2. BIOS Image: this is where DuckStation looks for the BIOS. There are three boxes: NTSC-J (Japan), NTSC-U/C (US and Canada) and PAL (Europe, Australia). Click Install BIOS... or Browse... to choose the folder, copy your BIOS files into the BIOS directory (Open in Explorer... opens it), then click Refresh List. Each region box should now show a BIOS.

  3. Game Directories: click Add... and choose the folder that contains your game images. DuckStation scans it (the list says it is "scanned for games") and shows the games it finds.

  4. Controller Setup: for Controller Port 1, keep the Controller Type on the one you want (see Controls below). In Controller Mapped To, choose Default (Keyboard) or your pad, then click Automatic Mapping to bind the buttons for you. Port 2 is for a second player. A Pause Menu Hotkey option lets you choose how to open the pause menu.

  5. Graphics Setup: options for Internal Resolution, Texture Filtering, Dithering, Aspect Ratio, PGXP Geometry Correction and Widescreen Rendering. Their meaning is explained in the Graphics section below. If unsure, keep the defaults.

  6. RetroAchievements: optional. You can log in here with a free RetroAchievements account to earn achievements in games. Skip it if you do not need it.

  7. Interface Selection: choose Desktop Mode (the classic window) or Big Picture Mode (a full screen interface designed for TVs and controllers). You can switch later.

  8. Complete: click Finish.

How to know it worked: your games appear in the game list (as a list or a grid, you can switch in the View menu). If the list is empty, see Common problems.

Adding your games

  • Open Settings > Game List. Under Search Directories, click Add and choose a folder. All supported images in it are found.

  • If you add games later, click Scan For New Games on the same page. Rescan All Games discards the cached information and looks at everything again.

  • To start a game: double-click it in the list. You can also use System > Start File... to open one image directly, Start Disc... to play from a real disc in your drive, or Start BIOS to start the console without a game (this shows the PlayStation start screen and memory card menu).

  • Multi-disc games: put the discs in an M3U playlist, or use System > Change Disc during play. Settings > Memory Cards has an option to use a single memory card for all discs of a game.

  • Some European games use a copy protection called LibCrypt. For them to work properly, the disc image needs an extra .sbi file with the same name next to it (for example Game.cue and Game.sbi), or a CHD image that already contains this data. Symptoms are hangs or crashes.

Controls

  • Controller type: Digital Controller is the original PS1 pad, without sticks. Analog Controller is the DualShock-style pad, with two sticks. Choose Analog Controller for most games.

  • To map a pad: open Settings > Controllers, select the virtual controller (Port 1) and click Automatic Mapping, then choose your device. The mapping is the link between each button of the virtual PS1 pad and a key or button of your real device.

  • To map by hand: click the box under a button name, then press the key or button you want to use.

  • Default keyboard bindings for Controller 1: left stick W/A/S/D, right stick T/F/G/H, D-pad with the arrow keys, Triangle/Square/Circle/Cross on I/J/L/K, L1/R1 on Q/E, L2/R2 on 1/3, L3/R3 on 2/4, Start on Enter and Select on Backspace.

  • Default hotkeys: Escape opens the pause menu, F1 loads the selected save state, F2 saves a state, F3 and F4 select the previous or next slot, F10 takes a screenshot, F11 toggles fullscreen, Tab temporarily disables the speed limit (fast forward while held) and Space pauses or resumes.

  • You can change hotkeys in Settings > Hotkeys.

  • If automatic mapping fails, the README explains that a custom mapping can be added to a gamecontrollerdb.txt file in your user directory.

Graphics and performance settings

Open Settings > Graphics. You can change these for every game, or for one game only through its Properties (right-click the game in the list). Per-game settings are the best way to fix one problematic game without changing the others.

  • Renderer: the default, Automatic, picks a backend for you. Direct3D 11, Direct3D 12, OpenGL, Vulkan and Metal may be offered depending on your system. The Software renderer is the most compatible but the slowest and has no enhancements. Change it only if you see crashes or graphical bugs.

  • Internal Resolution: default 1x. Setting it higher makes 3D polygons and lines sharper, and needs a stronger graphics card. Most games look fine at higher values. Try 3x or 4x first and lower it if the game slows down.

  • Texture Filtering: default Nearest, which keeps the blocky look of the original textures. Other options smooth magnified textures, with more effect at high resolutions. Sprite Texture Filtering does the same for 2D elements such as menus and health bars.

  • Dithering: the PS1 added a small dot pattern to hide color banding. The default, True Color, removes it and gives the nicest gradients. The Scaled options make the pattern less visible at high resolution.

  • PGXP Geometry Correction: PS1 3D positions were rounded to whole numbers, which makes polygons wobble. PGXP keeps the exact values. Off by default. The tooltip warns it may not be compatible with all games, so test it per game.

  • Widescreen Rendering: stretches the 3D picture to a wide view (wider field of view) instead of stretching pixels. Off by default and may not work in all games. 2D backgrounds are not widened.

  • Aspect Ratio: Auto (Game Native) imitates the proportions of a TV of the time. Change it to 16:9 if you use Widescreen Rendering.

  • Deinterlacing, Crop, Scaling, FMV Scaling: display options. Crop decides how much of the black border (overscan) is hidden. Only Overscan is described as a good compromise. FMV means the video clips played during the game; Force 4:3 For FMVs switches back to 4:3 during them.

  • Multi-Sampling (MSAA): anti-aliasing, which smooths jagged edges. The tooltip warns that it often introduces rendering errors. Leave it disabled unless you need it.

  • Threaded Rendering: on by default and described as safe.

Performance. If the game is slow or stutters, lower Internal Resolution first. Then check Settings > Console: Fast Boot skips the BIOS start-up animation; CD-ROM Read Speedup shortens loading times, at the risk of problems in some games; Preload Image to RAM loads the disc image into memory to avoid pauses when a hard drive spins up. The Console page also lets you change CPU clock speed (overclocking), which can reduce slowdowns in some games but can also break some others, so use it per game.

Sound is in Settings > Audio. If sound crackles, raise the Buffer Size. Fast forward and menu volume can be set separately.

Post-processing (Settings > Post-Processing) adds shader effects. A shader is a small program that changes the look of the picture, for example to imitate a CRT TV. Display shaders apply to the final scaled image, Internal shaders apply before scaling, and Border Overlay draws an image such as a TV frame around the game. They are optional.

Saves

There are two kinds of saves, and it is worth using both.

  • In-game saves go on virtual memory cards, exactly like on the console. In Settings > Memory Cards you choose, per port, the type of card: No Memory Card, Shared Between All Games, Separate Card Per Game (Serial, Title or File Title) or Non-Persistent Card (Do Not Save). Port 1 defaults to a separate card per game (Title), so every game has its own card and nothing fills up. Port 2 defaults to none.

  • Save states capture the whole game at any moment, even where the game does not allow saving. Use System > Save State and Load State, or the hotkeys F2 and F1 (F3 and F4 change the slot). If the Settings > Memory Cards option Create Save State Backups is checked, the previous state is kept with a .bak extension.

  • Settings > Interface has Save State On Game Close, which saves when you close a game so you can resume later.

  • Save states depend on the emulator version and settings. After an update, an old state may no longer load, so always also save in the game.

  • Where the files are: the user directory is AppData\Local\DuckStation on Windows (older installs use Documents\DuckStation), ~/.local/share/duckstation on Linux (or $XDG_DATA_HOME/duckstation), and ~/Library/Application Support/DuckStation on macOS. In portable mode it is the program's own folder. Tools > Open Data Directory opens it for you.

  • Backup: copy the memory cards and save states folders (shown in Settings > Memory Cards under Save Locations) to a safe place.

  • The Memory Card Editor (button in Settings > Memory Cards) lets you move saves between cards and import cards of other formats.

Cheats, patches and achievements

  • DuckStation includes a community cheat and patch database. Patches add things like frame rate or aspect ratio enhancements. Open a game's Properties to see its Patches, or use the Cheats item of the System menu while playing. A cheat is a code that changes something in the game, for example to give infinite lives.

  • RetroAchievements (Settings > Achievements): lets you earn achievements in supported games. Hardcore Mode makes it stricter, so some features such as save states are restricted. You need a RetroAchievements account (free).

Updating

DuckStation has an automatic updater with two channels, Stable and Preview. Stable releases are less frequent and better tested. Preview is built at each commit and may contain bugs. By default, it follows the channel you downloaded from. Change it in Settings > Interface > Updates, where you can also use Check for Updates... (also in the Help menu). Older versions are available from the official old-releases page. Back up your user directory before updating.

Common problems

  • The emulator says it cannot find a BIOS. Cause: no BIOS in the BIOS directory. Fix: open Settings > BIOS, check that the BIOS Directory is the folder with your files and click Refresh List. The BIOS can be a PS1 or PS2 image.

  • A game does not appear in the list. Cause: the folder is not in the game list settings, or the file format is not supported. Fix: add the folder in Settings > Game List, then Scan For New Games. For a BIN/CUE game, open the .cue file and keep the .bin files beside it.

  • A game hangs or crashes (often a European game). Cause: possibly LibCrypt protection. Fix: add the matching .sbi file next to the image with the same name, or use a CHD image that contains it.

  • Graphics look broken, or polygons are missing. Cause: an enhancement does not suit this game. Fix: turn off Widescreen Rendering, PGXP Geometry Correction and MSAA in the game's Properties, or try another Renderer, or the Software renderer.

  • The game is slow. Cause: your graphics card is too weak for the current Internal Resolution. Fix: lower it to 1x or 2x, disable MSAA and extra effects.

  • Sound crackles. Cause: the audio buffer is too small. Fix: increase Buffer Size in Settings > Audio.

  • A controller does not respond. Cause: not mapped or not detected. Fix: reconnect it, then Settings > Controllers > Automatic Mapping. Check that the controller type is Analog Controller if a game uses sticks.

  • Windows says a DLL is missing. Cause: the Visual C++ runtime is out of date. Fix: install the x64 Redistributable from the Microsoft link in Installation.

  • A saved state will not load after an update. Cause: states depend on the version. Fix: load the in-game save instead.

  • macOS refuses to open the app. Fix: System Settings > Privacy & Security > Open Anyway.

Going further

PixelArk only links to official pages. We do not provide BIOS files or keys: dump them from the hardware you own.

Logos are trademarks of their respective owners, shown only to identify each project.