PlayStation 1 emulation used to mean fiddling with ePSXe plugins and hoping your BIOS dump was the right region. That era is over. DuckStation, the open-source PS1 emulator maintained on GitHub by developer Connor “stenzek” McLaughlin, now ships rolling releases almost weekly, with builds dated as recently as September 6, 2026 in the project’s own release history. It runs on Windows, Linux, macOS, Android, and Steam Deck, and it has quietly become the default choice for anyone who wants Final Fantasy VII, Metal Gear Solid, or Crash Bandicoot running at a clean, stable frame rate on modern hardware.
This tutorial walks through a full DuckStation setup for September 2026: installing it on PC, Steam Deck, and Android, legally sourcing your PS1 BIOS, configuring controllers, dialing in the renderer and PGXP settings, and fixing the errors that trip up almost everyone on their first run. By the end you will have a working library, save states you can trust, and a settings profile tuned to your actual hardware instead of a generic YouTube preset.
Don't miss new tech stories on Google
Add Tech Insider once in the Google app and our stories appear in your news suggestions.
What Is DuckStation and Why It Replaced ePSXe
DuckStation describes itself on its official project page as “a PS1 Emulator aiming for the best accuracy and game support,” and that accuracy-first design is what separates it from the emulators that dominated PS1 emulation a decade ago. Where ePSXe leaned on a plugin architecture that hadn’t seen a meaningful update in years, DuckStation was built from scratch with a recompiler core, native Vulkan and Direct3D 12 renderers, and PGXP geometry correction baked in rather than bolted on.
The practical result: DuckStation setup in 2026 takes about 20 minutes if you already own your PS1 discs, and the emulator handles edge cases (multi-disc RPGs, CD-audio soundtracks, memory card swapping) that used to require third-party tools. Community comparison write-ups circulating in 2026 describe ePSXe as technically outdated next to DuckStation’s active rolling-release model, while ranking RetroArch’s Beetle PSX core as the strongest alternative for players who want PS1 emulation folded into a broader multi-system frontend.
The shift away from plugin-based emulators wasn’t just a stylistic choice. ePSXe and its contemporaries relied on separate GPU and audio plugins written by different authors over different years, which meant accuracy and performance varied wildly depending on which plugin combination you picked. DuckStation folds the entire emulation core, GPU backend, and audio pipeline into one codebase maintained by a single active project, so a fix to timing accuracy or a new renderer feature ships uniformly instead of waiting on a third-party plugin author who may not have touched their code since 2015. That consolidation is also why DuckStation’s GitHub commit history shows activity almost every week of 2026, including refactoring work on GPU statistics reporting logged as recently as May 29, 2026.
DuckStation isn’t listed as an official Steam store title, so you won’t find it in your Steam library through a normal purchase or install. On Steam Deck it’s installed manually or through EmuDeck, which documents DuckStation as a fully supported emulator for SteamOS and adds it to Steam via Steam ROM Manager so it shows up like any other game.
Prerequisites: What You Need Before You Start
DuckStation setup doesn’t demand much hardware. The emulator uses a dynamic recompiler, so it needs a CPU architecture it can target directly: x86_64, AArch32/ARMv7, or AArch64/ARMv8 cover almost every PC, Steam Deck, and modern Android phone in use in 2026. For hardware rendering you need a GPU that supports at least OpenGL 3.1, OpenGL ES 3.0, Direct3D 11 Feature Level 10.0, or Vulkan 1.0, a bar that any graphics card or integrated GPU from the last eight years clears easily.
| Requirement | Minimum | Recommended (2026) |
|---|---|---|
| Operating system | Windows 10 x64, Android 8+, SteamOS 3.x | Windows 11 x64, Android 13+, SteamOS 3.7+ |
| CPU architecture | x86_64, ARMv7, or ARMv8 | Any CPU from the last 5 years |
| GPU / renderer support | OpenGL 3.1 or Vulkan 1.0 | Vulkan 1.2+ or Direct3D 12 |
| Storage | ~200 MB for the emulator | 1-2 GB per disc image, more for multi-disc RPGs |
| PS1 BIOS file | One region-matched dump you own | SCPH-1001 (US) or SCPH-5502 (EU) dumped from your own console |
| Controller | Any USB or Bluetooth gamepad | DualSense, DualShock 4, or Xbox controller with analog triggers |
You’ll also want your own PS1 discs (physical or digitally purchased) to dump ISOs from, a memory card image if you’re migrating saves from another emulator, and roughly 90 minutes if you’re setting this up from a completely clean system, including BIOS extraction and controller mapping. If you’ve already been through this process with a different console, the workflow will feel familiar. Our guide to legally sourcing BIOS files across 12 retro systems covers the same dumping principles DuckStation relies on.
Step 1: Download DuckStation for Your Platform
Go to the official DuckStation website or its GitHub releases page, never a third-party mirror. DuckStation uses a rolling-release model instead of infrequent numbered versions, so the GitHub repository shows the latest build by commit date rather than a traditional version number. As of early September 2026, the project’s release history lists a rolling build dated August 29, 2026, with an earlier tagged build (v0.1-11443) from June 28, 2026, and ongoing commits landing almost daily.
On Windows, download the ZIP or the installer package built for x64. DuckStation also requires the Microsoft Visual C++ runtime, which is the single most common cause of a “the program can’t start because MSVCP140_1.dll is missing” error on first launch. Grab both files from the download page before you do anything else.
# Windows: verify your VC++ runtime is current before launching DuckStation
# Run this in an elevated PowerShell prompt to check installed versions
Get-WmiObject -Class Win32_Product | Where-Object { $_.Name -like "*Visual C++*" } | Select-Object Name, Version
On Android, DuckStation is distributed through the Google Play Store under the developer name “stenzek.” Search for it directly rather than downloading an APK from a random site, since sideloaded builds are a common vector for bundled malware in emulator searches. On Linux, a Flatpak build exists, though EmuDeck’s own documentation flagged the DuckStation Flatpak as unmaintained in late 2025 before the project stepped in to keep the packaging alive, so on Steam Deck the more reliable path is the one covered in Step 3 below.
Step 2: Install and Launch DuckStation on Windows
Extract the ZIP to a folder outside of Program Files. DuckStation is portable by design and writes its settings, save states, and memory cards into the same folder it runs from unless you point it elsewhere, and Windows’ permission model can silently block writes to Program Files, which shows up later as saves that mysteriously vanish between sessions.
- Extract the DuckStation ZIP to a folder like
D:\Emulators\DuckStation - Run the included VC++ redistributable installer first if you don’t already have it
- Double-click
duckstation-qt-x64-ReleaseLTCG.exeto launch the emulator - If Windows SmartScreen flags the executable, click “More info” then “Run anyway” — this is expected for unsigned open-source builds
On first launch, DuckStation opens a setup wizard that asks for your BIOS folder location and preferred renderer. You can skip both for now; the next two steps cover BIOS sourcing and renderer selection in detail. If DuckStation crashes immediately on open with no error dialog, it’s almost always a missing or mismatched VC++ runtime, not a corrupted download.
Step 3: Install DuckStation on Steam Deck via EmuDeck
Steam Deck owners get the smoothest path through EmuDeck, a community installer that configures DuckStation, RetroArch, and a dozen other emulators with Steam Deck-appropriate defaults in one pass. Switch to Desktop Mode, open a browser, download the EmuDeck installer from emudeck.com, and run it.
# Steam Deck (Desktop Mode) — after installing EmuDeck via its GUI installer,
# DuckStation binaries land here by default:
~/Emulation/tools/launchers/DuckStation.desktop
# To add it to Steam Deck's Game Mode as its own tile:
# 1. Open Steam ROM Manager (installed alongside EmuDeck)
# 2. Select DuckStation as the emulator/parser
# 3. Point it at your ROMs directory, e.g. ~/Emulation/roms/psx
# 4. Click "Generate App List" then "Save to Steam"
EmuDeck handles controller mapping automatically for the Deck’s built-in inputs, which saves you the manual binding step that Windows and Android users have to do by hand. Switch back to Game Mode after running Steam ROM Manager, and DuckStation-launched games will appear as individual tiles in your library, complete with artwork if you let Steam ROM Manager scrape it.
Step 4: Install DuckStation on Android
Open the Google Play Store, search “DuckStation,” and confirm the developer listed is stenzek before installing. The Play Store listing itself states plainly that a BIOS ROM image is required and that DuckStation does not provide one for legal reasons, which is the correct and only legal stance for any emulator distributor to take.
Android performance varies more than PC or Steam Deck because phone GPUs differ wildly in Vulkan driver maturity. A Snapdragon 8-series flagship from the last two years should run most PS1 titles at full speed with 2x internal resolution and PGXP enabled. Older or budget chipsets may need to drop to native resolution and disable PGXP’s depth-buffer correction to hold a stable frame rate, a tradeoff covered in the settings table further down. This same platform-fragmentation problem shows up across mobile emulation generally, which is part of why our broader look at mobile gaming trends keeps circling back to GPU driver quality as the real bottleneck, not raw clock speed.
Step 5: Legally Dump and Load Your PS1 BIOS
DuckStation will not run without a BIOS file, and it is not legal for the project to bundle one, since Sony’s PS1 firmware remains copyrighted. Both the official GitHub README and the Play Store listing say the same thing: dump your BIOS from a console you own using tools like Caetla or Unirom, or extract it from a modchipped PS1 or a PS2 that’s backward compatible with PS1 discs.
Region matters more than most first-time users expect. DuckStation will accept a BIOS from any region, but pairing a PAL BIOS with an NTSC game (or vice versa) is the leading cause of the SBI subchannel error that specifically affects PAL discs with hidden anti-piracy sector data. Match your BIOS region to the games you plan to play most, or keep multiple region BIOS files on hand and switch per-game if your library spans regions.
# Expected BIOS folder structure once dumped from your own console
DuckStation/bios/
├── scph1001.bin # US / NTSC-U — most common target for US games
├── scph5502.bin # Europe / PAL
└── scph5500.bin # Japan / NTSC-J
# In DuckStation: Settings > BIOS > BIOS Directory
# Point this at the folder above, then click "Refresh List"
# A green checkmark next to each file confirms DuckStation recognizes it as valid
Once the folder is set, DuckStation auto-detects valid BIOS files by their hash rather than their filename, so renaming a file won’t break detection but a corrupted or partial dump will fail validation and show up as a red X in the BIOS settings panel instead of a checkmark.
Step 6: Rip Your Own PS1 Discs to ISO
DuckStation reads standard BIN/CUE and CHD disc images. If you own physical PS1 discs, ripping them yourself with a tool like ImgBurn (Windows) or a CD-ROM drive with raw-read support preserves the CD-audio tracks that many PS1 games (Final Fantasy VII, Castlevania: Symphony of the Night) use for their soundtracks. A straight file-copy of the data track alone will boot the game but leave you with silence during cutscenes and menus.
CHD (Compressed Hunks of Data) format is worth converting to if storage matters to you. It typically shrinks a PS1 disc image by 40-60% compared to raw BIN/CUE with no quality loss, and DuckStation reads it natively without needing to decompress to a temp file first. The chdman tool bundled with MAME handles BIN/CUE to CHD conversion from the command line.
# Convert a ripped BIN/CUE disc to CHD using chdman (bundled with MAME)
# Run from the folder containing your .cue and .bin files
chdman createcd -i "Final Fantasy VII (Disc 1).cue" -o "Final Fantasy VII (Disc 1).chd"
# Batch-convert an entire folder of PS1 rips on Windows (PowerShell)
Get-ChildItem -Filter *.cue -Recurse | ForEach-Object {
$out = $_.FullName -replace '\.cue$', '.chd'
chdman createcd -i $_.FullName -o $out
}
Step 7: Configure Your Controller
Connect your controller before opening DuckStation’s input settings, whether that’s a DualSense over Bluetooth, an Xbox controller over USB, or a Steam Deck’s built-in sticks. Go to Settings > Controllers, select “Controller Port 1,” and choose “DigitalController” for original PS1-accuracy or “AnalogController” if you’re playing a game that supports the DualShock’s analog sticks natively, which covers most PS1 titles released after 1998.
- Click each PS1 button label (Cross, Circle, Square, Triangle, L1/R1, L2/R2, Start, Select) and press the corresponding button on your physical controller
- Map the D-Pad and both analog sticks the same way if using AnalogController mode
- Enable “Vibration” if your controller supports rumble and the game you’re playing uses it (Ape Escape, Gran Turismo 2)
- Save the profile, then close and reopen a test game to confirm bindings stuck
If your controller isn’t detected at all, check that no other program (Steam’s controller configurator, a competing input utility) is capturing the device first. DuckStation reads raw input through SDL2, and two programs fighting over the same controller is a more common cause of “controller not detected” than a hardware fault.
Once you have a mapping you like, DuckStation stores it as a plain-text profile you can copy to other installs instead of rebinding by hand on every device. This is especially useful if you run DuckStation on both a desktop and a Steam Deck and want identical button layouts on both.
# Example controller binding block from settings.ini (DualSense over Bluetooth)
[Pad1]
Type = AnalogController
Up = SDL-0/DPadUp
Down = SDL-0/DPadDown
Left = SDL-0/DPadLeft
Right = SDL-0/DPadRight
Triangle = SDL-0/Y
Cross = SDL-0/A
Square = SDL-0/X
Circle = SDL-0/B
L1 = SDL-0/LeftShoulder
R1 = SDL-0/RightShoulder
L2 = SDL-0/+LeftTrigger
R2 = SDL-0/+RightTrigger
Vibration = true
# Copy the [Pad1] block from one device's settings.ini into another
# to skip re-mapping a controller you've already configured once
Step 8: Add Games and Organize Your Library
Go to Settings > Game List and add the folder where you’ve stored your ripped ISOs or CHD files. DuckStation scans recursively, so subfolders organized by genre or series work fine. Click “Scan New Files” and DuckStation will read each disc’s header to pull the title, region, and a compatibility hash it can match against its internal game database for per-title settings recommendations.
If a game you added doesn’t show up in the list, the most common cause is an incomplete rip; DuckStation needs both the .cue file and every .bin track it references, and a partial download or interrupted rip will leave a .cue pointing at a track that doesn’t exist. Re-check file integrity before assuming the emulator is broken.
Step 9: Choose Your Renderer — Vulkan, OpenGL, or Direct3D 12
DuckStation supports Vulkan, OpenGL, and Direct3D 12 (Windows only) as hardware renderers, plus a software renderer for maximum compatibility on hardware too old to run any of the above. In 2026, Vulkan is the recommended default across platforms: it has the most active development attention in DuckStation’s codebase, the best multi-threaded command submission, and the most consistent behavior across Windows, Linux, Steam Deck, and Android.
Direct3D 12 is a solid alternative on Windows if you hit a Vulkan-specific bug, since driver-level Vulkan issues do still surface on older GPUs. OpenGL remains the fallback for the widest hardware compatibility but generally trails Vulkan on upscaling performance. If you see a black screen immediately after loading a game, switching renderers in Settings > Graphics is the first troubleshooting step, before you touch anything else.
Step 10: Best DuckStation Settings for Performance vs Quality
PGXP (Parallel/Precision Geometry Transform Pipeline) is DuckStation’s signature feature: it corrects the PS1’s notorious polygon wobble and texture warping by running geometry math at a higher precision than the original hardware, without changing gameplay logic. Turn on “Geometry Correction” as a baseline for every game. Add “Texture Correction” and “Depth Buffer” if you want the cleanest possible 3D, but drop them first if you see visual artifacts in a specific game, since a handful of PS1 titles rely on the original hardware’s imprecision for intentional effects.
| Setting | Budget / Mobile / Steam Deck | Mid-range Desktop | High-end Desktop |
|---|---|---|---|
| Renderer | Vulkan | Vulkan | Vulkan or D3D12 |
| Internal resolution scale | 1x-2x | 3x-4x | 6x-8x |
| Texture filtering | Nearest Neighbor | Bilinear | Jinc / xBR |
| PGXP Geometry Correction | On | On | On |
| PGXP Texture/Depth Correction | Off | On | On |
| Widescreen hack | Off (compatibility risk) | Per-game | Per-game |
Resolution scaling above native isn’t free on every title. Some PS1 games use the framebuffer for effects like reflections or UI positioning that break above certain multipliers, so if a game’s HUD misaligns or a specific effect disappears at 4x, drop back to 2x for that title specifically rather than assuming your settings are wrong across the board.
Step 11: Save States, Rewind, and Memory Cards
DuckStation supports both traditional save states (instant snapshot, load anywhere) and virtual memory cards (in-game saves that behave exactly like the original hardware’s memory cards). Use memory cards for your main playthroughs since they’re portable across emulators and, in DuckStation’s case, can be shared between games the way a real PS1 memory card was. Use save states for quick checkpoints before a difficult boss fight or a risky sequence.
One caveat worth planning around: DuckStation’s rolling-release model means save state formats have changed between builds, most recently tied to a 2026 update that altered how achievement-related state gets saved and restored alongside game state. A save state created on one build isn’t guaranteed to load cleanly on a build from several months later. Memory card saves don’t have this problem since they follow the original PS1 save format, so treat them as your durable save method and save states as short-term conveniences you clear out after each major update.
To migrate memory card saves from another PS1 emulator, DuckStation reads standard .mcr and .gme memory card formats directly through Settings > Memory Cards > Import. This is the same underlying format most PS1 emulators share, so a card built in one emulator will generally read correctly once imported into DuckStation’s memory card manager.
Step 12: Enable RetroAchievements and Cheats
DuckStation includes native RetroAchievements support for supported games, letting you earn the same achievement sets available across other RetroAchievements-compatible emulators. Go to Settings > Achievements, log in with your RetroAchievements account, and enable “Hardcore Mode” if you want achievements to count toward the leaderboard rankings, though hardcore mode disables save states and rewind while active. If you’re curious how DuckStation’s achievement support stacks up against console-native trophy and achievement systems, our comparison of RetroAchievements against Steam, Xbox, and PSN breaks down the coverage differences across 54 supported systems.
Cheat codes live under Settings > Cheats, where DuckStation can import standard PS1 cheat databases in the common GameShark/Action Replay code format. Enable cheats per-game rather than globally, since a cheat left active from a previous session (infinite health, unlimited ammo) carrying over into a new game is a frequent source of “this game feels broken” confusion that has nothing to do with the emulator itself.
DuckStation vs ePSXe vs Mednafen/Beetle PSX: Which Should You Actually Use
All three emulators can play the vast majority of the PS1 library. The differences show up in accuracy, active development, and how each one fits into a broader retro setup. ePSXe was the standard through the 2000s and 2010s, but its plugin-based architecture hasn’t kept pace with DuckStation’s from-scratch design, and community write-ups in 2026 consistently describe it as the outdated option next to actively maintained alternatives. Mednafen‘s Beetle PSX core, most commonly run through RetroArch, prioritizes bit-for-bit hardware accuracy over convenience features, and remains the choice for players building a single frontend across dozens of systems rather than running standalone emulators per console.
| Feature | DuckStation | ePSXe | Beetle PSX (RetroArch) |
|---|---|---|---|
| Active development in 2026 | Yes, rolling releases | Minimal | Yes, via RetroArch/Libretro |
| Native Vulkan/D3D12 | Yes | No | Partial (Vulkan) |
| PGXP support | Full (geometry, texture, depth) | No | Limited |
| Standalone or frontend-based | Standalone | Standalone | Frontend (RetroArch core) |
| RetroAchievements | Yes | No | Yes (via RetroArch) |
| Steam Deck support | Via EmuDeck | Manual, unreliable | Via EmuDeck/RetroArch |
For most players setting up PS1 emulation in 2026, DuckStation is the pragmatic default: standalone simplicity, modern renderer support, and active fixes shipping on a near-weekly cadence. Choose Beetle PSX through RetroArch if you’re already running a multi-system frontend and want one consistent interface across PS1, Genesis, and SNES rather than juggling separate emulator windows.
5 Common Pitfalls When Setting Up DuckStation
- Downloading BIOS files from ROM sites instead of dumping your own. Beyond the legal exposure, third-party BIOS dumps circulating online are a documented source of bundled malware, and a corrupted or tampered dump can cause subtle, hard-to-diagnose emulation bugs that look like DuckStation problems.
- Mismatching BIOS region and game region. Pairing a US BIOS with PAL discs (or the reverse) is the single most common cause of the SBI subchannel error and other boot failures that get mistakenly blamed on a “bad emulator.”
- Cranking internal resolution to the maximum on a handheld or phone. Steam Deck and Android GPUs thermal-throttle fast, and pushing 8x resolution scale on a device built for 2x will tank your battery life and frame pacing simultaneously.
- Treating save states as permanent saves. Because DuckStation’s save state format can shift between rolling-release builds, a state saved today isn’t guaranteed to load after an update months later. Use in-game memory card saves for anything you can’t afford to lose.
- Copying only the data track when ripping a disc. Skipping the CD-audio tracks during a rip will boot the game fine but leave music and voice-acted cutscenes completely silent, a problem that’s often mistaken for an audio driver issue.
Troubleshooting: 8 Common DuckStation Errors and Fixes
- “BIOS image not found” or red X in BIOS settings: Your dump is incomplete or corrupted. Re-dump from your own console with a fresh extraction, and confirm the file size matches a standard PS1 BIOS (512 KB).
- Black screen after loading a game: Switch renderers under Settings > Graphics — try Vulkan first, then D3D12 (Windows) or OpenGL as fallbacks. This resolves the majority of black-screen cases tied to GPU driver quirks.
- Controller not detected: Close any other program capturing input (Steam’s controller layer, third-party mapping tools) before opening DuckStation, then reconnect the controller.
- Audio crackling or stutter: Lower the audio buffer size under Settings > Audio, or switch the audio backend if your platform offers more than one option. Recent DuckStation commits specifically targeted buffer wrap-around bugs in the audio path, so updating to the latest rolling build can resolve this outright.
- Save state won’t load after an update: This is expected behavior when the save state format changes between builds, not a bug. Load your last memory card save instead and rebuild from there.
- Game not showing up in the game list: Check that every .bin file referenced in the .cue is present in the same folder. A missing or renamed .bin will silently fail the scan.
- PAL game gives an SBI error: The disc needs its subchannel data (an .sbi file) alongside the .cue/.bin, since some PAL discs use subchannel-based anti-piracy checks that a standard rip won’t capture without a compatible ripping tool.
- Low FPS on Android or Steam Deck despite decent hardware: Drop internal resolution and disable PGXP’s texture and depth correction first; geometry correction alone costs far less performance than the full PGXP stack.
Advanced Tips: Multi-Disc Games, Shaders, and Custom Configs
Multi-disc RPGs like Final Fantasy VIII or Xenogears prompt a disc-swap dialog automatically when the game requests it in-game, as long as all discs live in the same folder with sequential naming (Disc 1, Disc 2, and so on). DuckStation detects the swap request from the game itself rather than requiring you to manually pause and load a new file, which mirrors how the original hardware worked.
For visual customization beyond PGXP and resolution scaling, DuckStation supports post-processing shader chains under Settings > Display > Post-Processing, including CRT-style scanline and shader effects if you want a more period-accurate look rather than a crisp upscaled image. Recent builds also addressed scanline flicker bugs that had affected some shader combinations, so if you tried this in an older build and saw flickering, it’s worth revisiting on the current rolling release.
If you’re building out a broader retro library alongside PS1, the BIOS-dumping and legal-sourcing principles here carry over directly to systems like the Nintendo 64 or Dreamcast, and our RetroArch BIOS setup guide is a useful reference if you’re expanding into a multi-console frontend rather than standalone emulators per platform. Players who’ve already set up disc-based console emulation on other hardware generations may also want to compare notes with our RPCS3 vs ShadPS4 breakdown for PS3-generation emulation, or our look at Xenia’s Xbox 360 emulation options, since the BIOS/firmware legal-sourcing rules stay consistent across generations even as the technical requirements change.
Texture Replacement and Community Mods
Beyond PGXP and resolution scaling, DuckStation supports texture replacement packs that swap the PS1’s low-resolution, often blurry source textures for hand-remastered or AI-upscaled versions while leaving the underlying game logic untouched. This is a separate feature from internal resolution scaling: resolution scaling sharpens 3D geometry and edges, while texture replacement targets the actual 2D image data drawn onto that geometry, things like character skins, wall textures, and UI elements.
To use a texture pack, enable “Enable Texture Replacements” under Settings > Advanced, then drop the replacement pack’s files into DuckStation’s textures folder inside your per-game data directory. Community-made packs typically exist for popular titles like Final Fantasy VII, Resident Evil, and Silent Hill, and they’re distributed separately from the ROMs themselves, so there’s no legal ambiguity in downloading a fan-made texture pack the way there is with a ROM or BIOS dump. Keep in mind that heavy texture packs increase VRAM usage substantially, so if you’re running DuckStation on a Steam Deck or an older laptop GPU, test performance with a pack enabled before committing to it for a full playthrough.
# Texture replacement folder structure (per-game)
DuckStation/textures/
└── SLUS-00594/ # Game serial code, shown in DuckStation's game properties
├── replacements/ # Drop upscaled/replacement textures here
└── dumps/ # DuckStation writes original textures here when "dump textures" is enabled
# Enable texture dumping temporarily to identify which files a modder's pack expects:
# Settings > Advanced > Texture Replacement > "Dump Textures"
Keeping DuckStation Updated Without Breaking Your Saves
Because DuckStation ships rolling releases rather than infrequent major versions, staying current is generally the right call. It means faster access to bug fixes like the audio buffer wrap-around corrections and scanline flicker fixes covered earlier, but it also means the settings.ini format and save state layout can shift between builds. The safest habit is to back up your memory cards and settings folder before pulling a new build, not because updates are unstable, but because a fresh install pointed at the wrong folder is an easy way to lose a save you didn’t back up.
# Windows: back up DuckStation's user data before updating
# Run from the folder one level above your DuckStation install
$stamp = Get-Date -Format "yyyyMMdd"
Copy-Item -Recurse ".\DuckStation\memcards" ".\DuckStation-backup-$stamp\memcards"
Copy-Item -Recurse ".\DuckStation\savestates" ".\DuckStation-backup-$stamp\savestates"
Copy-Item ".\DuckStation\settings.ini" ".\DuckStation-backup-$stamp\settings.ini"
If you’re on Steam Deck through EmuDeck, EmuDeck’s updater already handles this separation by keeping your ROMs, saves, and BIOS in a dedicated Emulation folder outside the emulator binaries themselves, so pulling a DuckStation update through EmuDeck’s updater doesn’t touch your saves at all. Standalone Windows and Android installs don’t get this protection automatically, which is why the manual backup habit matters more on those platforms.
Building a Complete DuckStation Project: Full Checklist
Here’s the full path from a blank system to a working DuckStation library, condensed into a single reference checklist you can follow in order.
- Download DuckStation from duckstation.org or GitHub (never a third-party mirror)
- Install the VC++ runtime (Windows) or confirm Play Store developer is “stenzek” (Android)
- Launch DuckStation and skip the setup wizard’s BIOS step if you haven’t dumped one yet
- Dump your PS1 BIOS from a console you own, matching the region of your primary game library
- Point Settings > BIOS at your BIOS folder and confirm green checkmarks
- Rip your PS1 discs to BIN/CUE (or convert to CHD) with a tool that captures CD-audio tracks
- Add your ISO/CHD folder under Settings > Game List and scan for games
- Map your controller under Settings > Controllers
- Choose Vulkan as your renderer, enable PGXP Geometry Correction as a baseline
- Set internal resolution and texture filtering based on your hardware tier from the table above
- Import existing memory card saves if migrating from another emulator
- Log into RetroAchievements if you want achievement tracking, and set up per-game cheats as needed
Follow this in order and the entire process, BIOS dumping included, runs about 90 minutes for someone doing it for the first time. Repeat setups on additional devices (adding DuckStation to a second PC or a Steam Deck) take closer to 15-20 minutes once you already have your BIOS and ISOs ready to copy over.
Frequently Asked Questions
Is DuckStation legal to use?
Yes. DuckStation itself is open-source software and legal to download and run. Legality depends on how you source your games and BIOS: dumping discs and BIOS files from hardware you personally own is the legal path, while downloading ROMs or BIOS files you don’t own the rights to is not.
Do I really need a PS1 BIOS file to use DuckStation?
Yes, DuckStation will not boot games without one. It’s a required, low-level piece of firmware that the console itself needs to initialize, and no PS1 emulator can legally bundle it.
Can DuckStation play PS2 games?
No. DuckStation is a PS1-only emulator. PS2 emulation requires a separate emulator built around the PS2’s entirely different hardware architecture.
What’s the real difference between DuckStation and RetroArch’s Beetle PSX core?
DuckStation is a standalone application with its own interface, while Beetle PSX runs inside RetroArch as one core among many. DuckStation generally offers stronger native Vulkan and PGXP support; Beetle PSX is the better pick if you want one unified frontend across many retro systems rather than separate emulator windows.
Is DuckStation officially supported on Steam Deck?
Not as an official Steam store listing, but it is fully documented and supported through EmuDeck, which configures DuckStation with Steam Deck-appropriate defaults and adds it to your Steam library via Steam ROM Manager.
Is DuckStation free on Android?
Yes, DuckStation is free on the Google Play Store, distributed by developer “stenzek.” There’s no separate paid tier.
Will enabling PGXP break my save states?
No, PGXP is a rendering and geometry feature and doesn’t affect save state compatibility. Save state issues come from DuckStation’s rolling-release update cycle, not from PGXP settings.
How do I fix audio stutter in DuckStation?
Lower the audio buffer size under Settings > Audio first, and update to the latest rolling release, since recent builds specifically addressed audio buffer wrap-around bugs that caused stuttering on certain hardware.


