Skip to content

DuckStation is a Sony Playstation 1 emulator.

Website: https://www.duckstation.org/

Github: https://github.com/stenzek/duckstation

Compatibility List: https://docs.google.com/spreadsheets/d/1H66MxViRjjE5f8hOl5RQmF5woS1murio2dsLn14kEqo/edit#gid=0


DuckStation Table of Contents

  1. Getting Started with DuckStation

  2. DuckStation Tips and Tricks


Getting Started with DuckStation

Back to the Top

DuckStation is a fairly straight-forward emulator to set up. Place your ROMs in Emulation/roms/psx. Place your BIOS directly in Emulation/bios. Read the Configuration section to learn more about DuckStation and its folder locations.

To launch your ROMs in game mode, use Steam ROM Manager and use one of the following parsers to play your PlayStation 1 ROMs:

  • EmulationStation-DE
  • Sony PlayStation - DuckStation
  • Emulators

DuckStation Configuration

Back to the Top

  • Type of Emulator: Flatpak
  • Config Location: /home/deck/.var/app/org.duckstation.DuckStation
  • ROM Location: Emulation/roms/psx
  • BIOS Location: Emulation/bios
    • IMPORTANT: Files go directly in this folder. Do not make or use a PSX, PS1, or any sort of folder here. DuckStation will not be able to find your bios files if they are in a folder.
    • Required BIOS (Example set, one per region - US, Europe, Japan): scph5500.bin, scph5501.bin, scph5502.bin
  • Saves: Emulation/saves/duckstation/saves
  • Save States: Emulation/saves/duckstation/states

Note:

Works With

  • Steam ROM Manager
  • EmulationStation-DE

DuckStation Folder Locations

Back to the Top

These file locations apply regardless of where you chose to install EmuDeck (to your internal SSD, to your SD Card, or elsewhere). Some emulator configuration files will be located on the internal SSD as listed below.

$HOME refers to your home folder. If you are on a Steam Deck, this folder will be named /home/deck (you will likely not see deck in the file path when navigating using the file manager).

Paths beginning with Emulation/.. correspond to your EmuDeck install location. If you installed on an SD Card, your path may be /run/media/mmcblk0p1/Emulation/roms/... If you installed on your internal SSD, your path may be /home/deck/Emulation/roms/..

Note: Folders with a . (.var, .local, .config, etc.) at the beginning are hidden by default. In Dolphin (file manager), click the hamburger menu in the top right, click Show Hidden Files to see these folders.

$HOME/.var/app/org.duckstation.DuckStation

org.duckstation.DuckStation/
├── cache
├── config
│   ├── duckstation
│   │   ├── cache
│   │   ├── cheats
│   │   ├── covers
│   │   ├── dump
│   │   ├── gamesettings
│   │   ├── inputprofiles
│   │   ├── playtime.dat
│   │   ├── screenshots
│   │   ├── settings.ini
│   │   ├── settings.ini.bak
│   │   ├── shaders
│   │   └── textures
│   ├── kdeglobals
│   ├── pulse
│   │   └── cookie
│   ├── QtProject.conf
│   └── user-dirs.dirs
└── data
    └── duckstation
        ├── settings.ini
        └── settings.ini.bak

How to Update DuckStation

Back to the Top

How to Update DuckStation

  • Through the Update your Emulators & Tools section on the Manage Emulators page in the EmuDeck application
  • Run Update Emulators & Tools in EmuDeck
  • Launch the emulator from Steam after adding it via the Emulators parser in Steam ROM Manager

How to Launch DuckStation in Desktop Mode

Back to the Top

How to Launch DuckStation in Desktop Mode

  • Launch DuckStation from the Applications Launcher (Steam Deck icon in the bottom left of the taskbar)
  • Launch the script from Emulation/tools/launchers, duckstation.sh
  • Launch the emulator from Steam after adding it to Steam via the Emulators parser in Steam ROM Manager

DuckStation File Formats

Back to the Top

  • .cue and .bin
  • .chd
  • .ecm
  • .iso
  • .m3u
  • .mds
  • .pbp

Configuring DuckStation to work alongside Retroarch's Beetle HW PSX core

Back to the Top

  • ROM files for Retroarch's Beetle HW PSX core are shared with DuckStation in Emulation/roms/psx.
  • BIOS files for Retroarch's Beetle HW PSX core are shared with DuckStation in Emulation/bios (no subfolders).
  • As long as you name your BIOS files in this format: scph####.bin(####'s are a placeholder), Retroarch's Beetle HW PSX core will work alongside DuckStation.
  • Be sure to rename your BIOS files and note the lowercase scph, lowercase bin in the example above.

Note: By default, EmulationStation-DE uses Retroarch's Beetle HW PSX core. Both Retroarch's Beetle HW PSX core and DuckStation should work if you have set everything up properly.

To switch between the two in EmulationStation-DE, you can use the Alternative Emulators feature. Refer to https://github.com/dragoonDorise/EmuDeck/wiki/EmulationStation-DE#how-to-select-a-different-emulator-for-a-system, for instructions.


DuckStation Hotkeys

Back to the Top

DuckStation comes with a Steam Input profile for Hotkeys. Activate the Steam Input profile by clicking the Game Controller icon in Game Mode, change the template to Emudeck - DuckStation. The hotkeys below can only be used if you have the Steam Input profile active.

Long Press to activate hotkeys on the left trackpad radial menu.

Hotkey DuckStation
Save State Left Trackpad Touch Menu
Load State Left Trackpad Touch Menu
Next Save Slot Left Trackpad Touch Menu
Previous Save Slot Left Trackpad Touch Menu
Pause/Play Left Trackpad Touch Menu
Quick Menu Left Trackpad Touch Menu
Swap Disc Left Trackpad Touch Menu
Fast Forward (Toggle) Left Trackpad Touch Menu
Fast Forward (Hold) Select + R2
Rewind Select + L2
Pause Select + A
Toggle Full Screen Select + R3
Quick Menu Start + L3
Load State Select + L1
Save State Select + R1
Next Save Slot Start + R1
Previous Save Slot Start + L1
Increase Resolution Scale Start + DPad Up
Decrease Resolution Scale Start + DPad Down
Toggle Widescreen Start + DPad Right
Toggle PGXP Start + DPad Left
Toggle Software Rendering Start + L3
Exit Select + Start

Note:


DuckStation Tips and Tricks

Back to the Top


How to Optimize Storage (Compression Tool)

Back to the Top

To optimize storage, you can use the EmuDeck Compressor within EmuDeck.

The EmuDeck Compressor will compress your Playstation 1 ROMs from ISO or BIN/CUE to CHD. If your ROM is a BIN/CUE, the Compression Tool will only compress it if you have both the BIN and the CUE files for a ROM. If the ROM is in a zip file or is missing a paired BIN or CUE file, the Compression Tool will not detect the ROM.

After running the EmuDeck Compression Tool, re-run Steam ROM Manager to update your ROM shortcuts to the newly compressed ROM.

Visual Reference:


How to Manage Multiple Discs

Back to the Top

M3U files can be used to manage multiple discs for DuckStation. When the time comes to switch discs, use the Left Trackpad Touch Menu Hotkey. A full list of hotkeys and a tutorial on how to use Steam Input profiles can be found here: #hotkeys.

Learn how to create an M3U File


How to Use Cheats

Back to the Top

  1. While in game, either: press Start and R2 or use the left Trackpad and select the Quick Menu icon
    • Steam Input profiles for PlayStation 1 ROMs and EmulationStation-DE are enabled by default. However, if you do not see the Trackpad menu, see How to Select a Steam Input Profile
  2. Click Cheat List
  3. Select which cheats you would like to use

How to Configure Multiplayer

Back to the Top

Multiplayer for DuckStation is configured out of the box, no additional configuration is needed.

You may need to re-arrange the controller order in Game Mode for your controllers to function as expected. See How to Re-Arrange the Controller Order for more information.


How to Roll Back DuckStation to an Older Version

Back to the Top

  1. In Desktop Mode, open Konsole
  2. To see a list of prior versions of the emulator, type:
    • flatpak remote-info --log flathub org.duckstation.DuckStation
    • Each version will have a long accompanying alphanumeric string (the “commit” code). Copy the string for the version you want to downgrade to.
  3. To downgrade to the version you want:
    • flatpak update --commit=put_commit code_here org.duckstation.DuckStation
    • Replace put_commit code_here with the actual code you located in Step 2.
    • If this line does not work, you may need to type:
      • sudo flatpak update --commit=put_commit code_here org.duckstation.DuckStation