TL;DR: Setting up a retro handheld is usually pretty simple. The important part is getting the first few decisions right: use a reliable SD card, back up the original setup, identify the right firmware for your hardware, and follow that project's instructions.
Once those are sorted, you're mostly copying files and configuring emulators.
Who this guide is for
You have a retro handheld, or one is on its way, and you want to have an easy to understand step by step guide.
This guide is deliberately firmware-agnostic. The exact installation steps vary between devices and firmware, but the overall process is surprisingly similar.
Think of this as the roadmap:
SD card → firmware → first boot → games → BIOS → saves → troubleshooting
For the exact steps for your device, always follow the firmware project's own documentation. If their instructions differ from this guide, their instructions win.
You'll need:
- Your retro handheld
- A microSD card
- A card reader
- A computer
1. Start with the SD card
Buy a reputable card
Use a reputable, branded microSD card rather than the cheapest card you can find. I use SanDisk for my devices.
128 GB is a good starting point for a typical retro setup. If you're planning to store larger systems or a very large library, you may want more.
Many handhelds ship with generic cards, and replacing them with a good-quality card is one of the simplest upgrades you can make.
Back up the original card
If your handheld came with a microSD card already set up, back it up before replacing or reformatting anything.
The original image that came with the device may not be easy to find again later. Some manufacturers publish firmware downloads, while other stock images are much harder to recover. For example, Anbernic currently provides firmware downloads for the RG35XXSP, but availability and versions change over time.
If you want to be able to return to the original setup, make a full image of the card and store it somewhere safe.
Tools such as Win32 Disk Imager, Raspberry Pi Imager or dd can be used for imaging, depending on your operating system.
2. Choose and install the firmware
Before flashing anything, find out which chipset and exact model your handheld uses.
Firmware is generally built for specific hardware. Even two devices from the same manufacturer can require different images.
This is why you should always download the image for your exact device.
For example, current KNULLI releases provide separate images for different devices, including different Anbernic models.
Don't format the card unnecessarily
Some firmware images create their own partition layout and filesystems when you flash them. Others have specific requirements for the game/storage partition.
Some Firmware might need another format of your SD card (e.g. FAT32,ExFAT etc). Don't simply let your computer format your card, check the firmware documentation first and then decide on the format you need.
Write the firmware image
Download the image from the project's official source and follow its installation instructions.
Depending on the project, you may use tools such as:
- Rufus
- Raspberry Pi Imager
- Win32 Disk Imager
dd
Some projects distribute compressed images such as .img.gz, which need to be extracted or can be handled directly by some imaging tools.
Double-check the target drive before you start.
Writing an image to the wrong drive can erase something you very much wanted to keep.
Check the correct SD slot
Some handhelds have two card slots.
One may be used for the operating system and another for games or additional storage. The names vary by device and firmware.
Check the documentation for your exact model before inserting the card.
3. First boot
Before copying your entire game library, boot the device once.
You want to confirm that:
- The firmware starts
- The display works correctly
- The controls work
- The menus are readable
- The SD card is recognised
- The device doesn't immediately throw an error
Set the language, region, date and time if the firmware asks you to.
Then shut the device down properly.
If everything works at this stage, you have a known-good starting point.
Update - but read the instructions first
Firmware projects change quickly.
A new release may fix bugs, improve compatibility or add features. But an update can also require a full re-image.
So check the project's current release notes before updating.
If an update requires a fresh installation, it's much nicer to discover that before you've copied your entire library and configured everything.
4. Add your games
Now comes the easy part.
Use the folders your firmware provides
Most retro firmware organises games into system-specific folders.
But the exact folder names and structure vary.
Check the documentation for your firmware.
File formats matter
A game can be in the correct folder and still not appear or boot if the emulator doesn't support its format.
Common examples include:
-
Cartridge-based systems using formats such as
.nes,.gb,.gbc,.gba,.sfcor.smc -
PlayStation games commonly stored as
.cue/.binsets or.chd -
Compressed archives such as
.zipor.7z, depending on the emulator
For disc-based systems, don't assume that a single .bin file is enough. A .cue file can contain important information about the tracks on the disc.
CHD can be a convenient format where your emulator supports it because it stores disc images in a compressed form.
Multi-disc games
Games spread across multiple discs need a little extra organisation.
Many emulators/frontends support an .m3u playlist that lists the discs in order. This lets the game appear as a single entry while still giving the emulator access to all of its discs.
The exact setup varies by firmware and emulator, so check the documentation for your particular system.
Refresh the game list
After copying games, refresh or rescan your library if your firmware requires it.
If your firmware supports scraping, you can then add artwork and metadata to your library.
5. BIOS files
Some systems require additional firmware files, commonly called BIOS files, for emulation.
PlayStation is a well-known example.
You don't need to understand exactly how the original console worked to set one up. The important part is that, when your emulator requires a BIOS, three things need to be correct:
- The correct BIOS file
- The correct location
- The correct filename or recognised checksum
A BIOS file being present on the card doesn't necessarily mean the emulator can use it.
Your firmware or emulator documentation should tell you what it expects.
6. Set up saves
Once your games are running, test both types of saving:
In-game saves are the normal save systems built into the game.
Save states are snapshots created by the emulator.
They're useful, but don't treat save states as your only backup.
Your saves and save states are usually stored on the SD card. If the card fails or you re-image it, they can disappear with it.
Before making major firmware changes, back up your saves.
7. Learn the basics before you start playing
There are a few things worth learning before your first long gaming session.
Learn the exit shortcut
Most Linux-based retro firmware uses a button combination to exit an emulator and return to the frontend.
Find out what yours is.
You really don't want your first attempt to end with a forced power-off because you couldn't figure out how to leave the game.
Shut the device down properly
Don't just pull the SD card or switch the device off while it's writing data.
Use the firmware's shutdown option whenever possible.
The same applies when you're working on your computer:
Eject the SD card before removing it.
Unsafe removal can cause filesystem corruption.
Where things usually break
A game is on the card but doesn't appear
Check:
- The folder name
- The file extension
- Whether you've refreshed the game list
If you copied the files from a Mac, also look for unwanted hidden files if your frontend is displaying strange duplicate entries.
A game appears but won't start
Check that the emulator supports the file format.
Then check whether the system requires a BIOS.
Then try another compatible emulator/core if your firmware provides one.
A PlayStation game boots to a black screen
Check the BIOS first.
Make sure you have the correct file in the location expected by your firmware or emulator.
Then check the game image itself and the emulator/core you're using.
The handheld itself boots to a black or white screen
Now you're dealing with the device or firmware rather than an individual game.
Check that you used the image for the exact model and hardware revision.
Some devices have hardware revisions that require different firmware images or configuration files. Follow the firmware project's troubleshooting instructions for your model.
A game runs, but performance is poor
Try:
- Lowering the internal resolution
- Disabling shaders
- Disabling unnecessary visual effects
- Trying the emulator/core recommended for that system
- Checking whether the game is simply beyond what your hardware can comfortably emulate
And sometimes the answer is simply that your hardware is not powerful enough to emulate this game.
The SD card keeps corrupting
Start with the card.
1) Was it tested?
On Windows, H2testw can write data across the card and read it back to verify that the advertised capacity is actually usable. On macOS and Linux, F3 does the same kind of full write-and-verify test.
It's slow on a large card - Start the test and go make coffee. :)
2) Is it a reputable card?
3) Does it pass a full write-and-verify test?
Then look at how you're shutting down the device and whether you're removing the card safely.
If the card is good and you're shutting down correctly, move on to the firmware and hardware-specific troubleshooting.
Getting your games
BIOS files and game ROMs can be copyrighted, and the legal rules around copying and downloading them depend on your jurisdiction and circumstances.
I don't link to ROM or BIOS downloads.
If you own physical games, you can research how to make personal backups or dumps legally where you live. Preservation projects such as No-Intro and Redump can also be useful references for identifying and verifying dumps; No-Intro maintains databases and verification information for ROMs.
Custom firmware is a separate matter. Projects such as muOS and KNULLI are distributed as software projects, and their own documentation should be your source for downloading and installing them.
Where to go next
This guide gives you the general process.
For the exact setup, use a device-specific guide:
- My Retro Game Setup — the devices I actually use and how I choose firmware
- [RG35XXSP + muOS — Complete Setup Guide] — exact installation and configuration for my travel handheld
- [RG350M + ADAM Image — Complete Setup Guide] — setup for my older home handheld
- [Retro Gaming on iPad — Complete Setup Guide] — emulation on the device I already owned instead of buying another one