With so many retro handhelds on the market (and quite a few more on the way), it’s a good time to round up my top five devices as of right now.Continue reading “My Top 5 Retro Handhelds Right Now (under $150)”
Lakka is a lightweight Linux distribution that runs RetroArch front and center. So is this ultra simple firmware a viable option for retro handheld devices like the Anbernic RG351P, RG351M, or RG351V? Let’s dig in and find out.Continue reading “Review and Guide: Lakka for RG351 devices”
Last updated: 04JUL2021
351Droid is an unofficial build of LineageOS 18.1 (Android 11) for Anbernic RG351 devices, and as of today it now has a public testing build. This build supports proper control layout, it resizes the userdata partition on boot, and supports the wifi chips in 351M and 351V. Let’s take a look at how to install this firmware, and its potential for Android-based retro gaming.Continue reading “Introducing 351Droid for RG351P, RG351M, and RG351V!”
Let’s look at the four ways you can transfer files to and from your device. This guide applies to all RK3326-based devices, like the Anbernic RG351 series, PowKiddy RGB10/20, ODROID Go Advance/Super devices, and so on.Continue reading “Quick Guide: File Transfer Options on Retro Handheld Devices”
Are you interested in getting started with a retro handheld emulation device, but don’t know where to start? Check out the video below, where I go through my 14 favorite devices to help you narrow down which one is the best fit for you.Continue reading “Retro Handheld Starter Guide”
Last updated: 13MAY2021 (see Changelog for details)
Let’s figure out how to play Shovel Knight: Treasure Trove on various retro handheld devices. We will primarily focus the install guide on the RG351P and RG351M, but additional instructions for other RK3326 devices are also found below.
I’ve been playing this game for a few days now and I really love it. It reminds me of a cross between the Duck Tales and Mega Man NES games, with some lite RPG elements. Fair warning, the games are pretty difficult, but there are cheat codes available if that’s your thing.
Big shoutout to developer JohnnyonFlame for getting this port up and running on these devices. He’s also the developer who made all of those awesome Super Mario 64 ports possible! If you have the means to do so, please consider donating a coffee to show your support for his work.
Table of Contents Purchase and download the game GOG-specific instructions Steam-specific instructions Load the game onto your RG351P or RG351M A note on controls RG351V instructions (351ELEC and ArkOS) PowKiddy RGB10 (ArkOS) More to come Changelog
Purchase and download the game
In order to play Shovel Knight: Treasure Trove, you will need the game files from the Linux version of this game. I recommend buying the game from the Humble Store, since the games will already be in the appropriate file system. Be sure to watch for sales, since the MSRP for this game ($40) is pretty steep. However, bear in mind that by purchasing this game, you are getting four games in one, and you can also play it on your home PC or Mac, too.
If you already own the game via GOG.com or Steam, see the instructions below on how to extract the game files.
Once you have purchased the game, download the Linux version onto your computer. Extract the .tar file twice using 7Zip (or Archive Utility if you are on a Mac), and you should have a folder named and organized as such:
shovelknight > 64 (folder) > 32 (folder) > data (folder) > shovelknight (binary file) > softwarelicense.txt
If you happen to already own the game via GOG.com, it’s easy to extract the Linux data files. Once you have purchased the game from GOG.com, it will show up in your library. Go into the Games section on your profile, and click the arrow at the bottom-right of your Shovel Knight game, and select “View Downloads”. Change the system to Linux, and then click on the link under “Download Game Installers”.
The downloaded file will be in .sh format. All you have to do is change the file extension from .sh to .gz, and then open it with 7zip. Inside you will find all of the game data files you need, organized as such:
shovelknight > 64 (folder) > 32 (folder) > data (folder) > shovelknight (binary file) > softwarelicense.txt
If you happen to already own the game via Steam, here are instructions on how to download the Linux version of Shovel Knight via a Windows PC. Thanks to dhimdi and yalsi86 on Reddit for figuring out the method:
- Press Win+R and open “steam://open/console” (Steam will now show console command)
- Enter “download_depot 250760 250764” (It will eventually show download location)
You will end up with having: 32 (folder), 64 (folder), data (folder)
- You don’t need the shovelknight (binary) and softwarelicense.txt in the main folder, the Steam Linux version is already set.
Note: The game will prompt you that it doesn’t find the Steam client (duh!) each time you go back to the main menu of the game.. a bit annoying!
This method can be done when trying to download the Linux version of other games via Steam. The App ID and Depot ID of the game can be found on the site steamdb.info. When you search for a game on this site you’ll immediately see the App ID. Scroll down a bit and click on Depots. Here you’ll find all the available OS versions of the game and the corresponding Depot ID. The download command in the steam console is: download_depot <appid> <depotid>
Load the game onto your RG351P or RG351M
This method will work with both ArkOS and 351ELEC operating systems.
First, we’re going to add some files to the “ports” folder of your SD card. Insert the card into your computer and then navigate to the EASYROMS (ArkOS) or GAMES (351ELEC) partition, and then the ports folder.
Inside the ports folder, copy over the shovelknight folder that we just downloaded and extracted.
Next, download and extract this file and place the “Shovel Knight.sh” file and the folder named “box86” inside the ports folder as well. Inside the box86 folder, you should see the following file organization:
box86 > native (folder) > lib (folder) > box86 (binary file)
If you look inside the Shovel Knight.sh file, you will find the following code:
#!/bin/bash cd /roms/ports/shovelknight/32 export LIBGL_NOBANNER=1 export LIBGL_ES=2 export LIBGL_GL=21 export LIBGL_FB=4 export BOX86_LOG=0 export LD_LIBRARY_PATH=/roms/ports/box86/lib:/usr/lib32:/roms/ports/box86/native export BOX86_LD_LIBRARY_PATH=/roms/ports/box86/lib:/roms/ports/box86/native:/usr/lib32/:./:lib/:lib32/:x86/ export BOX86_DYNAREC=1 export SDL_GAMECONTROLLERCONFIG="03000000091200000031000011010000,OpenSimHardware OSH PB Controller,a:b0,b:b1,y:b3,x:b2,start:b6,back:b7,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftshoulder:b4,rightshoulder:b5,leftstick:b8,guide:b9,leftx:a0~,lefty:a1~,rightx:a2,righty:a3,lefttrigger:b10,righttrigger:b11,platform:Linux," /roms/ports/box86/box86 ShovelKnight
After that, eject your SD card from the computer, insert it into your device, and boot it up from the Ports menu. Enjoy!
One note: if you are using 351ELEC, the Ports menu is hidden by default. To turn it on, press START to open the Main Menu, then select Game Collection Settings > Systems Displayed > PORTS, and make sure it is checked.
A note on controls
In my testing, the most important part for me was to confirm that all buttons were registering on the various devices. That being said, some of the buttons may not correspond to what you prefer on your specific device. Luckily, the Shovel Knight options menu lets you remap the entire controller to your liking, so it just takes a few moments to set up the controls on your device.
RG351V instructions (351ELEC and ArkOS)
If using 351ELEC, just follow the steps above but place all of the files in the “ports” folder on the second SD card.
If using ArkOS, as of 10MAY2021, the Shovel Knight setup files (minus the game data files) are pre-loaded on ArkOS for the RG351V. If adding them manually, you need to place the data files on the first SD card, and the “Shovel Knight.sh” script on the second SD card. This is how they should be broken up:
SD1: ports/box86 folder ports/shovelknight folder SD2: ports/Shovel Knight.sh
For 351ELEC. replace the “Shovel Knight.sh” contents with this code so that the buttons are properly mapped. If you are using the 10MAY2021 (and beyond) version of ArkOS with the script pre-loaded, you don’t have to do anything else.
#!/bin/bash cd /roms/ports/shovelknight/32 export LIBGL_NOBANNER=1 export LIBGL_ES=2 export LIBGL_GL=21 export LIBGL_FB=4 export BOX86_LOG=0 export LD_LIBRARY_PATH=/roms/ports/box86/lib:/usr/lib32:/roms/ports/box86/native export BOX86_LD_LIBRARY_PATH=/roms/ports/box86/lib:/roms/ports/box86/native:/usr/lib32/:./:lib/:lib32/:x86/ export BOX86_DYNAREC=1 export SDL_GAMECONTROLLERCONFIG="03000000091200000031000011010000,OpenSimHardware OSH PB Controller,a:b0,b:b7,x:b3,y:b2,leftshoulder:b4,rightshoulder:b5,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftx:a0~,lefty:a1~,guide:b12,leftstick:b8,lefttrigger:b10,rightstick:b9,back:b1,start:b6,rightx:a2,righty:a3,righttrigger:b11,platform:Linux," /roms/ports/box86/box86 ShovelKnight
PowKiddy RGB10 instructions (ArkOS)
I have only tested this for ArkOS on the PowKiddy RGB10, but it’s working great. Theoretically, this should also work on the ODROID Go Advance and RK2020 devices as well, but they are untested.
Follow the same instructions as for the RG351P/M, but replace the “Shovel Knight.sh” contents with this code so that the buttons are properly mapped:
#!/bin/bash cd /roms/ports/shovelknight/32 export LIBGL_NOBANNER=1 export LIBGL_ES=2 export LIBGL_GL=21 export LIBGL_FB=4 export BOX86_LOG=0 export LD_LIBRARY_PATH=/roms/ports/box86/lib:/usr/lib32:/roms/ports/box86/native export BOX86_LD_LIBRARY_PATH=/roms/ports/box86/lib:/roms/ports/box86/native:/usr/lib32/:./:lib/:lib32/:x86/ export BOX86_DYNAREC=1 export SDL_GAMECONTROLLERCONFIG="190000004b4800000010000001010000,GO-Advance Gamepad (rev 1.1),a:b1,b:b0,x:b2,y:b3,leftshoulder:b4,rightshoulder:b5,dpdown:b9,dpleft:b10,dpright:b11,dpup:b8,leftx:a0,lefty:a1,guide:b12,leftstick:b14,lefttrigger:b13,rightstick:b15,righttrigger:b16,start:b17,platform:Linux," /roms/ports/box86/box86 ShovelKnight
ODROID Go Super and RGB10 Max instructions (RetroOZ)
The .045b version will come with everything you need other than the shovelknight data file itself. So to install, just copy the shovelknight folder from your purchased Linux version of the game into the “ports” folder on your RetroOZ SD card. Just like magic, it works! This should work for the RGB10 Max as well, as long as it’s running the correct version of RetroOZ.
More to come
I’m still working on how to get this game running on other firmwares like EmuELEC, and I will update this guide as those features are unlocked.
– added link to cheats database
– added GOG instructions
– added OGS and RGB10 Max instructions
– added Steam instructions
– updated zip file with licenses
– added info about ArkOS pre-load on RG351V
– published guide
Last updated: 02MAY2021
The ArkOS custom firmware final release has now arrived for the Anbernic RG351P and RG351M devices. Now that development has stopped for these platforms, here is a definitive guide to set up and tweak this powerful operating system to meet your needs.Continue reading “Guide: ArkOS Final Release for RG351P and RG351M”
351ELEC has closed its project for future updates. Let’s take a look at this final build of the operating system, the legacy it leaves behind, and where we go from here.
UPDATE: As of May 2021, 351ELEC has been resurrected under new leadership! Here is my latest video on their most recent release.Continue reading “351ELEC Final Update: What You Need to Know”
Let’s knock out three easy upgrades for the RG351P and RG351M: custom buttons, an upgraded battery, and a quick solution to light bleeding.Continue reading “RG351P & RG351M Hardware Mods”