Last updated: 23OCT2021 (see Changelog for details)
The PowKiddy RGB10 Max is my favorite of the current “budget” (sub-$150) retro handheld devices. Most of that has to do with its lovely 5″ display, plastic shell, and internal WiFi. There are some definitely flaws with the device (underwhelming quality assurance, mono speaker, a weird rubber coating), but it ticks enough boxes that I recommend it as a good starting device for anyone looking to play retro games on a handheld device.
So in this guide I’m going to walk you through the entire process of buying the device, getting oriented with its user experience, and customizing the firmware to suit your needs.
Table of Contents Purchasing and color options Before the RGB10 Max arrives Unboxing and orientation Flash custom firmware onto your microSD card Set up RetroOZ Add game files to your microSD card Understanding the interface Understanding games settings Screen configuration Widescreen Dreamcast Other features to explore Hardware modifications Changelog
Purchasing and color options
The RGB10 Max is sold primarily from Chinese websites, but can also be found in US markets (with a markup). In general, I would recommend buying from the following stores:
Each of these PowKiddy stores will give you the same buying experience, and it will likely take up to a month to arrive from China. I would expect to pay $120 for a new RGB10 Max (shipping is usually free, but you may have to pay import duties depending on which country you live in). You might be tempted to purchase a version of the device with a larger SD card and more games, but I would recommend AGAINST buying those “upgraded” cards, because the cards themselves are generic and prone to failure, and the games that they load onto the device are poorly organized, filled with strange hacks, and are often in the wrong language/region. So I would buy the cheapest version you can find and I’ll show you how to load your own games in this guide.
When it comes to returns and disputes, AliExpress is a mixed bag. In general, if there is a problem with the device, or maybe it never arrives, you can often open a dispute via AliExpress and get your money back. You can also work directly with the company to see if they will send replacement parts if something is faulty. But in general, don’t expect to be able to return the device if you don’t like it, or expect to return it to the seller for repairs.
If you don’t want to wait a month for the device to arrive, or you would like to have the comfort of a customer-focused return policy, then there are resellers on Amazon. There aren’t many for the RGB10 Max right now, and the lowest I could find for the device as of publishing this guide is $190, so a full $70 more than what you can find on AliExpress. But that listing is backed by Amazon Prime, so you will have fast shipping and easy returns if you don’t like the device. It’s up to you to decide whether that is worth the significant markup price.
When it comes to color options, the RGB10 Max comes in two main colors: Orange (with white buttons) and Black (with black buttons). Some sellers, like the PowKiddy Official and Shenzhen AliExpress stores, are selling a Black model with white buttons, based on the “Panda” and “Tiger” button mods I did on my YouTube channel a while back (you can find more information in the Hardware Modifications section further down in this guide).
Before the RGB10 Max arrives
The RGB10 Max comes with a generic firmware card that is prone to failure. So for this device, I recommend you buy a new SD card from a reputable brand like SanDisk or Samsung to replace that stock firmware card as soon as possible.
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. In general, I would expect to pay $20 for a 128GB card, and $30 for a 256GB card. A 128GB card will allow you to load EVERY 8-bit and 16-bit game out there, all of the arcade games that work, and quite a few PS1, Dreamcast, PSP, and Sega CD games (those systems have the largest file sizes). A 256GB card will allow you to store even more of those larger games. You can also use larger cards (512GB, 1TB, and more) if you’re so inclined.
128GB cards: SanDisk Extreme Samsung EVO Select SanDisk Ultra 256GB cards: Samsung EVO Select SanDisk Ultra
One more accessory to consider: 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 won’t cause any corruption issues with your card.
Finally, I would recommend that you build your ROM library now, if you haven’t already. Make a folder called “Retro Games” or something like it, and make distinct folders for each of the systems you would like to play on your device. I recommend naming your game folders after the “Rom Path” names found in this guide, because that’s how they’ll be organized on your device once we flash new firmware. Also be sure to load the folders with ROMs of the correct file extension, which is also found in that guide. For example, NES games can be in .7z, .fds, .nes, or .zip format. As a reminder, here are some of the many systems that play on the RGB10 Max:
Panasonic 3DO (poorly)
Atari 5200 (and 800)
PC Engine (TurboGrafx-16)
PC Engine CD (TurboGrafx-CD)
Nintendo Entertainment System
Famicom Disk System
Nintendo N64 (hit and miss)
Sega Master System
Sega Saturn (poorly)
Sega Dreamcast (hit and miss)
Neo-Geo / CD
Game and Watch
Nintendo Game Boy
Nintendo Game Boy Color
Nintendo Game Boy Advance
Nintendo Virtual Boy
Sega Game Gear
Neo-Geo Pocket / Color
Sony PSP (hit and miss)
Wonderswan / Color
Commodore 64 (and C16/Plus4, C128)
Final Burn Neo
Neo-Geo / CD
Unboxing and orientation
Now that your device has arrived, let’s make sure everything is working. Unbox the device, and do a quick hardware check. Confirm that all of the buttons work/click as expected, look for any noticeable damage or cracks in the screen.
Also, if you haven’t already, watch the review video above, so you can get a feel for what to expect from your device in terms of build quality and performance.
Flash custom firmware onto your microSD card
The PowKiddy RGB10 Max will come with custom firmware (operating system) pre-installed on the device, called EmuELEC. This firmware is not designed to be shipped with commercial products; instead, the user is supposed to download and flash the firmware onto their own card and load their own game files onto the device.
You have three options when it comes to installing custom firmware on your device: RetroOZ, EmuELEC, and 351DROID.
RetroOZ is my preferred custom firmware for the RGB10 Max. It is forked from the excellent ArkOS firmware that is used on many similar devices, such as the original (small) RGB10, or the Anbernic RG351 devices. In the video guide above we’re going to flash RetroOZ onto this device.
EmuELEC is also an excellent firmware, and very similar to RetroOZ. But EmuELEC was developed for a different device, the ODROID Go Super, and the RGB10 Max is not officially supported by the EmuELEC team.
Batocera also has an ODROID Go Super firmware, and it will work on this device too. Like with EmuELEC, it is not officially supported, but has some excellent performance with PSP in particular.
351DROID is still in its development phase, but it provides a LineageOS (Android) experience on the handheld. If you would like to check out how Android performs on the device, this is a great option.
The nice thing about the device is that its entire operating system resides on a single microSD card. So you could flash these firmwares to different cards and swap them out as you choose, to see which one you like best. Or, for example, you want to use 351DROID for its robust streaming support, but RetroOZ for its retro gaming capability, you can just keep each of these cards handy for when you want to jump into one or the other.
Set up RetroOZ
We need to grab some files from the original SD card to make sure everything works as expected on the new firmware.
Remove the original SD card from your device and insert it into your computer using a USB adapter. There you should find a GAMES partition, and within that will be a series of folders, and one should be named “bios”. Copy all of the contents of this folder onto your computer somewhere for safe keeping. If you do not see the GAMES partition, you may be using an older version of Windows (for example, Windows 7 or 8); in which case, you’ll want to use a program called “bootice” in order to see the GAMES partition. More info can be found in this guide.
Head over to the RetroOZ GitHub and download the latest RetroOZ IMG file. Once downloaded, unzip this file using WinRAR or 7Zip so that the file extension is .img. Now, use a program such as Win32 Disk Imager, Rufus, or Balena Etcher to flash the image file onto your microSD card.
Once complete, eject the SD card and place it into your device, power the device on, and let it run through the installation process. After that, you’re ready to start loading your games onto the card. To power off the device, I strongly recommend you do a system shut down instead of just holding down the power button. Think of it like powering down a PC. To do a system shutdown, press START then select Quit > Shutdown System.
Add game files to your microSD card
When you insert the RetroOZ SD card into your computer, you will see several partitions — the one you want to use is the GAMES partition. If you’re on Windows and get a bunch of popups and prompts to format the SD card, check out this guide which will show you how to fix this issue.
On your GAMES partition, you will see a bunch of folders, which correspond to the systems listed in this guide. The most important folder to start with is the “bios” folder, which is where you will want to put the BIOS files for systems that require them (GBA, PS1, Sega CD, Dreamcast, and more). Here is a list of the required BIOS files for each system. If you didn’t save your BIOS files in the previous step, you’ll need to find these files on your own and add them to this bios folder.
After you have your BIOS files added, go ahead and start adding your ROM files to their corresponding folder. Make sure you’re adding files with the correct file extensions, as listed in this guide.
When you’re done adding files, eject the SD card and put it back into your device. You should now see menu items for every system for which you loaded game files. From here you can do things like apply shaders, adjust your button mapping, and more — all demonstrated in the Setup and Teardown video above.
There are many nice features of this device that can only be accessed via WiFi. For example, you can “scrape” (download) box art and other media for all of your games, or add new themes to your EmuELEC frontend, or even get achievements for classic games.
Understanding the interface
When you first power on the device, you will be greeted with a sleek user interface that will allow you to scroll through systems, and select games. You’ll also notice that the systems that appear on your device are only the ones that have games loaded — how convenient is that?
RetroOZ uses EmulationStation, which serves as a frontend interface for the user, while the games themselves are mostly loaded from an emulation system known as RetroArch. EmulationStation will allow you to navigate your menus, and make some initial settings configurations, but to really unlock the RGB10 Max’s potential, you’ll also need to familiarize yourself with how RetroArch operates, too.
In general, the easiest way to think of this is that when you launch a game from the EmulationStation interface, it’s actually booting up into RetroArch, and everything you do within the game is within RetroArch until you quit it and go back to EmulationStation. This is important to know because there are certain settings you can only configure while in RetroArch.
You can configure some things in EmulationStation, but the rest must be done in RetroArch. Note that if you adjust a setting in EmulationStation, it’ll override any setting you make in RetroArch; so if you set something in RetroArch and it’s not working when you jump back into a game, you likely have something going on in EmulationStation that is overriding the RetroArch tweak.
Note that some emulators don’t use RetroArch at all: Nintendo DS and PSP all use standalone emulators that won’t follow the same configuration requirements as RetroArch. Some emulators, like the Mupen64Plus (N64) and RetroRun emulators don’t have a user interface at all, and so those emulators don’t have settings you can tweak.
Understanding games settings
Before we dive into screen configuration, I think it’s important to note that for the most part, there are SIX different ways to save settings on the GameForce. I want to break them down now, since I will refer to them later in this guide.
The two main game settings in RetroOZ:
- “Emulator Settings” (EmulationStation): Press START on the RGB10 Max while in the main operating system, and the Main Menu will appear. The sixth setting is “Emulator Settings”. Here you can set the default emulator for each system loaded onto the device (note that the “Auto” setting has been mostly pre-configured based on the developer’s preferred emulator option, so it might be best to not mess with them).
- “Edit this Game’s Metadata” (EmulationStation). If you want to set something specific to a single game, this is the menu you want to use. To access it, hover over a game and then press the SELECT button, and then select “EDIT THIS GAME’S METADATA”. In here you can adjust the game’s name, emulator, core, scrape media for that game, or even delete the game altogether. This is handy if you want to use a certain emulator for a specific game but keep the default emulator for the other games.
The other three settings are done in RetroArch, which is the backend system that runs most of the emulators (called “cores”) on the RGB10 Max. This is done via the “override” settings. These are kind of confusing, but essential if you want the best settings, so let’s discuss for a moment.
To override core settings means you can set up settings for an entire core (say, FCEUMM for the NES) and those settings will be persistent for every game that launches with that core. You can also override content directories, which is handy if you have a core (like Genesis Plus GX) that emulates multiple systems, but you only want one system to have specific settings — this option will save a whole directory (like “Sega Genesis”) and not touch the other directories that use the same core (Sega CD, Game Gear, etc). Finally, you can also override game settings, so that specific games have their own settings. For example, Star Fox plays best on the SNES 9x 2010 core, but you probably don’t want to use that core for every SNES game. For more information on override hierarchy, check out this guide from RetroArch themselves. Long story short: RetroArch’s “override” settings are more robust than what you’ll find in RetroOZ, but the EmulationStation settings will override the RetroArch settings.
The three settings in RetroArch:
- “Save core overrides” (RetroArch): Once you have the game settings the way you’d like, go to the game’s quick menu (on the far left of the RetroArch menu bar) and scroll down until you find Overrides > Save Core Override. Choose that and you should get a confirmation that the core override was saved. At this point, every time you open a game from that particular core/system, you will have those settings.
- “Save content directory overrides” (RetroArch): Follow the instructions above, but select Save Content Directory Overrides. This will save the settings for every ROM in that same folder as the ROM you’ve just adjusted.
- “Save game overrides” (RetroArch): Follow the instructions above, but select Save Game Overrides. This will save the settings for this specific ROM, and no others.
The RetroOZ firmware already does a great job with pre-configuring the RGB10 Max screen, but here are a few tips:
- Systems that are not 16:9 in native aspect ratio (which is basically everything but PSP) will have bezels on the sides to mask the black bars that naturally occur when showing a more narrow system. If you don’t like these bezels, you can press SELECT + X to enter the RetroArch QuickMenu, and then select On-Screen Overlay > OFF.
- Classic 4:3 systems like NES, SNES, and Genesis will not scale evenly to fill up the whole screen, which will give uneven pixels. There are three ways to counteract this:
- Enable bilinear filtering to soften the image so that uneven pixels are masked. This is what RetroOZ sets by default. The image looks great but will not be as sharp as it could be.
- Use a shader to mask the pixel issues. This can be set by going to RetroArch QuickMenu > Shaders > Load > shaders_glsl > interpolation > sharp-bilinear-2x-prescale.glslp (there are other shaders you can use, but this one will give you the best balance of sharpness and native image). This image will be sharper than bilinear filtering, but not as sharp as the next option.
- Use integer scaling. Go into RetroArch QuickMenu then press B to get to the Main Menu. Go to Settings > Video > Scaling > Integer Scaling > ON. Be sure to also turn off Bilinear Filtering (available in this same menu). This will give you the sharpest image but will also keep the image at 2x resolution, which will make it a little bit smaller than the other two options. I prefer this option because the image looks best and the smaller size is hardly noticeable.
- Note that for the shaders and integer scaling, you will want to save an override so that they persist after you turn off that game.
If you want to play Dreamcast in widescreen, watch the video above to learn how to do it. Also, here is the accompanying written guide for this process.
Other features to explore
Because the RGB10 Max shares the same chipset as many other popular devices, you can use these guides which will apply to the GameForce, too:
- Rewind and Fast Forward
- RetroArch Cheats
- RetroArch NetPlay
- Offline Scraping
- Moonlight game streaming
In the video above I show you how to tear down the RGB10 Max, swap out its buttons, repair its screen, and add an optional heatsink.
– published guide