Linux Kamarada

How to play Super Nintendo games on openSUSE with the Snes9x emulator

Super Nintendo Entertainment System (SNES), better known simply as Super Nintendo, was a 16-bit video game console made by Nintendo during the 90s. It was a success at the time, with almost 50 million units sold worldwide and many games made famous, such as Super Mario World, Donkey Kong Country, Super Mario Kart, Street Fighter, Zelda, Final Fantasy, Chrono Trigger and others.

Would you like to remember any of those classics? Did you know it is possible using a program called emulator?

An emulator is a software that allows your computer to run software made for another device. A video game emulator allows your computer to run games made for that video game. Files that contain games are called ROMs. In the case of Super Nintendo, a ROM would contain the content dumped from a cartridge.

There are some Super Nintendo emulators out there. One of the most popular is Snes9x.

Snes9x is a cross-platform emulator which allows you to play most games designed for Super Nintendo on your PC. It is free software and its source code is available on GitHub.

Here you are going to see how to install and use Snes9x on the openSUSE Linux distribution.


Are emulators and ROMs legal? There are a lot of questions (and answers) out there.

Emulators are generally considered legal because they themselves don’t violate any law. They usually are hobby projects distributed for free and don’t contain any proprietary code.

But emulators aren’t useful without ROMs. About the legality of ROMs, How-To Geek says:

Broadly speaking, downloading a ROM for a game you do not own is not legal – just like downloading a pirated movie is not legal. Downloading a ROM for a game you do own, however, is hypothetically defensible – at least legally speaking. But there really isn’t caselaw here. What is clear is that it’s illegal for websites to be offering ROMs for the public to download, which is why such sites are frequently shut down.

If you want to know more about, I recommend you read the following:

You should search how the laws of your country address that topic before going on. Here I just provide information about the emulator and I’m not responsible for how you use it.

Where to download ROMs

You won’t find any ROMs here. But a simple Google search shows you a lot of websites where you can find several Super Nintendo ROMs for download.

Snes9x system requirements

To emulate Super Nintendo on Linux using Snes9x you don’t need a supercomputer. Snes9x documentation says it requires at least a Pentium 2 300MHz processor and 16MB of RAM, or a 1GHz processor for a perfect experience. As a reference, Windows 7, released on 2009, required at least a 1GHz processor. So, if you bought your computer on 2009 or later, almost certainly it fits those specifications.

Installing Snes9x

There are two different methods for installing Snes9x on openSUSE: from the graphical interface using 1-Click Install or from the terminal using the zypper package manager — choose whichever method you prefer.

To install Snes9x using 1-Click Install, click the following button:

1-Click Install

To install using the terminal, first add the needed repository:

# zypper addrepo -f emulators

Then, install the Snes9x package:

# zypper in snes9x

Right after installing, you should be able to launch the emulator.

Starting Snes9x

If you have a joypad and want to play with it, plug it in before starting the emulator.

To start Snes9x, if you use the GNOME desktop environment, click Activities, by the upper-left corner of the screen, start typing snes9x and click its icon:

The Snes9x main screen

The Snes9x main screen

Setting up Snes9x

There are a few things you need to set up before you can start playing. Usually, they are set up just once, when using the emulator for the first time.

To access Snes9x settings, open the Options menu and click Preferences:

Setting up controls

To set up controls, select the Joypads tab:

This dialog box lists the Super Nintendo joypad buttons and the corresponding keyboard keys or joypad buttons on your computer. To assign a SNES button to a PC key or button, click the field you want to change, then press the desired key or button.

By default, Snes9x will jump to the next button after the one you just assigned, allowing you to quickly assign all the 12 buttons. Start by assigning the first button: Up. After you assign Up, Snes9x will jump to Down, then Left, then Right, then Start and so on.

Tip: if you need a suggestion of setup, take a look at the following image.

If you are going to play two-player games, to set up the second player controls, switch Joypad to 2 and repeat the process. I have set up a USB joypad for the second player:

Setting up sound

We need to set up one more thing before we can actually start playing: we need to tell Snes9x which sound system to use. By default, openSUSE uses PulseAudio.

Select the Sound tab and change Sound driver to PulseAudio:

Click OK to save settings and close the Snes9x Preferences dialog box.

Opening a ROM

To open a ROM, open the File menu and click Open ROM Image:

Navigate to the folder where the ROM is and double click the ROM, which is usually a file with extension .smc, .sfc or .zip:

The game should start:

Saving and loading game states

An advantage the emulator offers over the video game is that you can save the game state, as well as resume from where you saved it, at any time you want.

Playing on Snes9x, you can save the game state just like you would on Super Nintendo (using the game’s own menu), or you can use one of 10 slots available on the emulator.

To save the game state, open the File menu, point to Save State and choose one of the available slots:

To resume a previously saved state, open the File menu, point to Load State and choose the slot where your save resides:

To make it easier to save and load states, you can assign them keyboard shortcuts. To do so, go to Options, Preferences, Shortcuts, and set up keyboard shortcuts the same way you set up controls:

I suggest you assign Shift + F1 to save to Slot 0 and F1 to resume from Slot 0, and likewise for the other slots (Shift + F2 and F2 to save to and load from Slot 1 and so on).

Tip: if you use a USB joypad similar to a Playstation joypad, which has more buttons than a Super Nintendo joypad, you may have noticed that two buttons have not been assigned during setup: L2 and R2. Now you can assign them to save to and resume from some slot.

Full screen

If you want to play full screen, open the View menu and click Fullscreen.

To exit full screen mode, press Esc.

I finish my post here. Now it’s up to you: have a lot of fun!


Did you like it? What about sharing?

Would you buy me a coffee?
If you really liked it, if it was really helpful for you, is it worth a coffee? If you want, you can "buy me a coffee" with PayPal or contribute to the project in other ways.



The Linux Kamarada Project aims to spread and promote Linux as a robust, secure, versatile and easy to use operating system, suitable for everyday use be at home, at work or on the server. The project focuses mainly on distribution and documentation.