whatisgithub

What is duckstation?

stenzek/duckstation — explained in plain English

Analysis updated 2026-06-24

10,140C++Audience · generalComplexity · 2/5Setup · moderate

In one sentence

DuckStation is a fast, accurate PlayStation 1 emulator for Windows, Mac, and Linux that plays PS1 games with optional enhancements like higher resolution, texture filtering, geometry correction, and achievement support.

Mindmap

mindmap
  root((repo))
    What it does
      Runs PS1 games
      Accurate emulation
      Enhancement options
    Interfaces
      Desktop Qt UI
      Fullscreen couch mode
    Graphics Backends
      OpenGL and Vulkan
      Direct3D 11 and 12
      Metal on macOS
    Enhancement Features
      Higher resolution
      Texture filtering
      PGXP geometry fix
    Extra Features
      Save states
      Rewind and runahead
      RetroAchievements
    Requirements
      PS1 BIOS file
      Modern CPU and GPU
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Play PlayStation 1 games on a modern PC or Mac with increased resolution and improved texture quality.

USE CASE 2

Reduce input lag in PS1 games using the runahead feature for a more responsive feel during gameplay.

USE CASE 3

Earn modern achievement badges in classic PS1 games through built-in RetroAchievements integration.

USE CASE 4

Use rewind and save states to practice difficult sections of classic PS1 titles without losing progress.

What is it built with?

C++QtOpenGLVulkanDirect3DMetal

How does it compare?

stenzek/duckstationmamedev/mameraulmur/orb_slam2
Stars10,14010,13810,156
LanguageC++C++C++
Setup difficultymoderatehardhard
Complexity2/54/55/5
Audiencegeneraldeveloperresearcher

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires a PS1 BIOS file dumped from real hardware you own, not included with the emulator for legal reasons.

So what is it?

DuckStation is a PlayStation 1 emulator, meaning it lets you run games originally released for Sony's first PlayStation console on a modern PC, Mac, or Linux machine. It is written in C++ and focuses on accuracy and speed, with a goal of making games playable without needing to tweak hidden settings or workarounds. The project is open source and actively maintained. To use it, you need a BIOS file dumped from an actual PlayStation 1 or PlayStation 2 console. This file is not included with the emulator for legal reasons, and you are expected to obtain it from hardware you own. Once you have that file, you can load game disc images in several common formats, including bin/cue, CHD, MDS/MDF, and others. The emulator has two interfaces: a desktop UI built with Qt, and a fullscreen interface suited to use from a couch with a controller. Both are included in the same download. The hardware renderer supports modern graphics APIs including OpenGL, Vulkan, Direct3D 11, Direct3D 12, and Metal, so it works across platforms and GPU types. It also includes a software renderer for cases where hardware rendering is not available or not wanted. Beyond basic emulation, the project includes a range of enhancement options. You can increase the rendering resolution above the original PlayStation's output, apply texture filtering, use a system called PGXP that corrects geometry wobble common in PS1 games, and apply post-processing shaders. There is also save state support, rewind, runahead (a technique for reducing input lag), cheat code loading, memory card management, video capture, and RetroAchievements integration for earning trophies in classic games. Prebuilt releases are available for Windows 10 or later, Linux as AppImage files, and macOS 13.3 or later. An automatic updater is built in and offers both a stable channel and a more frequent preview channel. The system requirements are modest: any reasonably modern CPU and a GPU from roughly the last ten years should work.

Copy-paste prompts

Prompt 1
I have a PS1 BIOS file and a CHD disc image. Walk me through setting up DuckStation on Windows to run a game with 4x resolution and PGXP enabled.
Prompt 2
How do I configure the runahead setting in DuckStation to minimize input lag in a PS1 fighting game?
Prompt 3
Help me set up DuckStation's RetroAchievements integration so I can earn trophies in classic PS1 games.
Prompt 4
What graphics backend and enhancement settings should I choose in DuckStation for an M2 MacBook to get the best visual quality?
Prompt 5
DuckStation has both a stable and preview update channel. What is the difference and which should I use for daily gaming?

Frequently asked questions

What is duckstation?

DuckStation is a fast, accurate PlayStation 1 emulator for Windows, Mac, and Linux that plays PS1 games with optional enhancements like higher resolution, texture filtering, geometry correction, and achievement support.

What language is duckstation written in?

Mainly C++. The stack also includes C++, Qt, OpenGL.

How hard is duckstation to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is duckstation for?

Mainly general.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.