Last updated: 04JAN2021 (see Changelog for details)
The RG350 and RG280 devices run on a Linux-based firmware called OpenDingux. This operating system was originally intended for the GCW-0 retro handheld device, which was part of a successful Kickstarter campaign back in 2013. And while this old firmware presents some advantages (like 7+ years of app development history), its kernel has become outdated over time. Luckily, developer zcrc has been working on getting the current upstream Linux onto these devices, and for about a month now there have been nightly builds of a public beta for this new firmware, which is simply called “OpenDingux” (I’ll refer to it as “OD beta” throughout this guide). To read more about its development, check out this update from this past summer.
Long story short, I’ve been following this beta release for a couple months now, and I think it’s time to say that you should consider flashing this firmware onto your device. I first touched on this beta in my Super Mario 64 guide, but at the time I didn’t see any real benefit to loading it other than to play SM64 on a device that shouldn’t really be able to play this game so dang well. But since then, the OD beta has been getting better and better, including added support for the RG280 devices.
So in this guide I’ll show you how to install the OD beta firmware, and also provide a list (with links!) to all the OPKs/apps that run on it. This guide applies to the RG350, RG350P, RG350M, RG280M, and RG280V devices.
Table of Contents: First and foremost Features and improvements in the OpenDingux beta firmware Potential or "in progress" features Known issues or bugs Installation instructions Optimized and compatible emulators / OPKs Shortcuts/hotkeys Notes Changelog
First and foremost
THIS IS BETA FIRMWARE. You should expect some bugs when you are using this update, and many of the apps you have on your device will likely not work. I would recommend that you try out this software on an SD card that is NOT your primary card. In general, this OD beta firmware should be for those who like to experiment with their device and see what it can do, and are comfortable with apps crashing, etc.
Features and improvements in the OpenDingux beta firmware
So far, here are a list of working features and improvements on the beta OD firmware.
- Single OPK: Instead of trying to hunt down a specific firmware file, a single .opk file will cover upgrade app for the RG350, RG350P, RG350M, RG280V, and RG280M (plus the original device, the GCW-0).
- USB MTP Mass Storage: This feature allows you to simply plug your RG350/280 device into your PC or Mac and access both SD cards from the Windows/MacOS environment. No more need to FTP! Note that for Mac, you will need to install this Android File Transfer app.
- Sleep mode: Simply tap the power button to enter and exit sleep mode.
- 640×480 GMenu2x interface for RG350M: This allows for a high-resolution display on the 350M menus, including full-size wallpaper images, which isn’t possible on the stock firmware. This also means you can fit more icons on the screen!
- Improved performance: There are a lot of under-the-hood updates to the firmware which should see some nice performance gains for emulators that are optimized for it.
- Sleep mode: Simply press POWER +Y to enter sleep mode, and tap the POWER button to bring the device back to life.
- Bicubic scaling: This will give a clearer scaling image for games, compared to bilinear scaling.
- External gamepad support: You should be able to plug in external gamepads (including the Xbox 360 controller)
- Mass storage device support: You can plug in low-power flash drives and external hard drives.
- Updated upstream kernel/drivers/buildroot for more modern ports (like the Super Mario 64 port)
- Linux Kernel 5.10 (instead of 3.12 from 2013 on stock firmware)
- KMSDRM video drivers
- updated Etnaviv GPU drivers
- huge pages support
- 8-bit paletted mode
Potential or “in progress” features
Here are some of the features that have been discussed for this firmware. It’s not a guarantee that they’ll appear in the future, but something that is on the developers’ radar:
- Bluetooth (dongle) support
- HDMI support
- WiFi support (currently implemented in the GCWconnect app, but is untested)
- Sharpness controls (formerly POWER + UP/DOWN)
- Screenshot hotkey/shortcut (formerly POWER + X)
- Left analog mapped to left d-pad (formerly POWER + B)
Known issues or bugs
Like any new software, this beta has several bugs that I discovered during my testing. I expect these to be fixed in the future, and with near-daily updates, some of these may already be fixed by the time you read this. If you’d like to follow along with the published commits, here is the link.
- On the RG350M, wallpapers cannot be loaded (the Wallpapers app will just crash), so you are stuck with a simple black background.
- The MTP Mass Storage (USB) mode is temperamental — it will often disconnect in the middle of a transfer. It’s easy enough to reconnect, but it can be a pain.
- Sleep mode can be buggy. Instead of putting the device to sleep, it will sometimes just restart OpenDingux. So be sure to save your game before putting it to sleep!
- Sometimes, the POWER OFF option in the Settings tab seems to reboot the device, not power it down. Even holding the POWER button for several seconds just triggers a reboot. The only way I could remedy this loop was to press the physical RESET button and then POWER OFF in the menu.
Although this beta release is relatively stable, I recommend you experiment with a separate SD card so that you can go back to your primary stock SD card.
To start, you want to begin with clean stock firmware. If you have the HDMI patch installed on your RG350, RG350P, or RG350M, you are going to want to re-flash it with the clean stock firmware instead. To check whether you have the HDMI patch installed, go to the Settings tab on your device, and open System Info. If the “Root File System Version” was compiled on May 21, 2020, then you have the HDMI patch installed. Additionally, if you use the Rogue custom firmware, it also won’t work. It’s best just to start with a brand new SD card with clean stock firmware.
Once you have clean stock firmware installed, download the latest OD beta firmware (choose the one labeled “gcw0-update”), and place it on your external SD card (“TF2”), in a folder named “APPS”. If you don’t have an Apps folder, just create one. This folder should be in your main/root folder on your external SD card, same place as your “ROMs” folder.
Boot up your system, then in the Applications tab you should see a new app called “OD Update”. Simply run that app and follow the on-screen instructions to update to the OD beta firmware.
Optimized and compatible emulators / OPKs
Here is a comprehensive list of emulators and ports/OPKs that work on the OpenDingux beta firmware. I’ve divided them into two categories: optimized and compatible. Optimized means that the program was recompiled specifically for the OD beta. Compatible means that the OPK works but was not optimized for the OD beta.
To add these apps to your device, you will want to plug your device into your PC or Mac via USB cable. On PC, you should see a “Mass Storage Drive” appear in your Windows Explorer. On a Mac, you need to install and run the Android File Transfer app first, and then plug in your device. Now, all you need to do is navigate to the media/data/apps folder on your device, and add these OPKs.
3DOh (Panasonic 3DO)
Arnold (Amstrad GX4000)
FCEUX (Nintendo Entertainment System)
Fuse (ZX Spectrum)
Gambatte DMS (Nintendo Game Boy, Game Boy Color)
Genesis Plus GX (Sega Master System, Genesis, Game Gear, Sega CD)
Handy (Atari Lynx)
Mupen64 Plus (Nintendo 64)
NGPCemu (Neo Geo Pocket Color)
PCSX4All (gameblabla) (Sony PlayStation 1)
Picodrive (Sega Genesis, Sega CD, Sega 32X)
PocketSNES (Super Nintendo)**
Pokemini (Pokemon Mini)
ReGBA (pcercuei) (Nintendo Game Boy Advance)
ScummVM (Point-and-Click PC)***
SMS Plus GX (Sega Master System, Game Gear, SG-1000, ColecoVision)
Temper (PC Engine / TG-16)
UAE4All (Amiga 500)
VBAnext (Nintendo Game Boy Advance)
VBemu (Nintendo Virtual Boy)
** For PocketSNES, be sure to use the “PocketSNES_new.opk” file.
*** ScummVM boots, but is buggy.
Genesis Plus GX (2019-12-23) (Sega Sega Master System, Genesis, Game Gear, Sega CD)*
PCSX4all (jdgleaver) (Sony PlayStation 1)
ReGBA (jdgleaver) (Nintendo Game Boy Advance)
FinalBurn Alpha (Arcade)**
*For Genesis Plus GX (2019-12-23), Sega Genesis games must be in .zip format to run. Sega CD games must be in .ISO format.
** Arcade games must be selected via the Explorer UI versus the typical app UI. Many games don’t load.
Optimized standalone ports/OPKs:
Commander (file manager)
Heart of Darkness
HeborisC7EX (Tetris clone)
Sonic Robo Blast 2
Sonic Robo Blast 2 Kart
Super Mario War
Super Mario 64
* Doesn’t work on RG280V.
– The source for many of these files is gameblabla’s excellent repository. Be sure to click on the actual file name, then select the “Download” button within that subpage.
– GBA bios (gba_bios.bin) must be placed in the home/.gpsp folder
– PSX bios (scph1001.bin) must be placed in the home/.pcsx4all/bios folder
– Sega CD bios (bios_CD_E.bin, bios_CD_J.bin, bios_CD_U.bin) must be placed in the home/.genplus/bios and home/.picodrive folders.
POWER + START + SELECT = reboot POWER + UP = volume up POWER + DOWN = volume down POWER + RIGHT = brightness up POWER + LEFT = brightness down POWER + B = mouse mode (formerly POWER + L1) POWER + A = hardware scaling ratio mode POWER + SELECT = kill current app POWER + Y = sleep mode (tap POWER to resume)
- If you’d like to install new wallpaper on your device, you will need to place it in the home/.gmenu2x/skins/320×240/(name of skin)/wallpapers folder. You will likely have to create the “wallpapers” folder. The image must be in .png format, and 320×240 pixels for 350/350P/280M/280V devices.
- I didn’t personally test the RG350M, but my guess is that it will be in the home/.gmenu2x/skins/(name of skin)/wallpapers folder. Given that the wallpapers app doesn’t work on the 350M at this time, it may be irrelevant.
– updated FCEUX and Genesis Plus GX links
– added HeborisC7EX
– published guide
– added Fuse (ZX Spectrum) emulator
– added Arcade emulators
– fixed typos
– added SaveSync