I came upon a situation where I was not able to play any of my Gameboy games when away from home. I stumbled upon a rather fantastic solution that really needs to be shared with the Linux world. An emulator called VisualBoy Advance.
Be sure to check out my blathering about mGBA, another Game Boy emulator that runs on Linux.
Since I lean towards my Linux distribution preference of openSUSE, I will give you the best option that I discovered for me on this. You can clone the git repository to run it all from your user account quite easily. That works but little things like menu entry and theme integration doesn’t happen. What works better is to install the Snap Package from the Snap Store.
In case you haven’t set up Snaps for openSUSE, there is a great step-by-step on the SnapCraft.io site.
The next step will be to install it, which can be done quite easily using the terminal. One caveat, it looks like application is still in the beta and edge channels only at the time of writing. Should you come upon this article months down the road, try this first.
sudo snap install visualboyadvance-m
If you would prefer to “live on the edge” give this a spin to use the “edge channel”
sudo snap install --edge visualboyadvance-m
After a few moments, the installation is complete and there is a brand new entry in your menu and you are off to the races. The one unfortunate bit of the application is that there isn’t a splash screen or background element showing off the retro goodness of this application.
Perhaps that is coming later. Regardless, it is not like you are going to stare at the black screen in disappointment as you didn’t install this application for the splash screen, you installed this to play your games on Linux.
My immediate reaction is, this application is well laid out, intuitive and straight forward to use. It required almost no configuration for me to use this and that makes me incredibly happy. Aside from setting my input and one other preference, I was ready to play some nearly 30 year old games.
Since my situation was that I didn’t have access to any game pads, I had to set this up for my keyboard. It took a bit of thinking as to how I wanted to make this work so that my hands could rest in a natural location so I thought about it and decided I wanted to use the arrow keys for direction and my left hand on the home row for the button input. Since the game I chose to play is Start and Select Heavy, I put those on the home row too. To set up the input, it is as easy as navigating to…
Options > Input > Configure…
I haven’t played with any of the multiple player inputs and will likely explore and review those functions as well as I can see some interesting game play, perhaps. I did no other configuration modifications as the defaults worked perfectly for my system.
The only other tweak I made was to not pause the game when the window was inactive. I see the utility in that being the default but I didn’t want to roll that way. To make the change, I selected the radio button here:
Emulation > Pause When Inactive
The main reason for this is that it annoyed me when it would pause as I responded to a Telegram message or browse a “hint” site for what to do next… some might call that cheating.
I haven’t played a whole lot of games. There were just a few that I played with my kids and since Pokémon is the popular thing in my house, Pokémon Red was the game played the most. There is quite literally no glitching.
What is quite neat about this emulator is the options for how you consume your Gameboy content. My preference is the Super Game Boy that has the boarder decoration you would enjoy when playing the game on your Super Nintendo.
What is real nice is that the display will scale up to whatever size you make the window. It probably makes more sense to get rid of the boarder so you can really see the giant pixels in full HD on your modern screen.
This can be done by going into Options > Game Boy > Configure…
Select the Drop down next to Display borders and select Never to make them disappear.
Some games that I did enjoy playing in my short time was “Super Mario Land” and “Legend of Zelda – Links Awakening.”
The issue I did have with VisualBoy Advance was using game pads. I would think that it should work without issue but that doesn’t seem to be the case. My work around was to set up AntiMicro to send keyboard commands to it which was a fine work around. I also want to note that if you build it yourself from source, the gamepads would likely work fine.
Something that is fun, mostly just for novelty sake, is playing with the colors. I am going to go ahead and say, this is to tickle your particular flavor of nostalgia. My preference is the Real ‘GB on GBASP’ Colors. I think this is the most enjoyable color pallet.
If you prefer the Original green LCD look. That is an option as well.
And if you would like to choose your personal pallet, that is an option as well.
I didn’t fuss much with these color options much as I prefer the Super Game Boy look and feel. That tends to tickle my nostalgia the most.
What I Like
This is a straight forward emulator for playing Game Boy games. There are really only a hand full of games that I truly enjoyed and I mostly play them on actual hardware but there are times when it just isn’t practical.
The display scaling with the window makes playing the games quite nice. There have been some emulators in my years past that do not scale the display and makes for a lack-luster experience.
Installing via Snap is rather nice. A quick command or click if you prefer that, and you are off to the races. It just feels like a solid experience from top to bottom.
What I Don’t Like
Nothing, there is absolutely nothing I don’t like about it. It is, quite literally a perfect emulator to play the old classics on a modern day Linux machine.
I would suggest some improvements to decrease the angle of that learning curve. Not a huge deal for those that have been playing around with emulators, but a start screen that guides you would be nice.
VisualBoy Advance is a pretty fantastic emulator. If you have an itch for some Gameboy fun and need to scratch it, this is absolutely my preference. Though, I must say, using actual hardware is probably more fun it can be less pragmatic. VisualBoy Advance is a next best method for playing these games and, bonus, on a larger screen!
7 thoughts on “VisualBoy Advance | Gameboy Emulation on Linux”
Thanks for writing this, I’m going to try it out on LEAP this weekend. Where do you get your emulated games? Anything to consider for OpenSUSE there? I’ve emulated GBA on Windows before
There are various sources for games on the webs. A search for whatever you want specifically will likely find it. As far as what to consider on openSUSE for emulating Gameboy, I didn’t do anything particularly difficult. What was written is basically it. You may also want to try mGBA and compare experiences. Some emulators work better with specific games, so I’ve read.