(This is a working document, regularly updated. Created on 2022-12-29.)

The hardware is nice: the device feels sturdy and premium, the screen is bright and the controls work as expected. Great work, Retroid!

Retroid Pocket 3 Plus, model 16-bit look

Compared to a single system device, software configuration is certainly more complicated in emulation-land. Although Retroid provides more than the basics, if you are into game emulation, you know your setup will need some tweaking to get the best out of the hardware. In fact, emulation on Android is pretty similar to emulation on non-handheld devices with projects like Batocera or RetroPie on Linux… but not quite. There is a considerable amount of setup-work on Android.

List of Contents:

General setup: resources

Retroid does a good job of setting up the basics. For an overview and more advanced stuff, Mjolnir Stone did a great series with settings for the rp3+. Watch them, and you’ll be set for the most part (by release date):

The Complete Setup mentions the retroarch cores and stand-alone emulators to select. The other videos show the setups to get most games to play flawlessly on the more demanding console generations. I have a few remarks and addition. See below.

General setup: additions and nitpicks

Play store and sideloading apps

Some emulators will be outdated with newer releases fixing bugs or, more commonly, enhancing performance. Some emulators can be updated from the Play Store. However, this will not happen automatically because they weren’t installed from the store originally. You need to manually search for them and update them. Other emulators need to be sideloaded. Be sure to get the apk from their official Github repo and not from a random site.

Launchers: RetroidLauncher and Daijishō

The built-in RetroidLauncher is more than fine. It’s simple, clean and it works. Nicely done, Retroid!

Daijishō (get it from the Play Store) is the better option when you add many roms (you can scroll through all your ROMs in a platform instead of only by the beginning letter in RetroidLauncher) and when you need to configure a different emulator for games within the same platform.

Personally, I keep both launchers on my system.

SD directories

Although the rp3+ has 128GB storage, a SD card is the way to go. Even if you use Daijishō, it’s handy to create the needed SD directories with the RetroidLauncher. Click on “Setup” on the lower left side of the emulation page. From the popped-up menu. create all the directories (including ROMs and BIOS) and basic configurations.

If you used RetroidLauncher later, when selecting ROMs dirs for each platform, you’ll have a handy “Default SD Card Directory” short-cut that will save you many taps. Alternative launchers can use the directories and configurations that the RetroidLauncher created.

BIOS

Some platforms require BIOS files to function or work better with them. Search and download “Retroarch BIOS Pack archive.org” and unzip it in the RetroidPocketGames/BIOS directory of your SD card.

RetroArch64

RetroArch64 is used by most platforms and seerequires quite a lot of customisation. Be sure to save your changes each time:

  • Main Menu
  • Configuration File
  • Save Current Configuration.

Hardcode RetroArch64 to Vulkan

Thanks to the Mali GPU, Vulkan speeds things up considerably. Set it as the default and, optionally, don’t allow cores to fall-back to OpenGL:

  • Main Menu
  • Settings
  • Video
  • Output
  • Video: pick “vulkan”

Don’t allow cores to override the settings (beware: some core’s won’t work, so you’ll need to pick an alternative):

  • Main Menu
  • Settings
  • Core
  • Allow Cores to Switch the Video Driver: OFF

Map controls instead of autoconfiguration

Despite Retroid providing a sane RetroArch64 configuration (games work), you’ll need to remap the controls of port 1 in the RetroArch64 app. Otherwise, buttons will be present but weirdly mapped or even missing (coin and start on MAME). Set up the controller configuration like this:

  • Main Menu
  • Settings
  • Input
  • Port 1 Controls
  • Device type: RetroPad with Analog
  • Analog to Digital Type: Left Analog (Forced) [otherwise the analog sticks will be disabled in MAME and with built-in retroarch cores]
  • Map all the controls one by one.
  • Save Controller Profile

You’ll need to map the controls for standalone emulators as well.

Create hotkeys

Hotkeys let you save and load within a game, pause, quit it and so on. RetroGameCorps does suggest a useful layout, but it may not work well if you use the analog sticks for playing. Configuration:

  • Main Menu
  • Settings
  • Input
  • Hotkeys

My personal setup is a follows (it has changed over time):

  • Hot key enabler: right stick button.
  • Pop up retroarch menu: left + right stick buttons at the same time.
  • Quick safe: right stick button + left trigger.
  • Quick load: right stick button + right trigger.
  • Quit: left stick button + right shoulder.

Integer scaling and bilinear filtering

These options are pretty much in the eye of the beholder, so try them out if they suit you. Many cores allow you to change them in their settings instead of globally (Shortcut Pop up menu, Options).

Bump up the resolution of games in RetroArch64. Beware that this will add black borders, so more often than not you can leave it disabled. Steps:

  • Main Menu
  • Settings
  • Video
  • Scaling
  • Set “Integer Scale” to ON
  • Main Menu
  • Configuration File
  • Save Current Configuration.

While at it, you can check if Bilinear Filtering helps with the image quality:

  • Main Menu
  • Settings
  • Video
  • Set “Bilinear Filtering” to ON
  • Main Menu
  • Configuration File
  • Save Current Configuration.

Platform specific notes

Arcade MAME

Emulator: retroarch64 core MAME 2003 (0.78)
Status: 🌞

In the Emulation/Mame page, click on “Edit” and on top select the applicable core depending on your ROMs. In my case it’s “RetroArch (MAME 2003 (0.78))”.

Arcade Neo Geo

Emulator: retroarch64 core FB Alpha 2012 Neo Geo
Status: 🌞

Neo Geo needs the neogeo.zip (containing the BIOS) in the ROMs directory (RetroidPocketGames/ROMs/NeoGeo).

Atari 2600

Emulator: retroarch64 core Stella
Status: 🌞

Nintendo Entertainment System (NES)

Emulator: retroarch64 core nestopia
Status: 🌞

Use the nestopia Retroarch64 core. The messen core that Mjolnir Stone recommends has sound drops on my device.

Super Nintendo Entertainment System (SNES)

Emulator: retroarch64 core Snes9x - Current
Status: 🌞

Nintendo Game Boy (GB)

Emulator: retroarch64 core Gambatte
Status: 🌞

You can colorize games by running a game (hotkeys as set by RetroGameCorps):

  • Push left + right stick buttons at the same time (if hotkey configured as suggested)
  • Options
  • GB Colorization. Auto works best in my experience.

Nintendo Game Boy Color (GBC)

Emulator: retroarch64 core Gambatte
Status: 🌞

Nintendo Game Boy Advanced (GBA)

Emulator: retroarch64 core mgba
Status: 🌞

Better graphics and performance, within a game:

  • Push left + right stick buttons at the same time (if hotkey configured as suggested)
  • Options
  • Drivers - Video: vulkan
  • Output - Video: vulkan
  • Output - GPU Index: 0 - Mali-G52
  • Video Filter: Normal 4x

Nintendo 64 (N64)

Emulator: standalone Mupen64Plus FZ emulator
Status: 🌞

M64Plus FZ is fine, including running on the native resolution of the rp3+ and wide screen! Buy the pro if you want to support the developers.

Nintendo GameCube (GC)

Emulator: standalone Dolphin MMJR2 / Handheld emulator
Status: 🌞/🌧

Most games seem to work fine, some have issues. The latest OTA firmware upgrades from Retroid bumped the performance of this system considerably.

Nintendo DS

Emulator: standalone melonDS emulator
Status: 🌞

melonDS standalone works fine (this is not the melonDS retroarch core), no need for the paid Drastic application (“your only option” according to Mjolnir Stone). Add melonDS from the Play Store, configure it (ROMs directory, controller binding, screen setup, hotkey for switching screens). The layout of the screen is confusingly under “Input” - “Layouts”. Create a new one with a big main screen and the smallest readable secondary screen (remember you can flip the screen with a hotkey).

For adding it to the RetroLauncher, go to the Emulation/Mame page, click on “Edit” and “New” on top:

  • Name: melonDS
  • Package: me.magnum.melonds
  • Activity: me.magnum.melonds.ui.emulator.EmulatorActivity
  • Rom path key: PATH

Nintendo 3DS

Emulator: standalone Citra MMJ emulator
Status: 🌞/🌧

The combination of the latest OTA firmware upgrades from Retroid and the latest Citra MMJ Antutu from github bumps the performance considerably. Lots of games that used to struggle, play fine nowadays. Another advantage of Citra MMJ is that you can play fullscreen and have a dedicated hot button for switching the screens.

There is a Vulkan build of the official Citra emulator that promises a speed bump of 40%, but it’s not merged yet.

Nintendo Wii

Emulator: standalone Dolphin MMJR2 / Handheld emulator
Status: 🌧

After following Mjolnir Stone’s guide, I used transtremm’s guide to set up the controller (it’s extremely confusing because the way you hold the Wii’s controller). You’ll end up tweaking settings on Dolphin MJJR2.

Sega Game Gear

Emulator: retroarch64 core Genesis Plus GX
Status: 🌞

Sega Mega Drive/Genesis

Emulator: retroarch64 core Genesis Plus GX
Status: 🌞

Some games, but not many, can enable the wide screen hack by using the retroarch64 core Genesis Plus GX/Wide. In the Daijishō launcher you can override the default core on game basis.

This is a short and updateable list of games I tried that worked fine (i.e. with not many artefacts) on wide mode:

  • Shinobi III: Return of the Ninja Master

Sega Saturn

Emulator: retroarch64 core Yabause
Status: 🌞

The Yaba Sanshiro 2 app from the Play Store looks like broken nagware to me. While not perfect, the retroarch YabaUse core does a great job. You need to change the controllers settings in the core by removing the force analog stick configuration. Within a game:

  • Push left + right stick buttons at the same time (if hotkey configured as suggested)
  • Options
  • Controls
  • Port 1 Controls
  • Device Type: Saturn 3D Pad
  • Analog to Digital Type: Left Analog
  • Back
  • Save Core Remap File

For difficult games you can use this setting (or just leave it on):

  • Push left + right stick buttons at the same time (if hotkey configured as suggested)
  • Options
  • Frameskip: ON

Sega Dreamcast

Emulator: standalone Redream emulator
Status: 🌞

Sony PlayStation 1 (PS1/PSX)

Emulator: standalone DuckStation emulator
Status: 🌞

Set a hotkey in Duckstation (e.g. right Trigger/Shoulder), swipe did not work for me. Map the “Axis Binding” to use the analogue sticks (e.g. camera) and in the in-game menu (press hotkey), select “Toggle Controller Analog Mode” to use them for movement.

Sony PlayStation 2 (PS2)

Emulator: standalone updated AetherSX2 emulator
Status: 🌞/🌧

Most games seem to work fine, but some have issues and need a bit of tweaking. Retroid bundles an older version of AetherSX2, without the Mali GPU support in the settings. Sadly the Play Store version is not an option any more for an upgrade: the developer of the AetherSX2 emulator first declared to stop the project and later changed his mind and re-uploaded it to the Play Store… with ads. Until a new project kicks off your best option is to use the 1.5-3886 version from the community discord server.

The latest OTA firmware upgrades from Retroid bumped the performance of this system considerably.

Some games need specific settings in AetherSX2. Lowering “EE Cycle Rate” and “EE Cycle Skip” do the trick most of the time. This trick from reddit does work when I tested:

Setting EE Cycle skip to 1, and EE Cycle rate to 130% with threaded presentation on is going to make games that may otherwise be unplayable run perfectly. I’ve had to bump EE Cycle skip up to 3 on some games, and EE cycle rate up to 180% on others, but generally that’s all it seems to take. (LittleMacedon)

You can even upscale the game afterwards to 2-3x or more the PS2 resolution.

Sony PlayStation Portable (PSP)

Emulator: standalone PPSSPP emulator
Status: 🌞

Regular PPSSPP works like a charm. Buy PPSSSPP Gold if you want to support the developers. You’ll need to remap the buttons in the Playstion order (△ ○ X ◻ ) within the emulator.

Game streaming

Status: 🌞

Tested with Steam Link from the desktop Linux Steam Client to the Retroid Pocket 3+.

Android Gaming

Status: 🌞

Tested with Netflix games.