How to Set Up ES-DE on Windows: A Complete PC Guide
ES-DE is one of the best ways to turn a Windows PC into a clean, console-style retro gaming system. Instead of opening Dolphin for one game, DuckStation for another, PCSX2 for something else, and digging through folders every time you want to play, ES-DE gives you one polished frontend for the entire collection.
The tricky part is getting everything underneath that frontend organized correctly. Windows emulators have a habit of putting configuration files, save states, memory cards, screenshots, and other data all over your C: drive. ES-DE also expects certain emulator folder names and paths, so a perfectly working emulator can sometimes refuse to launch simply because its folder is named differently than ES-DE expects.
This guide solves both problems. We will organize the ROM collection, connect ES-DE to standalone emulators, fix emulator-detection problems, centralize saves where possible, clean up the interface, and finally look at transferring the collection to an Android device without having to scrape everything again.
Part One: Build the ES-DE Library
Start by installing or extracting ES-DE to the drive where you want your collection to live.
If you have a large game library, a secondary SSD or hard drive usually makes more sense than filling the Windows system drive. Your ES-DE installation may eventually contain ROMs, emulators, screenshots, box art, videos, metadata, save files, save states, and other media, so the folder can grow considerably.
A simple structure might eventually look like this:
ES-DE
├── Emulators
├── ROMs
├── ES-DE
│ ├── downloaded_media
│ └── gamelists
└── other ES-DE filesThe idea is to keep as much of the entire setup as possible beneath one master ES-DE directory.
Organize Your ROM Folders
ES-DE uses specific folder abbreviations for each supported system. Rather than moving every possible system folder into your active library, take only the ones you actually plan to use.
The original setup uses the folders contained under ROMs_ALL. If you are unsure what an abbreviation means, check the included systems.txt file. It provides the system names corresponding to the ES-DE folder names.
For example, your active ROM directory might contain:
gb
gba
gc
n64
nds
ps2
psp
psvita
psx
snes
wii
wiiuOnce you have the right folders in ROMs, place your games into their respective directories. Do not randomly rename ES-DE’s system folders, because the frontend relies on those names when identifying platforms.
Put Your Standalone Emulators in One Place
Next, create or use:
ES-DE\EmulatorsKeep each standalone emulator in its own clearly named folder. The source setup includes applications such as:
azahar
cemu
Dolphin-x64
duckstation
Eden
melonDS
mGBA
PCSX2-Qt
PPSSPP
simple64
snes9x
Vita3KKeeping the names clean is important. You generally do not want folders such as:
duckstation-windows-x64-release-v0.1-9999when:
duckstationwill do.
This becomes especially important because ES-DE uses predefined search rules to locate emulators.
Choose the Emulator for Each System
Open ES-DE and press Start on your controller.
Go to:
Other Settings → Alternative Emulators
Here you can decide which emulator launches each platform.
The setup described in the source uses combinations such as:
- mGBA for Game Boy Advance
- Dolphin for GameCube and Wii
- Azahar for Nintendo 3DS
- Simple64 for Nintendo 64
- melonDS for Nintendo DS
- PCSX2 for PlayStation 2
- DuckStation for PlayStation
- Vita3K for PlayStation Vita
- PPSSPP for PSP
- Snes9x for Super Nintendo
You can still use RetroArch for systems where you prefer it. One of ES-DE’s biggest strengths is that the player never really needs to care what emulator is running underneath the frontend once everything is configured.
When ES-DE Cannot Find Your Emulator
This is probably the most important Windows-specific fix in the guide.
ES-DE uses an XML file containing rules that tell it where supported emulators are expected to live.
That file is located at:
ES-DE\resources\systems\windows\es_find_rules.xmlOpen it in a text editor such as Notepad.
Search for the emulator you are trying to configure. The entries are arranged alphabetically, which makes this fairly easy.
For example, an Azahar entry may contain a path resembling:
<emulator name="AZAHAR">followed by something like:
%ESPATH%\Emulators\azahar\azahar.exe%ESPATH% represents the root of your ES-DE installation.
If your ES-DE directory is:
E:\ES-DEthen the complete expected path effectively becomes:
E:\ES-DE\Emulators\azahar\azahar.exeYour emulator folder does not necessarily have to match the first entry listed. Some emulators have several accepted paths. You only need your folder and executable layout to match one of them.
This is why stripping version numbers and unnecessary text from emulator folder names can solve so many ES-DE launch problems.
The source also suggests editing the relevant detection rule when using certain alternative Switch emulators so that the expected path points to the emulator actually installed. Because emulator availability and support can change, make a backup of es_find_rules.xml before editing it manually.
Configure the ROM Path Inside Every Emulator
Once ES-DE knows where the emulators are, launch each standalone emulator normally and make sure it knows where its games live.
For example:
DuckStation → ES-DE\ROMs\psx
PCSX2 → ES-DE\ROMs\ps2
Dolphin → ES-DE\ROMs\gc
Dolphin → ES-DE\ROMs\wii
PPSSPP → ES-DE\ROMs\pspThis may seem redundant because ES-DE is already launching the game, but configuring the emulator itself correctly makes troubleshooting much easier.
If the game launches directly through DuckStation but fails through ES-DE, you know the ROM itself and DuckStation are probably fine. You can then concentrate on the ES-DE launch configuration.
A DuckStation Troubleshooting Note
The original setup notes an instance where DuckStation briefly opened and then immediately closed when launched through ES-DE. The exact cause was never identified, so this should be treated as a troubleshooting possibility rather than a universal fix.
If you encounter similar behavior, useful things to check include:
- Remove and re-add the PS1 ROM directory inside DuckStation.
- Try launching a game without automatically loading an old save state.
- Make sure DuckStation’s BIOS directory is configured correctly.
- Confirm that the game launches directly inside DuckStation before troubleshooting ES-DE.
Wii U Libraries: WUA Makes Life Easier
For Wii U games, the source recommends the WUA format.
One advantage is that you avoid storing a game as tens of thousands of tiny files, which can make library handling considerably messier. A more compact single-file structure is much easier for a frontend to scan and manage.
Cemu also uses an important mlc directory containing user data and saves. Keep track of it.
A clean arrangement would be:
ES-DE\Emulators\cemu\mlcDo not casually delete or replace that directory when updating or moving Cemu.
Adding Vita3K
Vita3K requires its firmware components before you can use it normally.
The source identifies:
PSP2UPDAT.PUP
PSVUPDAT.PUPAfter Vita3K is configured, games can be installed through its installation interface.
The next problem is getting those installed games to appear inside ES-DE, because Vita3K does not work like a traditional emulator where ES-DE simply opens a ROM file.
Making Vita3K Games Appear in ES-DE
First install the game normally in Vita3K.
Then locate the game’s Title ID.
Inside:
ES-DE\ROMs\psvitacreate a file named after the game, using the .psvita extension.
For example:
Gravity Rush.psvitaMake sure Windows has not secretly left .txt on the end.
Inside the file, put the game’s Title ID.
That filename becomes the name ES-DE displays, while the ID tells the frontend which installed Vita3K game it should launch.
Repeat the process for each Vita title you want to add.
Part Two: Keep Your Saves Inside the ES-DE Setup
This is one of the best improvements you can make to a Windows emulation setup.
Without any planning, one emulator stores saves in Documents, another uses AppData, another keeps everything beside the executable, and yet another creates a completely different user directory. Before long, backing up your gaming collection means hunting through half of Windows.
Where the emulator permits it, we are going to bring that data back under:
ES-DE\EmulatorsThat makes the collection far more portable and drastically easier to back up.
Snes9x
Snes9x can keep save files and save states within its emulator directory.
A simple location is:
ES-DE\Emulators\snes9x\SavesOnce everything is contained there, the emulator becomes very easy to include in a full ES-DE backup.
Simple64
Inside:
ES-DE\Emulators\simple64create dedicated folders for normal saves and save states.
Then open Simple64 and go to its core/video settings. Set:
SaveStatePath
and:
SaveSRAMPath
to the folders you just created.
The important point is not the exact folder name; it is that those folders now live inside the portable ES-DE structure.
mGBA
Open:
Tools → Settings → Paths
Create folders underneath:
ES-DE\Emulators\mGBAfor the data you want centralized, including save states, screenshots, cheats, and other files.
Then enter those paths into mGBA.
melonDS
The same basic idea works with melonDS.
Create folders for:
- Saves
- Save states
- Cheats
under:
ES-DE\Emulators\melonDSThen open:
Config → Path Settings
and point melonDS toward those new locations.
Dolphin: Make It Portable
Dolphin is one of the more useful emulators to convert into a portable installation.
The source setup begins by locating the existing:
Dolphin Emulatorfolder in Windows Documents.
Rename that folder:
Userand move it into:
ES-DE\Emulators\Dolphin-x64Then create an empty file named:
portable.txtin the same Dolphin directory.
This lets Dolphin keep its user data with the emulator rather than relying on the normal Windows Documents location.
The source setup places relevant Dolphin save information within the resulting Dolphin folder structure.
Azahar
The source setup handles Azahar by locating its user data under the Windows Roaming AppData directory.
Find the Azahar folder, rename it:
userand move it into:
ES-DE\Emulators\azaharThat brings the emulator’s user data into the larger ES-DE structure.
Cemu
Cemu’s important mlc folder contains save and user data.
Keep it beneath:
ES-DE\Emulators\cemuso it remains part of your backup.
PPSSPP
The portable version of PPSSPP already works nicely with this strategy.
Its PSP data is normally stored beneath:
ES-DE\Emulators\PPSSPP\memstick\PSPwith folders such as:
SAVEDATA
PPSSPP_STATEThat means both normal PSP saves and save states remain within your ES-DE emulator directory.
DuckStation: Portable Setup
DuckStation can also be moved toward a self-contained configuration.
Locate its existing Windows user-data folder and copy the contents into:
ES-DE\Emulators\duckstationThen create:
portable.txtinside that directory.
Open DuckStation and inspect:
Settings → Folders
Make sure the relevant paths now point back into the portable DuckStation folder.
The source setup uses locations such as:
duckstation\memcards
duckstation\savestatesfor PlayStation memory cards and save states.
PCSX2: Portable Setup
PCSX2 follows a similar process.
Take the existing PCSX2 user files from the Windows location and place them into:
ES-DE\Emulators\PCSX2-Qtor whichever folder name you have chosen.
Create:
portable.txtinside the main PCSX2 directory.
Then open PCSX2 and inspect its folder settings to make sure everything points into your ES-DE installation.
RPCS3
According to the source setup, RPCS3 is already largely self-contained.
Save states can be found inside its own structure, while normal save data can be accessed through:
Manage → Save Data
That means there is less work required to bring RPCS3 into this portable-style layout.
Vita3K
Vita3K is similarly self-contained in the source setup.
To locate save data, right-click a game inside Vita3K and use:
Open Folder → Saved Data
The source notes that Vita3K does not use save states in this setup.
Part Three: Make ES-DE Look Better
Once the technical side is working, spend a few minutes making ES-DE pleasant to use.
The original configuration uses the Iconic theme with:
- Theme Variant: Textlist
- Color Scheme: Classic – Dark
Under:
Game Collection Settings → Automatic Game Collections
enable:
- Favorites
- Last Played
Then under the UI settings, the source setup uses:
System on Startup: Favorites
and:
Startup View: Gamelist
This gives you immediate access to the games you actually care about instead of making you browse an enormous collection every time ES-DE starts.
The source also sorts systems by:
Manufacturer, Release Year
and disables some of the extra system-status information for a cleaner interface.
Turning on star markings for favorites also makes a large collection much easier to scan.
Scraping Box Art Without Destroying Your Game Names
ES-DE’s scraper can save an enormous amount of time by downloading artwork, descriptions, release dates, publishers, and other metadata.
It can also occasionally identify a game differently than you would prefer.
If your filenames contain tags such as:
(USA)you may want to clean them before performing a large scrape.
The source setup used a bulk-renaming utility to clean filenames and then disabled Game Names under the scraper’s content options. That allows ES-DE to retrieve artwork and metadata without overwriting the names you already organized.
If ES-DE finds poor cover art for an individual game, you can manually replace that image in the appropriate downloaded_media folder while preserving the expected filename.
Part Four: Moving Your ES-DE Library to Android
Once you have spent hours organizing a collection on your PC, the last thing you want to do is repeat all of that work on an Android handheld.
Fortunately, much of ES-DE’s frontend information can simply be transferred.
The source identifies three especially important parts of the collection:
ES-DE\ROMsES-DE\ES-DE\downloaded_mediaES-DE\ES-DE\gamelistsTogether they contain your games, downloaded artwork, and game-list metadata. The gamelist files can also preserve information such as descriptions, release years, publishers, and emulator selections.
Copying these to an Android ES-DE installation can save you from rebuilding and re-scraping the entire collection.
You will still need the appropriate Android emulator applications or RetroArch cores installed on the destination device. A Windows copy of Dolphin obviously does not become an Android version of Dolphin simply because you copied the folder.
What you are transferring is the organized library and frontend data.
Updating an Android Handheld Later
Once the initial Android setup exists, future updates can be much smaller.
If you add several games to one system on your PC, you do not necessarily need to rebuild the entire handheld collection. Copy the new ROMs along with the corresponding metadata and artwork for that system.
That lets the PC remain your primary library-management machine while the handheld receives the finished results.
It is often easier than asking the handheld to scrape hundreds of games from scratch every time something changes.
The End Result
When everything is finished, ES-DE becomes the part of your emulation setup you actually interact with.
You choose PlayStation, select a game, and DuckStation opens. Pick PlayStation 2 and PCSX2 launches. GameCube goes into Dolphin, PSP opens through PPSSPP, Nintendo DS uses melonDS, and the player never has to dig around the Windows desktop hunting for executables.
Even better, much of the setup now lives under one master folder.
Your ROMs are organized. Your emulators are organized. A large portion of your saves and save states are organized. Artwork and metadata are together. And when it is time to back everything up, you know where the important files are instead of searching through Documents and AppData trying to remember which emulator put what where.
That is where ES-DE really earns its place. It does not replace your emulators. It turns a collection of separate emulators into something that feels like one enormous gaming system.
Retro Replay Retro Replay gaming reviews, news, emulation, geek stuff and more!

