OpenDingux Beta Firmware for RG350 and RG280 Devices

Last updated: 08JUL2021 (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, RG300X, 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 (gameblabla) (Nintendo Entertainment System)
FCEUX (plrguez) (Nintendo Entertainment System)
Final Burn Alpha (Arcade)
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)**

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

Note: the OpenDingux community has been hard at work getting many ports working for OD Beta. Here is a comprehensive list from GitHub user neilswann80.

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)

Note that hotkeys need to be pressed sequentially (POWER and then the next button), and not simultaneously.


  • 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.


added link to neilswann80’s Ports list

– added additional FCEUX emulator link

– added note about pressing hotkeys sequentially vice simultaneously

– added new emulator (FinalBurn Alpha)

– 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

65 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.


    1. I’ve added this firmware and the Mario 64 port all work great., so thanks for sharing this Russ.

      I’m having a few issues with PlayStation, most games work fine, however I can’t get Destruction Derby 1 and 2, Soviet Strike and Nuclear Strike along with MGS running. I’ve tried multiple roms of these, some boot and get stuck in the menu.

      I appreciate this is a new firmware and a few bugs may happen but was curious if anyone else has the same problem?


  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!


  8. thanks, I installed it and it runs retroarch and psx fine, but I can’t get UAE4all working at all.
    Doesn’t matter how many times I try putting the kick.rom in the said folder, it just can’t find it.
    Anyone got any idea ? I couldn’t find anything useful about that.


    1. Hi alex,
      You should put kickstart 1.3 in the folder specified in the error message using this command (for example in a terminal) :
      scp kick.rom od@


  9. You can add a file explorer, like a Dinguxcmdr, called Commander a two pane explorer:

    Useful if you don’t want to go to PC and have everything in second SD before switching on RG350, or in my case a Powkiddy Q80 (also a called RG350 on a budget).

    I tested firmware od-beta-2021-04-17, and some emulators have better performace, like PocketSNES_new.opk, Yoshi’s Island (SFX2) has better framerate, Kirby Dream Land 3 (SA-1) now runs 60 fps, but has some issues with pad on emulartor menu, it goes too fast.

    Retroarch snes9005, still is a no, -sad I know-, and mame2003-plus, has better perfomance, tested with Battle Toads, from 48 ~51 to 55~58 FPS.


  10. I’ve been using the OpenDingux Beta for a few weeks now and it’s been great. Except for FBA… I’ve tried several different OPKs, they all do the same thing. The barebones FBA Explorer that shows the list of short file names loads and plays games just fine but FBA UX (sometimes labeled FBA-RG350 depending on the OPK) doesn’t run anything. FBA UX will scan and render a nice readable list of games but when I select any game and try to run it, FBA UX immediately closes, I briefly see the OpenDingux loading screen, and I end up back at the list of installed emulators. I’ve looked all over and see no other reports of this behavior. I’ve been poking at it for a few days. Any idea what might be the problem?


  11. Having used a beta from months ago (just to test SM64) I was running into so many issues. But the current state is very, very impressive!
    I always hated that after a reboot the RG350M comes up so loud in volume, and the lowest volume is sometimes still to loud. In this beta, the sound-mixer is missing. At least the shortcut is. So for those who have volume-issues:

    In ‘/data/local/home/.gmenu2x/sections/settings’ put a file named ‘alsamixer’ with the folowing content:

    title=Sound Mixer
    description=Configure sound settings

    After a reboot of GMenu2 (just reboot your RM350M) the Sound mixer is back in the Settings screen. If you want it in another screen, just move the file to another section-folder, ie applications.

    Now if you want to have it set to a certain volume at startup:
    Create a file called and put it in /media/data/local/etc/init.d
    Content of the file:

    amixer -c 0 sset Headphones 30%

    Just those two lines. Obviously set the 30% to whatever you want it to be. I think if you use a second SD card, it works just like that. If you use only one SD card (ie the ‘internal’ one), you’ll probably need root permissions to put a file in /media/data/local/etc/init.d. So in that case:
    – SSH into the machine, usually on ip
    – Login with od and your password (or blank if you set it like that).
    – Enter ‘sudo -i’ and give your password (or enter) again
    – Your prompt should now be # instead of $ – presto; you are root
    – Enter ‘cd /media/data/local/etc/init.d’
    – Enter ‘vi’
    – In vi press the letter i for insert mode, and paste the two lines above in it.
    – press escape, and type ‘wq!’ to quit and write the file
    – now you need to make it execuble by typing ‘chmod +x’

    Reboot your machine to test. Again, I believe if you use a second SD card with FAT32, there’s no linux permissions at all on those files, so you’ll not need root to put a file there and you don’t have to make it executable I guess.


    1. Hangs my RG350M as well. Doesn’t even show a boot-screen. When powered on, it’s just black. So better avoid this update for now.


  12. Hey, I’m trying to create a custom skin theme, but I cant for the life of me figure out what the “Password” app name is, and I can’t seem to find the .opk file so I can decipher what it is called in the system.

    Anyone knows what it is called? It’s the app that helps with the WinSCP connections


  13. I have downloaded cave story from your site and loaded it om my rg350m. The problem is that I cannot save the game. It says the game is saved, but every time I die I get save file error. Is this a known problem?


  14. oh god, please help. been messing with the rg280v for about a week now, and thanks to these amazing guides i have EVERYTHING just how i want it. running OD beta with retroarch and it’s grand. even figured out how to rename/reorganize the emulator icons with an opk program. I CAN’T EDIT THE SECTION NAMES AND IT’S DRIVING ME CRAZY. i’ve tried renaming in cmdr, as well as thru the USB and it just creates a new section rather than editing the name of the existing one. do i just have to live with this in OD beta since i don’t want to use simplemenu or rogue or any of that? i gift massive bonus points to be redeemed in the afterlife to anyone who has an answer, or even better, a solution. thanks, friends. be well.


  15. Loving the OD beta update; I’ve actually been able to get my 8bit dongle/controller to work with reGBA!

    On a semi-unrelated note; is there a way to remove the “stock” games section from the device?


    1. Hi, I’m not sure you can adjust the tabs in OD Beta. In the stock firmware you can remove entire sections/tabs, but I don’t see an option in the Beta.


      1. big thanks for the response! when i was still running the stock firmware, i could remove entire sections, but still couldn’t edit them by name. i just wanted to change the order so the emulator tab popped up first on startup. i know this is neurotic, i’ve kind of gotten used to it. in any case, good looking out. sounds like it’s time to sign up for discord and dive in to the deep end on this one. your bonus points await you in the afterlife! be well.


  16. I’ve been using the beta for a couple months now and it has working HDMI support… should that move from potential features?


  17. hello! thanks for your guides!!! amazing job
    sorry, do you or anyone here know if it is possible to add also mixer volume to the opendingux beta firm and how to do it?


    1. Yeah, read in the comments above. I wrote there how to do it. It’s beyond me why that simple shortcut / icon is missed in every beta so far.


      1. My bad, terrible habit of asking prior reading… I’ll give it a go right now.
        Thanks for your time an reply !!!
        **Last update so far is working flawlessly (even the USB connection seems to have learnt some modals and is not as temperamental as pointed)


  18. So I upgraded today and absolutely love the higher resolution on GMenu2X.
    However I still have 2 problems, I can’t connect to my device anymore by USB/SSH (won’t connect, even after setting it in the USB Mode.) and then Windows 10 will crash with a blue screen.
    and FCEUX doesn’t scale correctly on my screen. for example in Gradius NES the score line is cut at the bottom.(after pressing power+A) It used to work fine on Rogue FW.


    1. Nevermind the connecting problems. after my lost post the network function suddenly started working so that’s cool. 🙂 Just the FCEUX scaling issue remaining.


  19. gcw0-update-2021-09-07.opk boots into a black screen on my RG350M. The thing itself is up and running, SSH is reachable and works. But no video output. So be warned!


    1. And of course, after 15 minutes of reboots and such, 10 seconds after I posted that I though let’s turn the brightness up. And there it is! The update turned the brightness all the way to 0… Still be warned 😉


      1. Hi, plrguez,
        Thank you very much.
        It can really save/load the game progress normally. FBA for OD bata is more efficient to run the game, and the game becomes smoother.Thank you for solving this problem.Continuously evolving OpenDingux Beta system for RG350 worth looking forward to.


  20. The 2021 october 4th update makes my RG350M boot extremely slow. It takes about a minute now – mounting the blockdevice takes a huge amount of time and after that it stalls a bit on setting up swap. It works fine though after that – just be warned that the latest might not always be the greatest.


  21. gcw0-update-2021-10-15.opk firmware release still has the slow mount-issue while booting on my RG350M. Anyone else with this issue?


  22. @Russ – is this list up to date for the OD Beta optimised and compatible ports? Just wondering if there’s been any new since you last updated this list?


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 )

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