Gaming On Functionland’s FxBlox RK1: ARM64 GBA Emulator

Fierro Labs
5 min readJan 20, 2024

--

Photo by Josa Vicente on Unsplash

The GameBoy Advance was the very first console I owned as a kid. A core memory of mine is going with my mom to Walmart and seeing its box hanging there on a peg too high for me to reach. It was my birthday and I was starstruck by how beautiful the see-through blue/purple version looked. It was the start of my golden era of gaming.

I still have the original GBA that I got that day and all its fantastic games. But instead of squinting in the sun to see what is happening on that tiny screen. Why not try one of the best GBA emulators on the market, with our FxBlox.

Thankfully the mGBA emulator is the best Game Boy Advance emulator that supports a wide range of devices. In this guide, we’ll walk you through the steps to run the mGBA emulator and bring the joy of gameboy gaming to our elegant ARM SBC.

Install mGBA on ARM64 Armbian

The world of linux and especially SBC’s can be a bit unforgiving to beginners. Forums and discords are not that helpful and people don’t seem to be the most eager to help you out, depending on the question. This was my experience first hand when trying to find resources for how to even get this to work (spoiler it’s actually super easy)!

First thing we need is the Ubuntu software center and the ubuntu-desktop. Before, we get to that, it is best practice to make sure our system is all up to date:

  1. Press Ctrl + Alt + T, to bring up the Terminal
  2. Type: sudo apt update && sudo apt upgrade
  3. Confirm with ‘y’, when prompted

Now we can install the needed software:

4. sudo apt install ubuntu-desktop gnome-software

Now, restart the Blox with:

5. reboot

6. Click on your icon, but don’t enter your password!

7. Instead, click on the settings icon (cog wheel) and select Ubuntu on Xorg

8. And now you can enter your password

Now your desktop should look a little different which is great! From here:

9. Go to your apps

10. Click on the knock-off-looking, Microsoft Windows Store, bag icon

Ubuntu software center icon

11. Now just search for mGBA (yup it’s that easy)

12. Click the icon, and start downloading!

When it’s done downloading you will be able to find the app in your Applications list

mGBA application icon

ROMS

Where you get your ROMs is between you and your god. I suggest you remain safe while web browsing or downloading things by checking out this guide to get you set up with ProtonVPN’s free tier.

You will be surprised by the results that Google provides. Oh, you don’t have a browser on the Blox? Just install it with:

sudo apt install chromium-browser

Apologies if you have a different browser preference, but this is the best option for arm64 devices like the FxBlox.

Anyways, ROMs can be loaded easily from anywhere on your filesystem. I recommend storing them on an external drive or an installed nvme drive. You can find the location of your drive with:

df -h

Results from df -h command

You’ll know which one is yours from the capacity of the drive and the “Filesystem” should start with /dev/. As well as the fact that the type of drive installed will be shown. E.g. I installed an nvme drive and you can see nvme in the path.

Make a directory for where your games will live on this drive. This will ensure your data doesn’t get erased if you manually factory reset your Blox with the usb image hosted on GitHub.

mkdir -p /media/pi/nvme0n1p1/games/gba

Controller/Keyboard support

Assuming you have your games ready to play, you first will want to decide the age-old question: keyboard or controller? Either way, you can find the controls by heading to Tools -> Settings -> Keyboard OR Tools -> Settings -> Controller.

Screenshot of mGBA->Settings->Keyboard

If you’re like me and only have one usb adapter, and you still want to use a controller to play games, then you HAVE to click on “Controller” then “Set All”. Now swap out your keyboard for the controller and proceed to complete the key binding process.

I was using an Xbox One controller, and I can confirm that it started working properly after doing the key-binding process.

Conclusion

I was easily able to get 60fps on any game that I played. This is amazing because we have not downloaded any GPU drivers and we are using only software rendering! The fans started whirring after a while, but the FxBlox does a great job keeping the gameplay and frames steady.

Screenshot of gameplay Mega Man Zero

With that being said, I have been thoroughly enjoying the games that ARE already on the switch, but there are some that just haven’t made it yet. So, this was a chance to experience the games I own in a modern way.

If you liked this content, give us a like or “Applause” here on Medium and please consider following us. Follow our YouTube channel for more web 3 content. Find me on X at @legendofmar. Checkout the Functionland Telegram for support and updates. Cheers!

--

--

Fierro Labs

Fierro Labs is a Web3 content and documentation creative studio. In this blog we talk about and make guides on IT and Web3 topics! Email: marco@fierrolabs.com