1. Home
  2. Linux

How To Play Super Nintendo Games On Linux With Snes9x

Emulation is a wonderful technology that fans of video games can use to study and enjoy old games from video game consoles, especially ones that aren’t in production anymore. One of the most popular consoles to emulate, especially on the Linux platform is the Super Nintendo. When it comes to playing Super Nintendo games on Linux, there’s no shortage of SNES emulators but by far the best, and most user friendly app on the platform is Snes9x. It has an easy to use GUI, with loads of different settings, support for save states, rendering options, gamepads and more.

Note: Addictivetips in no way encourages or condones the illegal downloading or distribution of ROM files for the SNES. If you choose to install SNES9x, please use your own game ROMs you’ve backed up to your PC, legally.

Ubuntu, Debian and Other Linuxes via Flatpak

Despite the fact that Ubuntu and the Debian package base in general usually enjoys the most attention from Linux software developers, there isn’t currently a version of Snes9x packaged for these popular distributions. No PPAs are available for Ubuntu, and there isn’t any indication that this will change. Furthermore, there aren’t any stand-alone Debian software repositories that one can add, nor are there any DEB package files anyone can hunt down.

Before modern universal Linux package formats, this would be a real issue. Nowadays, though, fans of Snes9x can easily install it without having to rely on their operating system. This means Ubuntu and Debian users (as well as any Linux distribution that can run Flatpak) can enjoy this wonderful emulator too!

Note: the following instructions require setting up Flatpak before continuing.

First, add the Flathub repository to your Flatpak setup. This isn’t required, but it’ll add more software sources to your Linux distribution. Instead of just seeing apps in Gnome software (and elsewhere) , you’ll see all the apps from there too.

sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

With Flathub present, we can go ahead and download the Snes9x package and save it locally. To be clear, you can install the package remotely via the URL, but it’s better to just download the file. This way you can save it for a later date, or install it on multiple computers.

wget https://flathub.org/repo/appstream/com.snes9x.Snes9x.flatpakref

Using the CD command, go to the Downloads directory.

cd ~/Downloads

Inside the download folder, install the Snes9x package:

sudo flatpak install com.snes9x.Snes9x.flatpakref

When the commands finish, Snes9x will be ready to use. Do understand that on some desktop environments, the shortcut to the program will not show up till you log out and log back in.

Arch Linux

sudo pacman -S snes9x-gtk


You will not be able to install Snes9x on your Fedora Linux PC out of the box. Fedora doesn’t distribute non-free programs. Instead, Snes9x is installable on Fedora via a non-free third party RPM repository. To get it working, follow these steps.

First, head over to the RPM Fusion website, and select your version of Fedora. As of writing this article Fedora 24-27 and Fedora Rawhide have support.

Click on the download link to get the non-free RPM and download it to your PC. Once downloaded, open up a terminal and use the CD command to enter the Downloads folder.

cd ~/Downloads

Once inside the Downloads folder, install the RPM Fusion package to enable the non-free repo on your system.

sudo dnf install rpmfusion-nonfree-release-*.noarch.rpm

Now, install Snes9x:

sudo dnf install snes9x-gtk


SUSE fans looking to get this SNES emulator working on their operating system don’t need to fuss with anything, as the program is on the OpenSUSE Build Service. To install it, go to this page, select your version of the operating system, and click the “1-Click install” button to get everything working.

Playing Games With Snes9x

Playing a game with Snes9x starts by loading a ROM into the app. To do that, take a ROM and place it onto your PC. From there, open Snes9x on your Linux PC, and click “File”. Under this menu, locate and click on “Open ROM Image”. Use the file browser that opens to browse to the ROM file on your computer, and select “open”.

Once open, Snes9x will instantly load the ROM.

Note: to put the emulator in full-screen mode, click the “View” menu, then select “full-screen”. Leave it by pressing ESC on the keyboard.


The Snes9x app has support for game-pads. No drivers necessary. Just plug in your favorite game controller, and as long as it already works on Linux it’ll work with the emulator.

To assign controls from the emulator to your controller, find and click on “Options”, then select “preferences”.

In the preference area, click on the controller icon with “Joypads” next to it to configure the controller. In the menu, click “UP” with the mouse, and then press the button you wish for “UP” to be on the controller.

From here, SNes9x will have you assign each control, one after the next. When finished, click “apply”.

Saving Gamea

Need to save your game? Here’s how to do it in the emulator. First, exit full-screen mode (if you’re using it) by pressing the ESC key. Then, click “File”, then select “Save state”. Select a slot to save the game.

To load the state, repeat the same process, except select “Load state” instead of “Save state”.

Leave a comment

  • “The Snes9x app has support for game-pads.” no it doesn’t for all contollers like my Logitech F310 controller which it doesn’t even detect it meanwhile other emulators work just fine…

    Now I know on the Raspberry pi how ever that it does work when using Lakka or Retropie but for some reason for the life of me I can’t get it to work so I used zsnes instead doing this command

    sudo apt install zsnes