OpenDingux Beta Firmware for RG350 and RG280 Devices

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


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.

Installation instructions

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.

Here are links to clean stock firmware:
RG350 / RG350P

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.

Optimized emulators:
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)***
SimpleMenu (frontend)
SMS Plus GX (Sega Master System, Game Gear, SG-1000, ColecoVision)
SwanEmu (WonderSwan)
Temper (PC Engine / TG-16)
UAE4All (Amiga 500)
VBAnext (Nintendo Game Boy Advance)
VBemu (Nintendo Virtual Boy)
VecxEmu (Vectrex)

* My preferred emulator when there are multiple options
** For PocketSNES, be sure to use the “PocketSNES_new.opk” file.
*** ScummVM boots, but is buggy.

Compatible emulators:
Genesis Plus GX (2019-12-23) (Sega Sega Master System, Genesis, Game Gear, Sega CD)*
MAME4All (Arcade)**
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:
Cave Story
Commander (file manager)
Easy RPG
Ganbare-Natsuki San
GCWconnect (WiFi)
Heart of Darkness
HeborisC7EX (Tetris clone)
OpenXcom Extended
Sonic Robo Blast 2
Sonic Robo Blast 2 Kart
Super Mario War
Super Mario 64

Compatible standalone ports/OPKs:
Odamex (Doom, Doom II)*
Open Tyrian
SaveSync (backup save games)
Streets of Rage Remake

* 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 + 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

12 thoughts on “OpenDingux Beta Firmware for RG350 and RG280 Devices

  1. It just seems… less. I’ve been using the latest Rogue firmware, and No Bugs! It supports way more emulators and ports, and the only upside to this is Mario 64? This is a hard pass. Mario 64 looks better on the retroid pocket, and this build is just missing way too much.


  2. What about the swap partition, is it still enabled?
    I get many hiccups with the stock software, and one of the reasons could be the swap partition. Don’t understand why it is enabled at all, given the RAM amount.


  3. So I got a fresh install running on a new 32GB card, and for some reason I can’t copy files onto it after activating the mass storage protocol via USB.

    My computer is reading that the Apps and Home folders have free storage but the Media folder has used up 4 KB which is apparently also the total amount of storage.

    Is there an easy fix for this that I’m missing? Or should I wait out the official release to fix all the bugs?


  4. just need the FCEUX emulator to work on 350m and I’ll be happy, any update on it at all? everything else I want to play seems ok. on the new 27/12 update


  5. Thank you for the great page, I am using a RG350M with this beta firmware, mainly because of the better support of the large display.
    And I can set wallpapers now with the latest version, the app no longer crashes.


  6. FYI… on recent revisions, Pwr+X works for screenshots again. And also, there’s now a Clock app that lets you set the time, in response to @Doc’s comment above.


  7. Hi, congratulations on the guide, it’s clear and up-to-date!
    Unfortunately I don’t have a backup of the original microsd because I got a used RG350M, so I tried some stock images found on the net and the rogue firmware, but I’ve always had problems with pcsx4all crashing or unstable with some games.
    Now I have installed the latest version of OD Beta, but have not solved the pcsx4all crash, I do not know if it’s a configuration problem, incompatibility with specific game or something else.
    Could you give me some advice?

    Thank you!


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s