Skip to content

Set Up ES-DE on Windows: A Complete PC Guide

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 files

The 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
wiiu

Once 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\Emulators

Keep 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
Vita3K

Keeping the names clean is important. You generally do not want folders such as:

duckstation-windows-x64-release-v0.1-9999

when:

duckstation

will 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.xml

Open 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-DE

then the complete expected path effectively becomes:

E:\ES-DE\Emulators\azahar\azahar.exe

Your 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\psp

This 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\mlc

Do 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.PUP

After 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\psvita

create a file named after the game, using the .psvita extension.

For example:

Gravity Rush.psvita

Make 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\Emulators

That 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\Saves

Once everything is contained there, the emulator becomes very easy to include in a full ES-DE backup.

Simple64

Inside:

ES-DE\Emulators\simple64

create 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\mGBA

for 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\melonDS

Then 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 Emulator

folder in Windows Documents.

Rename that folder:

User

and move it into:

ES-DE\Emulators\Dolphin-x64

Then create an empty file named:

portable.txt

in 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:

user

and move it into:

ES-DE\Emulators\azahar

That 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\cemu

so 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\PSP

with folders such as:

SAVEDATA
PPSSPP_STATE

That 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\duckstation

Then create:

portable.txt

inside 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\savestates

for 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-Qt

or whichever folder name you have chosen.

Create:

portable.txt

inside 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\ROMs
ES-DE\ES-DE\downloaded_media
ES-DE\ES-DE\gamelists

Together 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.