Last updated: 14APR2021 (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 How to update OpenDingux Beta Optimized and compatible emulators / OPKs RetroArch for OpenDingux Beta 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)
- 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.
- 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.
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.
How to update OpenDingux Beta
It’s super easy to periodically update your system. Just download the most recent version of the beta firmware, place the OPK file in your APPS folder and re-run the installation. All of your apps and saves will be preserved.
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)
PCSX4all (jdgleaver) (Sony PlayStation 1)*
Picodrive (Sega Genesis, Sega CD, Sega 32X)
PocketSNES (Super Nintendo)**
Pokemini (Pokemon Mini)
ReGBA (pcercuei) (Nintendo Game Boy Advance)
ReGBA (jdgleaver) (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)
* My preferred emulator when there are multiple options
** For PocketSNES, be sure to use the “PocketSNES_new.opk” file.
*** ScummVM boots, but is buggy.
*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.
RetroArch for OpenDingux Beta
RetroArch was recently built specifically for the OpenDingux Beta, with huge performance gains thanks to the OD Beta improvements. Check out this full RetroArch guide for more info.
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 emulators (SimpleMenu, pcercuei’s ReGBA)
– updated to reflect RetroArch update
– updated emulators
– updated FCEUX and Genesis Plus GX links
– added HeborisC7EX
– published guide
– added Fuse (ZX Spectrum) emulator
– added Arcade emulators
– fixed typos
– added SaveSync