How to play Nintendo Gameboy games on Linux
The VisualBoy Advance Emulation tool is the best chance Linux users have at playing Nintendo Gameboy games. It supports the entire family of Gameboy hand-held gaming consoles, like the original Gameboy, Gameboy Color and the Gameboy Advance. It also supports the eReader hardware that Nintendo made for GBA, and will run provided you have the proper hookups. Here’s how to get it running and Nintendo Gameboy games on Linux.
Note: Addictivetips in no way encourages or condones the illegal downloading or distribution of ROM files for Visualboy Advance. If you want to play Nintendo Gameboy games with Visualboy Advance, please use your own game ROM files you’ve backed up to your PC, legally.
Install VisualBoy Advance
Installing the VisualBoy Advance emulator program on Linux is very easy, as the program has mainstream support on all of the popular Linux operating systems out there. In this section of the guide, we’re going to go over how to install this emulator on Ubuntu, Debian, Arch Linux, Fedora, and OpenSUSE. Open up a terminal window and follow the instructions that correspond with the operating system you use.
Note: VisualBoy Advance has support for most Linux OSes out there, and is the best choice for Nintendo Gameboy emulation on Linux. However, if you can’t get it working, consider using the mGBA emulator as an alternative.
Ubuntu
VisualBoy is available to Ubuntu users in the main software sources (Universe). Ensure you have Universe enabled, then use the Apt package manager tool to load up the latest version of VBA on your Linux PC.
sudo add-apt-repository universe sudo apt install visualboyadvance
Debian
Debian users will have an easy time installing the VBA emulation program as it’s in the central software repository. To get it on your Debian setup, enter the Apt-get command below into your terminal session.
sudo apt-get install visualboyadvance
Arch Linux
Arch Linux users have access to VisualBoy Advance, thanks to the AUR. To get the emulator working, open up a terminal and follow the step-by-step instructions below.
Step 1: Use the Pacman packaging manager to install the Git tool and Base-devel.
sudo pacman -S base-devel git
Step 2: Run a git clone and grab the latest VBAM package from the AUR.
git clone https://aur.archlinux.org/vbam-git.git
Step 3: Move the terminal window into the vbam-git folder with CD.
cd vbam-git
Step 4: Compile the package and install it on Arch Linux with makepkg. Keep in mind that if the build fails, you should check to see if dependencies were unable to install. Dependency info for the Vbam-git AUR package can be found here.
makepkg -sri
Fedora
Fedora doesn’t have Visualboy in the primary software sources. Thankfully, you’ll still be able to use it if you set up the RPM Fusion Non-free software source.
To enable RPM Fusion Non-free, open up a terminal window and do the following with DNF.
Note: change the X with the release number of Fedora Linux you use.
sudo dnf install https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-X.noarch.rpm -y
With RPM Fusion up and running, you can install the Virtualboy emulation program with:
sudo dnf install visualboyadvance-m
OpenSUSE
Sadly, there isn’t an official package out there for Visualboy Advance on OpenSUSE. However, the source code is quick to compile, and the installation tool even has an automatic dependency installation script that works with SUSE! To build the source code, open up a terminal and run the commands below.
cd ~ && mkdir src && cd src git clone https://github.com/visualboyadvance-m/visualboyadvance-m.git cd visualboyadvance-m ./installdeps
mkdir build && cd build cmake .. make -j`nproc`
Playing Gameboy games on Linux
Many game console emulators support only one type of system. With Visualboy Advance, it supports three separate ones. So, in this section of the article, we’ll briefly break down how you can utilize the three consoles that the emulator supports (GB Classic, GB Color, and GB Advance).
Gameboy Classic
To play Gameboy Classic, click “File,” then select the “Open GB” button and browse for your Gameboy Classic ROM. It should instantly start up your Gameboy Classic game as you select the ROM file.
Gameboy Color
Looking to play some Gameboy Color games? Just select “File,” click on the “Open GBC” button and use the file browser to locate the Gameboy Color ROM file.
With the GBC ROM file loaded up, Visualboy will start playing your Gameboy Color game.
Gameboy Advance
Those looking to play Gameboy Advance can do so by clicking “File,” then selecting the “open” menu option at the top. After clicking the “open” option, use the file browser and select a Gameboy Advance ROM in the file browser to play the game.
Configure a controller
The Gameboy family of games emulate well, but they don’t feel comfortable to play with the keyboard, so you’ll probably want to set up a USB controller to use. To set up a controller, click the “Options” menu in VBA. Then, highlight the “Input” menu and click on the “configure” sub-menu option inside.
Once you select the “configure” option, a controller mapping window will appear that you can use to set up your USB controller manually.
Graphics options
Gameboy games have a notoriously small resolution, and the default graphics settings are awful for playing games in full-screen. Thankfully, VBA has an excellent set of display settings that is very easy to tweak.
To access the graphics settings, click “Options,” then “Video,” then configure to access the video options for the emulator. Resolution is changed in the “Zoom” tab, by increasing magnification settings.
Saving/loading
Playing a Gameboy game and need to save your progress? Select “File,” then “Save State” to save your game. To load a previous game save, click “File,” then the “Load State” option. Alternatively, press Shift + F1 – F10 to quick-save, and F1 – F10 to quick-load.
Emulation tools are pretty great and you aren’t limited to just playing Nintendo Gameboy games on Linux. There are tools that let you play PlayStation 2 games, Nintendo DS Games, Sony PSP Games, and Atari Games on Linux.