DuckStation Linux Install Guide

DuckStation Linux Install Guide

A PlayStation 1 game image needs an emulator to run on Linux. DuckStation is software that recreates the PlayStation 1 on a computer.

This guide walks through installing DuckStation from its Linux AppImage and completing its first-run setup.

TL;DR

DuckStation’s upstream Linux download is an AppImage for x86_64, ARM32 and ARM64, with Ubuntu 22.04-equivalent system libraries or newer required.

  • Download the matching build from DuckStation’s official latest release.
  • Mark the AppImage executable, then launch it.
  • Provide a BIOS image dumped from a console you own and add your game image folder.

The upstream README lists these requirements. Use its current release page rather than an old package guide.

What Is DuckStation on Linux?

DuckStation is a PlayStation 1 emulator: software that recreates the console so you can run compatible game images on a computer.

The upstream AppImages require a distribution equivalent to Ubuntu 22.04 or newer. For a typical x86-64 desktop, use the standard x64 build when the processor supports SSE4.1. Older supported CPUs can use the SSE2 build.

For another emulator workflow, see the RetroArch Linux install and setup guide.

How to Install and Set Up DuckStation on Linux

Download the architecture-matched AppImage, allow it to execute, then complete DuckStation’s first-run setup. Keep your BIOS and game images in folders you can find again.

  • A Linux system meeting the upstream runtime baseline.
  • A BIOS image for configuration.
  • A game image you are legally entitled to use.

Step 1: Download the matching Linux build

Open the official latest release and choose its Linux AppImage for your CPU architecture. The upstream README identifies the Linux formats and points users to that release page.

On ARM hardware, match the AppImage to the architecture reported by the operating system. A device label alone does not tell you whether its installed userspace is 32-bit or 64-bit.

Step 2: Allow the AppImage to run

An AppImage is a self-contained application file, but Linux still needs permission to execute it. From the directory containing the downloaded file, the upstream command for the x86-64 filename is:

chmod a+x DuckStation-x64.AppImage

Replace the example filename with the one you downloaded. You can also enable executable permission in the file manager’s Properties dialog.

Launch the file from its folder. DuckStation may offer a launcher shortcut on first start.

Before first launch, make a note of where the download and your game files are stored. Keeping those files in a normal user-owned directory avoids confusing a missing file with a permission problem. The AppImage itself can stay in a downloads folder, but moving it later means you must launch it from its new location.

First-run setup has two separate jobs: finding firmware and finding games. A BIOS warning points to the firmware path, while an empty library points to the game directory or an unsupported image. Check one path at a time rather than changing graphics settings before either file is recognized.

Step 3: Point DuckStation to your BIOS

A BIOS is firmware from the original console that the emulator needs to start a game. Dump the image from a console you own. A different region may work, but a mismatch with a game can cause compatibility issues.

Open DuckStation’s setup wizard or settings and use its BIOS configuration to locate your dump. The normal Linux user directory is `$XDG_DATA_HOME/duckstation`, or `~/.local/share/duckstation` when `XDG_DATA_HOME` is unset. Put BIOS files in the app’s configured BIOS directory and verify the displayed active path, especially if you run a sandboxed package.

Do not download firmware from an unofficial ROM site. The emulator’s requirement does not grant permission to distribute Sony firmware.

Step 4: Add a game image and start it

Keep each game image in a dedicated directory, then use DuckStation’s game-directory scan or its open-game control to select that folder or file. The upstream project lists formats including cue/bin, CHD, ISO, ECM, MDS/MDF, CCD and unencrypted PBP. A multi-disc title can also use an M3U playlist.

For a BIN/CUE dump, keep the cue sheet and its track files together so the cue can refer to the expected filenames. If the game appears in the library but will not boot, first check that the image is complete and that the BIOS is detected. This separates a game-file issue from a missing-firmware issue.

Step 5: Map a controller

Connect the controller before opening DuckStation. Open Settings, then Controllers, and select the virtual PlayStation controller.

Try automatic mapping first. Select an incorrect button or stick and press its matching physical input. The upstream project documents digital and analog controllers and per-game configuration.

Fullscreen can suit couch play on a Steam Deck. Its launcher and folder setup differ from these generic AppImage steps. If Linux does not detect the controller, use our Linux gaming controller guide for host-side checks.

Before changing files, identify which stage failed: launching the application, detecting firmware, or loading a game. This keeps a missing BIOS from being mistaken for a broken AppImage.

If a game uses multiple tracks, the cue sheet describes how its BIN files fit together. Opening one track directly can omit audio or other data, so choose the CUE file as the entry point and keep referenced files beside it. CHD packages disc data differently and may be simpler to manage as one file, but use a format DuckStation lists as supported.

For a multi-disc game, an M3U playlist can present the discs as one library entry when the playlist names each image correctly. Keep the playlist and images together, then choose the playlist in DuckStation. If the wrong disc starts, inspect the playlist order and filenames before rescanning.

DuckStation Linux Install: Common Errors

For an AppImage that will not start, check its CPU architecture and execute permission before investigating DuckStation’s first-run settings.

SystemBuild to chooseCheck
Common x86-64 PCx64 AppImageCPU supports SSE4.1 for the normal build
Older x86 PCSSE2 x64 buildExpect lower performance
32-bit ARMARM32 AppImageMatch the operating system architecture
64-bit ARMARM64 AppImageMatch the operating system architecture

If the launch error names a missing shared library, do not download an unofficial dependency bundle. Check the operating system’s supported runtime and use a supported release.

The Flathub packaging repository is archived, so old package instructions do not establish that a current Flatpak is maintained. If you already have a Flatpak installation, check whether its remote still serves the app before changing formats.

DuckStation documents moving data from Flatpak to AppImage. Game directories need to be added again after the switch, so keep a copy of your existing data directory until the new install opens and shows the expected settings and saves.

For a game using LibCrypt protection, the upstream README says a matching SBI subchannel file may be required beside the disc image. Name the SBI file to match the game image and consult the project’s compatibility notes when a title hangs or stops at a particular point.

After setup, confirm DuckStation detects the BIOS and lists a game before changing graphics options. If Linux itself does not detect the controller, follow the Linux gaming controller guide.

Conclusion

The current upstream Linux route is an architecture-matched AppImage, followed by executable permission, BIOS configuration and a game-directory scan. Confirm the CPU and runtime requirements before troubleshooting the game itself.

Use the DuckStation README for current release and setup details, and the RPCS3 Linux guide for another console-emulator installation example.

FAQ

These answers cover the package and first-run questions that tend to remain after installation.

Does DuckStation run on Linux?

Yes. The upstream project provides Linux AppImages for x86_64, ARM32 and ARM64, subject to its documented runtime requirements.

Where do I get a DuckStation BIOS file?

DuckStation does not provide BIOS firmware. Dump it from a PlayStation console you own and configure the emulator to find it.

What game formats does DuckStation support?

The upstream README lists formats including cue/bin, CHD, ISO, ECM, MDS/MDF, CCD and unencrypted PBP.

Why does my DuckStation AppImage not open?

Check that you downloaded the correct architecture, enabled executable permission and meet the documented Linux runtime baseline.

SymptomCheckNext step
AppImage does not startArchitecture and executable permissionDownload the matching build and set its execute bit
Missing BIOS warningConfigured BIOS folder and detected dumpUse a lawful dump from your own console
Game does not appearSupported image format and scanned folderUse Open Game or rescan the directory
Older x86 CPU rejectedSSE4.1 supportTry the upstream SSE2 build
Settings or saves seem misplacedActive user directory in DuckStationCheck `$XDG_DATA_HOME/duckstation` or the app’s data-directory command