
Last updated: 31DEC2024 (see Changelog for details)
The Retroid Pocket handhelds are seemingly simple devices to set up — they run on Android, so how hard could it be? Well it turns out there are some orientation quirks in getting these handhelds up and running, and so this guide is meant to take you from the very beginning of your journey with the device and take you to the point of being a superstar.
This guide will work for a number of Retroid Pocket devices. The major difference will be the performance for each, which can be summarized in the table below:

I have video reviews for each device on my YouTube channel, which you can find either by checking out my Retroid Pocket playlist or the embedded videos below.
Are the Retroid Pocket devices pre-loaded with games? No, the devices ship as a general Android phone or tablet, with only essential apps (Play Store, Chrome, etc.) pre-installed. You are on your own to find the emulated game files (ROMs) to play on this device. There are no copyrighted files on this website.
Table of Contents
Where to buy
Recommended accessories
Prepare your ROM library
Initial setup and orientation
Install emulators and other apps
Turnip drivers
Updating your apps
Adding your games
Setting up RetroArch
Per-system recommendations
Consider a fancy frontend
Sync your saves with Syncthing
Linux options
Try out Winlator
Retroid Pocket Mini Frame Pacing
Increase screen saturation
Changelog
Where to buy
All models are sold directly via Retroid’s website. I would expect at least two weeks from the time of purchase to delivery, but that fulfillment may be delayed due to high demand. You can check their delivery dashboard to get a sense of what they are currently shipping, but bear in mind that this dashboard is not always up to date.
There are also listings on Amazon, many of them sold by Retroid themselves, but bear in mind that there will be a price markup. However, this might be a good solution if you don’t want to wait for it to ship from China, or you want to have easier returns in case something goes wrong with the device.
Recommended accessories

I recommend using a card from reputable brands like SanDisk or Samsung for the most consistent experience.
In general, I recommend the cards listed below, in order or preference. The prices fluctuate all the time, so keep an eye out for deals. A 128GB or 256GB card will allow you to load EVERY 8-bit and 16-bit game out there, just all of the arcade games that work, and quite a few PS1, Dreamcast, PSP, GameCube, PS2, and Sega CD games (those systems have the largest file sizes). A 512GB or 1TB card will allow you to store even more of those larger games.
128GB cards:
Samsung EVO Select
SanDisk Ultra
256GB cards:
Samsung EVO Select
SanDisk Ultra
512GB cards:
Samsung Evo Select
SanDisk Ultra
1TB cards:
Samsung Evo Select
SanDisk Extreme
SanDisk Ultra
Lexar Play


If you don’t have a nice microSD to USB adapter, you might want to think about getting one. A nice adapter like this one from Anker will give you the fastest transfer speeds possible, and can be used with USB-A or USB-C ports.
Additionally, the Retroid Pocket devices double as a pseudo home console, thanks to its HDMI output function as well as the ability to connect to controllers via bluetooth or USB. The HDMI adapter is smaller than the standard size, so you will either want to grab a micro HDMI cable like this one from Amazon Basics, or a micro HDMI adapter to use with an existing cable. The Retroid Pocket 4 Pro, Retroid Pocket Mini, and Retroid Pocket 5 provide video out via USB-C, so you would want to use one of these adapters or their USB dock.

Speaking of controllers, there are plenty of options out there, but I prefer to use something that’s somewhat retro-friendly. You could use a bluetooth controller like the 8BitDo SN30 Pro, or a wired controller like the Betop BD2E. Note that in order to use a USB controller, you will also need an OTG adapter to plug the controller into the device’s USB-C port. You could also use a USB hub to plug in multiple controllers at once, but note that if the controller requires USB power you will likely need to get a powered USB hub like this one.
Prepare your ROM library
Since the Retroid Pocket devices can take a while to ship, I would recommend that you build your ROM library now, if you haven’t already.
Here is a general list of systems that can be played on the Retroid Pocket devices. For older Retroid handhelds (RP3+/Flip/2S), I recommend getting PAL region ROMs for PS2/GameCube, because they cap out at 50Hz which will give you better performance than struggling to reach the standard 60Hz found in NTSC region ROMs. The NTSC versions should be fine for the RP4/RP5 generations. ROM file sources will not be shared on this website.
Home Consoles:
Atari 2600, 5200, etc
Atari Jaguar
Colecovision
Panasonic 3DO
PC Engine (TurboGrafx-16)
PC Engine CD (TurboGrafx-CD)
NES / Famicom Disk System
Super Nintendo
Nintendo 64
Nintendo GameCube
Nintendo Wii
Nintendo Wii U
Sega Master System
Sega Genesis
Sega CD / 32X
Sega Saturn
Sega Dreamcast
Sony PlayStation
Sony PlayStation 2
Handheld Consoles:
Atari Lynx
Game & Watch
Nintendo Game Boy
Nintendo Game Boy Color
Nintendo Game Boy Advance
Nintendo DS
Nintendo 3DS
Nintendo Switch
Nintendo Virtual Boy
Sega Game Gear
Sony PSP
Neo-Geo Pocket / Color
Wonderswan / Color
Home Computers:
Amiga
Amstrad CPC
Atari ST
Commodore 64 (and C16/Plus4, C128)
Intellivision
MSX
PC (DOS)
ScummVM
ZX Spectrum
Arcade Systems:
MAME
Final Burn Neo
Neo-Geo / CD
Atomiswave
Naomi
When organizing ROM files, I recommend using the “No-Intro” naming convention, which is the standard naming used for ROM sets within RetroArch and other emulation communities. By using no-intro naming, you will be more likely to get box art automatically added when you load up your games in RetroArch or most frontends. If you have a question as to how a game should be named, I recommend checking out the Libretro thumbnails directory, which is what many emulators pull from for their media files. If your game name matches the thumbnail name found in this directory, chances are that it will properly download the media for it.
Additionally, an important component of a ROM library is maintaining BIOS files. BIOS files are system files necessary for some emulators (GBA, Sega CD, or PS1/PS2), and are helpful in improving accuracy with other systems. These files are also copyrighted. Note that PS2 BIOS files can be easily extracted from the PS3 firmware file following my guide. Here is more information about BIOS files.
Recommended BIOS files:
GAME BOY / COLOR:
gb_bios.bin
gbc_bios.bin
GAME BOY ADVANCE:
gba_bios.bin
SWITCH:
prod.keys
PLAYSTATION 1 (many options!):
scph5501.bin
PLAYSTATION 2 (many options!):
SCPH-70012.bin
PS VITA:
PSP2UPDAT.PUP
PSVUPDAT.PUP
SEGA CD:
bios_CD_E.bin
bios_CD_J.bin
bios_CD_U.bin
SATURN:
sega_101.bin
mpr-17933.bin
DREAMCAST:
dc_boot.bin
NEO GEO (also place in Neo Geo ROM folder):
neogeo.zip
TURBOGRAFX-CD:
syscard1.pce
syscard2.pce
syscard3.pce
Community compatibility sheets: if you want to see how specific games run on any older Retroid device, I would recommend checking out its corresponding community compatibility sheet. This will also provide tips and tricks to get the best performance for each game too, so if you are struggling with any certain game/emulator, this will be an excellent resource.
Retroid Pocket 2+/3
Retroid Pocket 2S
Retroid Pocket 3+/Flip
Retroid Pocket 4 (Odin Lite sheet, same processor)
Retroid Pocket 4 Pro
Initial setup and orientation
When it comes to initial setup, the setup process will generally be the same, since these are all Android devices. We’re going to focus on the Retroid Pocket 5 in this guide but it will apply to the other devices. The general process is to:
- Set up Android
- Install apps via the Play Store
- Side-load apps via Obtanium
- Add games and BIOS files
- Configure each emulator
- Tie everything together with a frontend
Let’s take it one step at a time, with setting up Android first.

When first starting your Retroid device, it will have you go through some initial setup for WiFi, time zone, etc. There is also a screen that will pre-install emulators and apps for you — I recommend skipping most of these because we are going to install our own (more recently updated) versions in a moment. However, if trying to run GameCube on the Retroid Pocket 3+/2S, I recommend installing the “Dolphin for Handheld” emulator that can be pre-installed on your device during the initial setup. This app provides an excellent mix of accuracy and performance, and allows for easy adjustment of the resolution to below-native figures.
Once you have gone through the first setup screens, I recommend restarting the device once before going further. Once you have restarted, go to Settings > System > Updates and run a system update so you are using the most recent version of the Retroid image. Then, you can go into Settings > Handheld Settings and adjust them as shown in the guide video.
I recommend the Xbox ABXY button layout since it will work natively with Android games and streaming apps. While in the Settings menu, also go to Display > Screen timeout and change the timeout from 1 minute of inactivity to something more reasonable (I personally set mine to 30 minutes), and turn off notifications by enabling “do not disturb” mode. Finally, within the Security settings you can disable the need to swipe the screen every time you wake the device from sleep.
Remove the white bar: when playing games, you will see a faint white bar on the right side of the screen. This is a menu bar that you can swipe from the right to access things like the Key Mapper tool or adjust the screen brightness on the fly. If you would like to disable this, swipe down from the top of the screen and turn OFF the “Floating Icon” option. Note that this will disable the right menu bar (and those handy functions) as well.
Sleep mode: The Retroid Pocket devices can enter sleep mode by tapping the POWER button, much like a tablet or phone. And like with a tablet or phone, you could simply leave this device in sleep mode when not using it, and it will slowly discharge over the period of a week or two. However, if you are playing the device frequently (like every day or a few times a week), I recommend just keeping it in sleep mode and charging it as needed, like you would a phone. Powering on the device takes quite a bit of time, which can add up if you play the device often. When not using the device for an extended period of time, be sure to fully power it down.
Install emulators and other apps
The process for installing apps is simple: grab what you can from the Play Store, then load the rest yourself using an app called Obtanium.
After your initial Android set up, you can jump into the Google Play Store app and start downloading emulators and games. You’ll need a Google account, much like any other Android device. Here are some recommended apps that I think are worth grabbing from the Play Store to get you started. Some apps (like RetroArch) have Play Store versions but they are out of date, and it’s best to grab them directly from the source. For those apps, you can download each of them manually, or use a tool called Obtanium to download them all at once.
On Play Store:
Duckstation (free) -- PS1
Mupen64Plus FZ (Pro version) -- N64
Yaba Sanshiro 2 (Pro version) -- Saturn
Redream (free, in-app upgrade) -- Dreamcast
DraStic (free) -- Nintendo DS
PPSSPP (Gold version) -- PSP
Syncthing-Fork (free) -- save syncing (guide)
Not on Play Store:
RetroArch (Aarch64 nightly) -- classic systems
Dolphin (dev build) -- GameCube & Wii
Dolphin forks -- GameCube & Wii
MelonDS (nightly) -- Nintendo DS
Lime3DS -- 3DS
Citra MMJ -- 3DS
Vita3k -- PS Vita
Cemu -- Wii U
NetherSX2 (see note below) -- PS2
Winlator -- Windows
Streaming apps:
NVIDIA GeForce Now (PC cloud streaming)
Shadow PC (PC cloud streaming)
Moonlight (PC remote play)
AMD Link (PC remote play)
Steam Link (PC remote play)
Parsec (PC remote play)
PXPlay or Chiaki (PS4 & PS5 remote play)
Xbox or XBXPlay (Xbox remote play)
Apps that are not in the Play Store have to be downloaded manually and then side-loaded, which simply means you install them yourself. It’s an easy process. You can do this manually, by navigating to this guide on your Retroid’s web browser, then tapping on each link to go to the download page for that app. Once downloaded, find the app in your Downloads folder, tap on it, and it will install.

My preferred way to side-load apps is Obtainium. This app will check the app versions on your device, and notify you when a new version is available, and you can update that app directly within Obtainium too. There is also a handy update script that will auto pull the apps for you into Obtainium.
To get started, download the latest Obtanium release (the arm64 apk version) and install it on your device. Next, download the latest json script and save it you your device. Open Obtanium, tap on “import/export” then “Obtanium import” and find the json file you downloaded. It will show you a list of emulators you can download and install — choose one, then tap on the “install” button at the bottom of that screen; repeat for other apps as needed.
RP2+/3 | RP3+/RP2S | RP4/Pro | RP5/Mini | |
Retro systems | RetroArch | RetroArch | RetroArch | RetroArch |
PSX | DuckStation | DuckStation | DuckStation | DuckStation |
N64 | Mupen64Plus FZ | Mupen64Plus FZ | Mupen64Plus FZ | Mupen64Plus FZ |
Saturn | Yabasanshiro 2 | Yabasanshiro 2 | Yabasanshiro 2 | RA (Beetle) |
Dreamcast | Redream | Redream | RA (Flycast) | RA (Flycast) |
NDS | DraStic | DraStic | DraStic | DraStic |
N3DS | Citra MMJ | Citra MMJ | Lime3DS | Lime3DS |
PSP | PPSSPP | PPSSPP | PPSSPP | PPSSPP |
PS Vita | N/A | N/A | Vita3k | Vita3k |
PS2 | N/A | NetherSX2 3668 | NetherSX2 3668 | NetherSX2 3668 |
GameCube | N/A | Dolphin forks | Dolphin | Dolphin |
Wii | N/A | Dolphin forks | Dolphin | Dolphin |
Wii U | N/A | N/A | N/A | Cemu |
Switch | N/A | N/A | Yuzu (Android 10 build) | Yuzu |
Individual app recommendations:
For RetroArch, I recommend using the nightly build. Once you have installed the app, I strongly recommend going through my RetroArch Starter Guide to orient you to the platform itself. I consider this to be a necessary part of the process when it comes to mastering emulation on an Android device, particularly for retro games. It has a learning curve to it, but once you get the hang of it, you can use these skills for a variety of devices that use RetroArch. The Retroid starter guide video will show you the very basics to get started.
Regarding Dolphin (GameCube and Wii), most games will run well at a 2x (RP4/Pro) or 3x (RP5/Mini) upscaled resolution with the Vulkan backend. If you run into issues, try toggling ON the Graphics > Hacks > Skip EFB Access from CPU option. On older Retroid devices, there are several forks that may give better performance with certain games over the official app, but will introduce hacks to get them working. I would recommend using those forks only if the official app’s performance is not to your liking, especially for the RP3/3+/2S. The MMJR 11505 (final) and MMJR2 17878 versions are generally the best among that group.
For PS2 emulation, I recommend NetherSX2, following this video guide. NetherSX2 is a community project to bring some non-performance updates to AetherSX2, whose development has been discontinued. There are two options: NetherSX2 “patch” (4248) and NetherSX2 “classic” (3668). The installation process for each is the same — just download the latest GitHub release to a Windows PC, and then run the batch file. It will download AetherSX2, patch it, and output a new NetherSX2 apk file. Note that performance between the 3668 and 4248 versions can vary — some games just run better on one over the other (for example, Sly Cooper runs better on 3668). Sadly, you can’t have both installed on the device at the same time, so you will have to swap between the two. For the Retroid Pocket 4 Pro and the Retroid Pocket 5/Mini devices, I have found that NetherSX2 Classic (3668) generally provides more stable performance.
The main Nintendo Switch emulator (Yuzu) stopped development and removed from general availability, and you will have to find the app on your own if you want to try it out. There are other forks like Sudachi as well, although they will only sometimes produce performance benefits beyond the last (March 4th 2024) build of Yuzu.
The standalone Yabasanshiro app generally has the best Sega Saturn performance, at the expense of some accuracy. For the Retroid Pocket 5/Mini, I recommend the Beetle Saturn core within RetroArch, which is highly accurate. This is a similar setup with Dreamcast; the Redream app’s auto-frameskip can sometimes help with performance on lower-end hardware, but the RetroArch Flycast core is excellent if you have the power to use it.
If you’d like to try out running native Pico-8 via the Winlator app (which creates a Windows container to launch the app), check out this written guide.
Turnip drivers
When using a Snapdragon-based handheld like the Retroid Pocket 5 or Retroid Pocket Mini, you can install third-party (“Turnip”) drivers to certain emulator apps to improve compatibility and performance. Emulators that support this feature include Dolphin, Lime3DS, Vita3K, and Yuzu (plus its forks). I find it to be a necessity for PS Vita and Switch emulation, but rarely provides a benefit with Dolphin or Lime3DS.
There are several versions of these drivers available from the main repository, and they are being updated all the time. However, keep in mind that the most updated drivers may not be the best for your device — it’s all very specific to the GPU found in each Snapdragon chip. For the Snapdragon 865 (found in the RP5 and RP Mini), these are the drivers I have had the most success with (in order):
v24.3.0 Revision 9v2
v24.1.0 Revision 18 (A6XX fix)
v24.1.0 Revision 18
For emulator apps like Yuzu, you can load several different Turnip drivers at once within the GPU Driver Manager section, and then set one as the default driver. I would recommend starting with the top listed driver above as the default. If you encounter crashes or other issues, then long-press on the game in the emulator’s menu, then choose the per-game GPU driver manager and try an alternative (or even just the default Qualcomm drivers that come with the device).
Updating your apps
For apps that you installed via the Play Store, updating the app is as simple as going to the Play Store and then updating the apps under the “Manage Apps” function. For those you sideload, it’s often just a matter of going back to the website, downloading the latest APK, and then installing it — most apps will notice that you already have an older version installed, and will install the new one without messing with your settings or save data. Some apps may give you an error (“this app could not be installed” or “installation failed”), if that happens, you can uninstall the old app (be sure “keep app data” when prompted), then install the new one. You may have to reboot your device between installations if it doesn’t work the first time around.
For apps installed via Obtanium, simply go back to Obtanium and follow the prompts to install any updates that are available.
Adding your games
Now that we have our apps installed, and the system is configured, now we can add our games and point our emulators to them.
To start, plug your microSD card into the device. You may get prompted to “set the SD card up”. It will ask you to choose between the default portable storage option, or using the card as internal storage. Portable storage means that you will be able to freely take the SD card out of the device and plug it into your PC, as demonstrated in the video guide. If you set it to internal storage, you will then be able to install apps on the SD card to save space, but you won’t be able to plug the SD card into your PC — instead, you will have to plug the device into the PC and transfer files via USB instead. Internal storage is a good solution if you want to install a LOT of Android games onto your device, but in general I recommend portable storage for its flexibility.
If you plan on using the ES-DE (EmulationStation Desktop Edition) frontend, which is my favorite frontend option, I recommend installing and running it once BEFORE you start adding your games. The ES-DE setup process will create ROM folders on your SD card; once those are created, you can add your ROM files to their respective folder so that ES-DE will automatically find them. This will save you a lot of time in the long run. Check out the initial setup steps in the video above, and they are also covered in the Retroid Pocket video guide.
Iif you plan on doing Nintendo Switch emulation, be sure to grab the two XML files from Jade’s repository and place them in the ES-DE/custom_systems folder of your SD card; this will expand the number of supported emulator apps within ES-DE.
One other note: plugging the SD card directly into your PC to transfer files will give you much greater transfer speeds, about 4x the speed of USB file transfers. So I recommend removing the SD card and plugging it into your computer whenever you have a large batch of files to transfer; USB transfer works fine in a pinch for smaller transfers.




Setting up RetroArch
For more specific RetroArch settings, I recommend using my RetroArch Starter Guide as a reference. This will explain the basics of the app and how to properly configure settings.
Note that there is currently a bug in the Android version of RetroArch where if you map the “Pause Game” hotkey it will result in the button not being recognized by the app anymore. So in the diagrams above, skip the “Pause Game” hotkey. If you do happen to assign the button, then go back into the Hotkeys menu and press the “X” button while hovering over the “Pause Game” hotkey to unmap that button (I’ve been told that sometimes you may need to use a different button, like START, to unmap it.
Recommended RetroArch cores:
Arcade (FinalBurn Neo) -- fighting games and beat'em ups
Arcade (MAME 2003-Plus) -- all-around arcade emulation
Commodore Amiga (PUAE)
DOS (DosBox-Pure)
NEC PCE/TG-16/PCE-CD/TG-CD (Beetle PCE)
Nintendo GB/GBC (Gambatte)
Nintendo GBA (mGBA)
Nintendo Virtual Boy (Beetle VB)
Nintendo DS (melonDS)
Nintendo NES (Nestopia)
Nintendo SNES (Snes9x Current)
Nintendo 64 (ParaLLEl or Mupen64Plus)
ScummVM -- point-and-click PC games
Sega Master System/Genesis/CD (Genesis Plus GX)
Sega 32x (PicoDrive)
Sega Saturn (YabaSanshiro or Beetle Saturn)
Sega Dreamcast (Flycast)
SNK Neo Geo (FinalBurn Neo)
Sony PlayStation (Beetle PSX or SwanStation)
Per-system recommendations
Per-system configurations can vary by device, but for the best general settings, I would refer to my Android Emulation Starter Guide. For RetroArch-based emulators (32-bit and below systems), use the recommendations from the RetroArch Starter Guide. There are some specific configurations for the Retroid devices detailed below.






One of the biggest challenges in setting up these devices is mapping the controls to mimic the original controllers from retro systems. For many, the control setup will be intuitive: it’s easy to figure out how SNES, PS1, PS2, or Dreamcast games should be mapped, since their control schemes are not too different. The rub comes with Nintendo systems like the Wii, or six-button layouts like the Sega Saturn. The images above are what I personally use for mapping, but there are many ways to do this depending on personal preference.

Nintendo 64
Emulator: Mupen64Plus-FZ (or Pro version to remove ads)
By default the N64 A and B buttons will be mapped to the A and X buttons. If you want to adjust your mappings, you will need to copy the Android Gamepad controller profile and make your own mapping (much like how we just set up the emulation profile above). One handy trick is to map the Z button to multiple buttons on your console, to make things easier for some games (like Cruis’n USA which by default requires you to press the Left Trigger for gas, which can be awkward).
When using a frontend launcher like ES-DE or Daijisho, autosave and autoload will not work properly. Instead, you can either launch games directly from the standalone emulator, or use the Save/Load State functions within the emulator quick menu to manually save and load states. In-game saves still work fine either way.
Mupen64 FZ also allows for per-game configuration. For example, if a certain game is presenting graphical issues with the default emulation profile (like with Mario Tennis) you can tap on it once in the main menu, then select Settings > Emulation Profile and experiment with other options (I use GlideN64-Medium for Mario Tennis). You can also use this method to adjust other options per game, like rendering resolution or controller profiles.

Sega Saturn
Emulator: Yabasanshiro 2 (or Pro version to remove ads)
Frameskip: ON (default)
Sound Engine: Legacy (toggle with Modern as needed to improve performance)
Sound Time Synchronization Mode: Real Time
Notes: You will need to remap your controls. I recommend using YBA for ABC, and L1, X, R1 for XYZ buttons.
If you want the original Saturn boot video sequence with the standalone Yabasanshiro app, you must place the BIOS file (saturn_bios.bin) in the yabause/bios folder on your internal storage (this folder will only appear once you have opened the app at least one time).

Sega Dreamcast
Emulator: Redream
Frameskip: ON (default)
Resolution: 480p for RP2+/RP3, 960p resolution for RP3+ and beyond
Notes: You will need to remap your controls. Upgrading the pro version will be associated with your Google Play Store profile and can be used on other devices with the same account to get upgraded rendering resolution.
If you want the original Dreamcast boot video sequence, you must rename the dc_boot.bin BIOS file to boot.bin and place it in the Android/data/io.recompiled.redream/files/ folder on your SD card (this folder will only appear once you have opened the app at least one time).

PlayStation Portable
Emulator: PPSSPP (or PPSSPP Gold to support the dev)
Resolution: 1x for RP2+/RP3, 3x+ resolution for RP3+ and beyond
For PlayStation Portable emulation on the RP3 and RP2+, check out this handy guide from EmuChicken over at Team Pandory. For the Retroid Pocket 3+ and Flip, you can set most games to a 3x resolution, and reduce it to 2x resolution for some games as needed. PPSSPP allows for per-game configuration profiles so that you can set the desired resolution per game. The Retroid Pocket 5 can handle a 4x resolution upscale for maximum effect.

Nintendo GameCube
Emulator: Dolphin for Handheld (pre-installed) for up to RP3+/Flip, official app for RP4 and beyond
Internal resolution: .5x for RP3 and RP2+, 1x for RP3+/Flip, 2x for RP4/Pro as warranted
Notes: Use PAL ROMs as available for everything up to the RP3+/Flip. The RP4/Pro and RP5/Mini can generally use NTSC ROMs without issue.
The latest builds of the official Dolphin app now supports VBI Skip, which can be found under Graphics Settings > Hacks > VBI Skip. Turning this on can significantly improve the gaming experience on lower-end devices like the Retroid Pocket 3+. Note that some games (like Twilight Princess and Wind Waker) will not work properly with this setting turned on, so you may need to experiment.
Within the Dolphin settings, I would recommend making these changes:
- Config > Interface > Use Panic Handlers > OFF
- Config > General > Enable Cheats > ON
- Config > General > Enable Savestates > ON
- Graphics Settings > Shader Compilation Mode > Hybrid Ubershaders
- Graphics Settings > Compile Shaders Before Starting > ON
For the best results, you will want to swap between Graphics Settings > Video Backend > OpenGL and Vulkan. Generally, Vulkan will provide better performance but won’t work with many games.
For the Retroid Pocket 2+ and 3, I recommend using the “Dolphin for Handheld” emulator that can be pre-installed on your device during the initial setup. This app provides an excellent mix of accuracy and performance, and allows for easy adjustment of the resolution to below-native figures. If you do not have access to this app, you can try some of the Dolphin forks available in this archive.

Sony PlayStation 2
Emulator: NetherSX2
Internal Resolution: .5x for RP3 and RP2+, 1x for RP3+, etc.
Preset: Fast/Unstable for lower-end handhelds, Normal for RP4 and beyond
Enable Frame Limit: toggle OFF as needed to improve performance
EE Cycle Rate: 60% (adjust to 50% as needed) (for RP3 and RP2+)
EE Cycle Skip: Maximum Underclocking (3) (for RP3 and RP2+)
Notes: Use PAL ROMs as available for everything up to the RP3+/Flip.
If using the Retroid Pocket 3+/Flip, then I recommend setting it to the “Fast Preset” when first setting up the device, but use a 100% EE Cycle Rate and no underclocking under EE Cycle Skip, and adjust them as needed for each game.
For the best results with the RP4 and RP5 devices, use the Vulkan backend and toggle the following settings in this order if it isn’t running at full speed by default:
- Graphics > Threaded Presentation > ON (AetherSX2 v3668)
- Advanced > Disable Threaded Presentation > OFF (AetherSX2 v4248)
- Graphics > Hardware Download Mode > Unsynchronized
- Graphics > EE Clock Rate / EE Cycle Skip > decrease values as needed
Consider a nice fancy frontend
The Retroid Pocket frontend is pretty good, one of the best built-in launchers available on retro handheld devices. However, I have found that it is limited (for example, some systems or emulators aren’t available), and won’t be as feature-rich as other options made by the community.
Check out the videos above for setup instructions. My favorite is ES-DE (EmulationStation Desktop Edition), but Daijisho is pretty great too! And don’t forget about Beacon, or Reset Collection — long story short, you have lots of options to choose from. The way I see it, apps like Beacon and Daijisho are a little easier to set up initially, but will take more maintenance in terms of upkeep (like adding/removing games) and scraping media. ES-DE takes more work up front but is largely automated after that, and feels more console-like once configured.
If you are using ES-DE, I recommend the ES Applauncher so that you can embed Android apps, games, and emulators into the ES-DE interface. This allows you to set ES-DE as your home launcher app while still giving access to your most important apps.
Sync your saves with Syncthing
Once your device is up and running, and you’re ready to jump into some games, I would recommend Syncthing. This will allow you to sync your saves with your computer or other devices, so you can back them up and also resume your games on other handhelds. Here is my full guide on the process; it’s definitely a weekend project but it’s nice to have some peace of mind that your saves aren’t going to disappear.
Linux options
The Retroid Pocket 5 and Retroid Pocket Mini are unique in that their Snapdragon 865 CPU can support booting into Linux-based operating systems. Right now two options are Batocera and ROCKNIX, with the latter being a little further along in development. These are still very much in the experimental phase, but once we have stable and mature builds I will make further guides on the project.
What makes Linux OS options attractive is that they generally are faster to get up and running, since its emulators will be installed as part of the OS and pre-configured. It also gives access to some emulators that aren’t available on Android, like Xemu (Xbox) and RPCS3 (PS3). Performance of those consoles on a Snapdragon 865 chip isn’t the best right now, but it’s still super cool to see this added functionality on these handhelds.
For now, you can test out the latest development builds, and use the instructions in the video above to boot into them.
Batocera test build
ROCKNIX nightly dev build (further discussion in to their discord)
Note that it is possible to dual-boot ROCKNIX and Android with the same microSD card, and share the same ROM files between the two. This Reddit post spells out the process in detail, but be warned that because ROCKNIX is still in a test phase, this process should be attempted only if you are tech-savvy and willing to deal with bugs and periodic incompatibilities. In order to have ES-DE recognize all of your ROCKNIX folders, be sure to use Jade’s custom XML files.
Try out Winlator
Winlator is a Windows wrapper that works on Android, and the Snapdragon 865 chipset found in the Retroid Pocket 5 and Retroid Pocket Mini is good enough to run a fair amount of lightweight PC games. My buddy Retro Tech Dad has a couple guide videos on the subject, which are embedded above!
Retroid Pocket Mini Frame Pacing
If you are experiencing stutters or hitches when playing GameCube, Wii, PS2, and PS1 (via DuckStation) on the Retroid Pocket Mini, one quick solution is to enable vsync in those emulators. This is a simple settings toggle within the NetherSX2 and DuckStation, but is a little more involved within Dolphin. 3godzilla3 has a video going over the settings options for each of those emulators here.
Note that using vsync may introduce input delay on those emulators, so your mileage may vary. Also bear in mind that this is only an issue with the Retroid Pocket Mini as of writing this section (October 2024), and will hopefully be fixed by Retroid in an OTA update down the line.
Increase screen saturation
The RP3/RP3+/Flip screens are already nice and saturated, but if you’d like to boost them more to have something closer to an OLED experience, it’s pretty easy to do (and totally reversible). This trick will also work on the Retroid Pocket 2+.
To start, download this zip file package (right-click and select “Save As…”) which contains a series of shell script (.sh) files. Unzip the package and then add the files to your device by transferring them via SD card, or by plugging the device into your computer using a USB cable. Alternatively, you can visit this page on your device and download the zip file package directly onto the handheld.
To run the script, go to the Settings of your device, then Handheld Settings > Advanced > Run Script as Root. Navigate to your .sh files and run one of them. I recommend the 1.6 file for the RP3 and RP3+, and the 1.7 file for the RP2+. Reset the device and you should now have a more saturated screen! To reset the saturation back to the baseline, run the script again but using the 1.0 file.
If you’d like to use a value other than 1.0, 1.6, 1.7, or 2.0, simply make a copy of one of the .sh files and open it with a text editor like NotePad. Adjust the value to whatever you’d like (e.g. 1.8 or 1.3), and then rename the file so that it says 1.8 so you know which one it is. Add it to your device and you can then run that script. Here is an example of the script:
setprop persist.sys.sf.color_saturation 1.6 <-- change this to whatever you'd like
Of note, the Retroid Pocket 2S requires a different script, so replace the text with this instead:
service call SurfaceFlinger 1022 f 1.6 <-- change this to whatever you'd like
Changelog
31DEC2024
– added Jade’s custom XML files for ESDE w/ ROCKNIX
21DEC2024
– added RP5 guide video and assets
– added Turnip drivers section
– added Syncthing section
– added Linux section
– added Winlator section
16DEC2024
– lots of updates in anticipation of RP5 starter guide video
13OCT2024
– added section regarding frame pacing issues on the RP Mini
– updated frontend section to reflect ESDE
02JUN2024
– updated links for compatibility sheets and AetherSX2 archives
05MAR2024
– removed Yuzu and Citra links
17FEB2024
– updated NetherSX2 section to account for NetherSX2 “patch” and “classic” versions
07FEB2024
– added video guide
06FEB2024
– more updates including performance tweaks for PS2 and GC/Wii with RP4 Pro
05FEB2024
– updates and cleanup in anticipation of RP4 guide video
25AUG2023
– added RP2S as applicable
– general cleanup of links
– added context for AetherSX2 v1.5 3668 in the notes
07MAY2023
– added display setting recommendations
– added wording re: Retroid Pocket Flip
30APR2023
– removed other Dolphin MMJR links
11APR2023
– added updated tips for Dolphin/GameCube emulation
05APR2023
– updated Dolphin section link to fork archive and official app
22MAR2023
– added sleep mode trick section
20MAR2023
– added link to powered USB hub in accessories section for maximum controller compatibility
28JAN2023
– removed links to “Dolphin for Handheld” apk at the request of the Dolphin team
31DEC2022
– added screen saturation instructions
06DEC2022
– updated links to community compatibility sheets
24NOV2022
– added Retroid Pocket 3+ as a supported device
– added the Dolphin for Handheld emulators
– added information about remapping the Home button
– added Daijisho information
14SEP2022
– added notes about bug related to RA not recognizing the A Button after mapping it as a hotkey
11SEP2022
– added Team Pandory PPSSPP guide
– added link to AliExpress store
– added section about fixing microstutters (in RetroArch section)
08SEP2022
– added RP3 starter guide
– added Where to buy section
– streamlined guide to reflect new launcher and updates
23JAN2022
– added detailed N64 configuration instructions
– added note about 32-bit PSX emulation core
22JAN2022
– added new systems
– added Starter Guide #2 video
20JAN2022
– added RetroArch playlists section
– added system art and additional recommended systems (like Sega Genesis)
17JAN2022
– added retroarch.cfg file and instructions (removed)
16JAN2022
– published guide
– added portable vs internal storage note
Great to see a guide like this. I ended up cancelling my preorder of the device, but I still think it looks really cool.
I have a question, though. Why do you recommend .iso files for PS2 and Gamecube? For PS2, .chd files and .gz compression don’t affect gameplay but shrink the file size (though for .gz, the emulator has to unpack the game the first time you play it, which means like a 20-30 second black screen on first boot up). For Gamecube, .rvz does the same thing. You can use chdman for chd files, pigz for gz, and you can compress files into .rvz using Dolphin.
LikeLike
Hi, it’s not about what will work with the emulators, but what file types the Retroid launcher recognizes. I agree that .chd and .gz are the way to go in just about all other use cases!
LikeLike
Great guide – thanks for the writeup!
Is there a reason you recommend (CPU intensive) video filters over (GPU-powered) shaders? As long as you pick one or two-pass shaders, you should be able to get really nice results (including some niftier effects) without adding much CPU load. Just pick sane low-end-friendly 1 or 2-pass glsl shaders, not the crazy 5-pass CRT-with-bloom-type stuff, and you should get nice results with a lot of options to choose from.
LikeLike
For sure, shaders can add a nice touch! But I haven’t found one that will give the same sharpness and pixel balance as the Normal2x filter — it basically normalizes the image but balances the pixel wobble at the same time. And thankfully the CPU can handle the filter for SNES and below, and so for that reason I think it’s a good fit for beginners who want nice scaling and an image that’s “true” to their expectations.
LikeLike
I’d say the interpolation/sharp-bilinear-2x-prescale filter is very good, as is Quilez, if you’re looking for a “faithful big pixels” kind of look; I’m not sure I could pick out either from the Normal2x filter in an A/B test on a 640×480 screen at normal viewing distances. That said, if you’ve got the CPU to spare, do what looks best to you!
LikeLike
Your RetroArch hotkeys table has a typo, you meant R1 for Save State, you have R2 in the chart.
LikeLike
Fixed, thanks!
LikeLike
Thanks for the great setup tutorial, this has been extremely helpful!
One issue I’m having is the hot keys aren’t working. Be set them up the way you describe but when I try them in-game they don’t seem to work. For example, I’ve tried to access the menu to adjust the GB color settings as you describe, but when I hold SELECT and the hit key mapped to menu nothing comes up. Any thoughts?
LikeLike
Thank you very much for this guide that obviously fills a gap. I’ve been looking around for such structured and adviceful recap since I’ve received my RP2+ 10 days agos, and today I learn why my retroArcj experience has not been smoother until now 🙂 Let’s configure the thing nicely now 😉 THANX !
LikeLike
Thanks a lot Russ for this guide. I ordered my unit over a month ago, I will be definitely using your guide to configure it.
LikeLike
Russ,
Is there anyway to map R3/L3. There apparantly was a tool to do it on old Retroid that mapped to volume buttons. But I have read that has been removed.
LikeLike
Total novice here, but I’m confused with the mapping of the A/B X/Y buttons? It seems on the device the A/B buttons are already mapped properly? Not sure how to proceed with the buttons.
LikeLike
Hi. An amazing resource. Thanks for putting this together.
I’m just buying a microSD card now and I was wondering why you recommend the SanDisk Ultra or Extreme for the 128GB but just the Ultra for the 256GB and 512GB version?
I want to buy one of the bigger sizes so is there a reason to go for the Ultra instead of the Extreme for the 256GB and 512GB?
Thanks
LikeLike
Thanks for the useful guide, Russ. One question, I connected a PS4 controller via Bluetooth, but no input is recognized, is there a setting I am missing? Thanks again.
LikeLike
I’m using my RP2+ mostly to play N64, and I’m very confused by the way the game saves work. The guide says :
“When using the Retroid Launcher, autosave and autoload will not work properly. Instead, you can either launch games directly from the standalone emulator, or use the Save/Load State functions within the emulator quick menu to manually save and load states. In-game saves still work fine either way. ”
But in my experience, I’m using in-game saves and everything works fine as long as I don’t close Mupen64Plus-FZ, but whenever I initialy launch the game (either from the retroid launcher or from the app), it will look like I’ve lost all my progression. Luckily I have a save state that I can load and resume my game from but I’m only a “save state” instead of “load state” away from messing it up!
LikeLike
Apparently this is known to happen with the specific game I’m playing (Donkey Kong 64). When using autosave/autoload or save states, the in-game save can become corrupted and once it is, there is no way around it. I guess I’ll just be extra careful when using save states and regularly export Mupen64Plus-FZ’s save data to external storage!
LikeLike
Hi Ross,
When you connect HDMI, it still display as 480p and it’s awful, do you know of a workaround? It doesn’t do widescreen or even higher resolution. PS4 controller doesn’t work, PS5 does however. Dead cells resolution gets all messed up when connected and can’t change any settings.
LikeLike
Hello all! I have an unusual question I haven’t seen addressed anywhere else regarding the RP2+. Is it possible to remove system apps from the home screen? It’s not like I want to uninstall them or anything (which I don’t believe I can or even if that would wise do) but I haven’t found a way personally. The RP2+ is obviously quite different from an actual phone where this would be easy, does anyone here know of a way?
LikeLike
How can i skip all this bc im clueless and get a copy of your card? ($$$)
LikeLike
I wanna +1 this all day long lol… As much as I want to be able to follow these guides, i swear it feels like it’s completely out of my wheelhouse (and I miss retro games like crazy)
LikeLike
Amazing post!! thanks!!
i have a problem, my RP2+ cant format sd (sandisk extreme)
freeze on 20%.. exFat/Fat32/ntfs…
any solution?
thanks 🙂
LikeLike
Hey did you find a solution! please let me know i really need it!
LikeLike
Hi Russ, I initially used a Sandisk 64gb extreme card to setup the RP2+, but soon it runs low on disk space due to the large PSP games, so I upgraded to a sandisk 256gn ultra card (up to 100mb/s) by copying all the content of the 64gb over to it, but i realised that in PPSSPP, half of the psp games couldnt load in the title list on PPSSPP, may I know how do I overcome this? Is it that the new 256gb is too slow so I should get a 266gb extreme instead?
LikeLike
this guide has been a life saver Thanks
LikeLike
Does the guide still applies for the new OTA update 1.9?
Or has everything changed?
LikeLike
Hi there!
Has anyone gotten a USB-C hub to work for multiple wired controllers? This guide contains a link to one, but I wanted to see if anyone has had any luck actually getting it to work on the RP2+. So far, the supposedly OTG hubs that I’ve tried don’t seem to register any devices on the RP2+
Thanks!
LikeLike
I have same experiemce. Wireles controller also doesnt work for me. The BT connection work but controller dont respond for anythink.
LikeLike
Hi I followed your instructions on setting up new RP2+ but it seems all the gb, gba, gbc games suddenly have no sound. Appreciate it if you could advise me thanks!
LikeLike
One thing I recommend is compressing PSP ISOs to CSO format. This will cause games to scale down to half their original sizes and as far as I’ve tested it doesn’t affect the emulation.
LikeLike
hey! lovely review. Am new to the scene, my only question on the guide does the console change your settings per emulator for you, like after pre-setting them. or do you need o manually swap the settings each time. Thanks 🙂
LikeLike
I was playing with it earlier and I got game boy set up and I went to set up game boy color and then all the sudden my button scheme changed and now my x and a buttons don’t work. I try to remap them on retroarch 64 but it doesn’t even register that I’m pushing the buttons
LikeLike
hello, im new user, i m download and try FFIX psx , it 3 file, bin, pbp and key and im copy to folder game ps1, how to run pbp?
it looks like encrypt. sorry if my english bad
LikeLike
This is an awesome guide mate, thanks a bunch.
Have you come across an issue where a Retro Achievement works for one game, but any other game doesn’t despite them being available?
For example I’m playing Golden Sun and the achievements are popping just fine. But when trying any other game such as Kirby Nightmare in Dreamland, I can unlock the achievements it has but they have no thumbnail and when trying to look at the achievements in RetroArch, it crashes. Bit of a weird one!
Any insight would be great. Wonder if I might just need to reinstall RetroArch. This is on my 3GB Retroid Pocket 3.
LikeLike
Hey, I was having some difficulty with the pause toggle button. it activates whether or not im using the enable hotkey button. Now that i have it set i dont have a way to just clear the command only to change it to something else. Any pointers?
LikeLike
Hey Russ, thanks for your awesome write-ups, definitely helped me a lot with setting up my pocket 3. I have one issue to debug, retroid launcher crashes everytime I try to load a game no matter the system. I made sure to select the correct core or emulator and no dice. All games load using retroarch or standalone directly.
Any thoughts? Thanks!
LikeLike
I wonder what keyboard app you recommend, as the default Gboard that comes with the OS does not support controller input?
LikeLike
Got my 3 after a long delay, but it has a very strong and lingering mold smell, even after airing out for a week or so. Found a couple more people on Reddit with a similar strong mold smell. Very odd. Going to open it here over the weekend.
LikeLike
Mapped the buttons as advised in the guide (with L3+R3 to quit retroarch) however the RP3 home button still returns to the Retroid launcher without properly closing retroarch which can meddle with the autosave/autoload function or in the worst case fail to write the latest in-game save (if after returning to the launcher the battery runs out or the device is turned off for example).
Is there a way to map the home button to quit retroarch properly or deactivate it entirely when in retroarch?
LikeLike
When I formatted my SD card, and then chose Portable Disk on the retroid3, the disk is now read-only when I plug it back into my computer. It also didn’t create those BIOS & ROM folders as you show in the video
LikeLike
Can any emulator be added to the Retroid Launcher? I added the Commodore 64 emulator core Vice into RetroArch64 but I don’t see an option for adding into the Retroid Launcher list.
LikeLike
First sentence about the front end, you wrote “once” instead of “one”. No big issue, just noticed if
LikeLike
i have the rp3+ and i have some issue with the controller settings on ppsspo and duckstation.
they both don’t allow the set the digital and analogic controller, the kind of pad is set on dualsense.
how can i fix it? i even try to update both the stand alone emulator no result
LikeLike
Hi Russ,
I could not find “Settings > Handheld Settings” option during initial setup of RP3+.
It appeared after I fulfilled my Google account.
Hope it helps to newbies during initial setup 😉
LikeLike
Hi Nick, yes it’s a weird one, I believe the device has to be rebooted once for that section to appear.
LikeLike
Thanks very much for your excellent guide!
I have found that RetroArch doesn’t handle simultaneous button presses on my Retroid Pocket 3+ at all. Apparently, this is an Android specific issue. To fix this go to Settings > Latency > Input Block Timeout and set it to “4” ms.
Very handy for games such as the original “Streets of Rage” for Mega Drive, which needs a attack+jump button combo to execute the backwards attack.
LikeLike
There appears to be a bug when setting the Pause hotkey in RetroArch. Every time I set it, that button will try to pause before the hotkey button is pressed, which effectively renders the A button useless. I’ve tried to set it to other buttons with the same result. I have to clear that hotkey to regain use of it.
The bug doesn’t always seem to appear right away, because I know I have set it and then went to play a game. However, after coming back to my device later, I’ll find that the button will no longer work.
I actually uninstalled and reinstalled RetroArch a few different times until I figured out what was going on. I tried the two versions on the Play Store as well as downloading the nightly directly from the website. All three ended up with the same issue.
It actually appears to be a known bug on the RetroArch GitHub: https://github.com/libretro/RetroArch/issues/9998
Thankfully, I haven’t really needed to use that button and just leave it unset. No more bug.
LikeLike
Hi guys, thanks for this really good guide. I am a Mac user and just wanted to add, that it is possible to use CHDMAN on Mac. How this is done is best explained here: https://wiki.recalbox.com/en/tutorials/utilities/rom-conversion/chdman
It’s working just fine. Maybe something for an update of this article.
Best and thanks
Younes
LikeLike
Hey there guys and gals! Was wondering if there is anyway to play the Steam version of this on the Pocket 2+ but not streaming? Like I’m wondering if there is an Android port out there per chance?
Thanks!
Kev
LikeLike
love your site currently playing on 2 + . turned on rp2 to check brfore giving away and all my games on retro side are gone how do i reinstall tia
LikeLike
*Can’t wait*
Found you on YouTube about a month ago and can’t stop watching. I have purchased the Retrioretroid pocket 3+ and currently waiting on it to arrive. This is the first time I have every attempted to download everything that is needed. Your walk through in very detailed and I hope to knock it out the park when it gets here. You make things look simple, thanks.
LikeLike
Nope nope nope, way in over my head…… I’m sorry. I really did try. Holy cow I did now how overwhelmed I could be with this! Is there anyway I could buy a prepared sd card? I don’t know where to go from here now. Sorry.
LikeLike
Hello All,
I have become overwhelmed with this and am struck with anxiety when I read and start trying to start this process. Would anyone be able to get this to a “plug and play” for me. I really want to be able to share these games with my kids and also play some of the key games from my experience. Please let me know if anyone would like to chat or where I could go to get the help I am requesting.
Thank you.
LikeLike
Hey @Russ. Thought I should let you know as of april 28 2023, your archive links for dolphin_for_hanheld both rp2 and rp3 are not functional.
LikeLike
Any plans to update this guide for the flip? I know it’s basically a 3+ with a different shell so changes should be minimal but I find the lack of a back button a bit disconcerting.
LikeLike
The button mapper works, but makes it so my joysticks and d-pad no longer register in game. This is on a RP3+ I wasn’t sure what was causing it, but sure enough when I uninstall it, everything works as it should. Guess I have to find another way to get back button functionality.
LikeLike
Hello. After the last update(update v-1.0.1.6), the screen began to flicker disgustingly. Especially in gray tones. Does anyone observe this?
LikeLike
I’m having way too many issues with mGBA and melonDS. Can’t use the buttons with melonDS, as it expects me to use the touchscreen only, and for gba Roms, none of the retro arch shortcuts work! (Like select+R for loading states, etc). Not sure if this is just because it’s android, but I’m not sure why I’m having so many issues.
LikeLike
Hi, nice work and informative youtube channel as well.
there is a folder ports that will be created in the sd card but no ports platform can be added to Daijsho! could you help. thanks
LikeLike
Is it possible to use the RetroArch PSP core on this device? I tried loading it and configuring it in the RP launcher, but it just crashes back to the launcher.
Also worth noting – I just got an RP3+ a few days ago, and there’s one more step you need to use when configuring RP launcher – if you want to use the nightly build of RetroArch instead of the play store build, at the bottom when you’re configuring your core, you need to tap the “default retroArch” option – leaving it on “RetroArch aarch64” (the default setting) will look for the Play store version.
LikeLike
thanks for this guide. didn’t expect that an android-based device like the retroid pocket flip could be turned into something that felt more like a real game console. i absolutely love this device now, and would put it up there with a miyoo mini (onion os) or an anbernic rg nano (DrUm78 os).
LikeLike
Hi Russ,
I’m an old retro user, but bought my first handheld: Retroid Pocket 3+ Metal last week, after watching your excellent video’s.
I have one question, does Daijisho have background / menu music?
I can’t find it on the internet.
Thanks!
LikeLike
Skyline as an emulator has been discontinued. The current Switch emulator for Android is Yuzu; it prioritizes running the game and performance over accuracy, but it does also allow for adding Switch game mods.
LikeLike