Techgage logo

Game Emulation In Linux

Date: May 28, 2007
Author(s): Rob Williams

A common complaint about Linux is that there is a general lack of games. When emulation is brought into the picture though, it opens up a huge world of gaming possibilities. In this article, we will be looking into what emulation is, installing a gamepad and taking a look at a selection of emulators for different consoles.



Introduction

Computer gaming is nothing new. Even in the earliest days of computing, we began to see an immediate desire to run games. In 1951, the NIMROD computer was built with the sole purpose of playing the game of NIM. Some twenty years later, we began to see growth of games on both PCs and consoles. The first known console was the Magnavox Odyssey, which used circuit cards for each game. Cartridges would soon catch on.

Fast forward to the early eighties with the launch of the Atari 2600. Arguably this was the product to kick-start console gaming as a hobby for the masses. It wasn’t until the launch of Nintendo’s NES in 1985 that many people decided to jump on the bandwagon. Since then, console gaming really took off. Today, it is one of the most popular pastimes the world over, even overshadowing PC gaming.

So what am I getting at? Many of us have memories tied in with gaming. You might want to experience Guardian Legend for the NES, but don’t want to haul out the console and game to do so. You might want to relive Duke Nukem II without having it run at light speed on your PC. There are many ways to combat this. They all come in the form of an emulator.

What Is Emulation?

Throughout this article, we will be taking a look at a variety of emulators that run on Linux. What exactly is an emulator? To put it simple, an emulator is a special piece of software specifically written to emulate aspects of the original console or computer, primarily the CPU, I/O and memory system. When a game is loaded into the application, it will load and play just as though you put a real cartridge into a real console or installed a game on your PC.

It seems simple, but there is no doubt that the coders behind these emulators work long and hard to create a stable program. Emulators became popular in the late 90’s, but it was far from being just a fad. If there was a console that existed, there is a good chance that there is an emulator for it. To this day, many emulators are still in development, so they will not be going anywhere, anytime soon. You might notice that I am putting an emphasis on console emulation, and that will be the primary focus of this article. While emulators for PC hardware exists, console emulation is by far what most gamers are interested in. Don’t fret though, we will be covering both a DOS and MSX emulator later in the article.

Back to the story at hand. In order to play games with most emulators, you will need a ROM image, which is the result of someone ripping the data from the original games ROM chip. Over the years, there has been a lot of legal debate on rights and wrongs here, but it’s ultimately up to you to decide for yourself. If you own an NES game and want to play it on an emulator, that’s probably the best way to do things, or the most commonly approved. Playing games that you don’t own could be considered piracy. However, most of the games you will likely want to play have been out of development for years and are no longer sold. Some might even be considered abandonware.

I am not an authority to decide what’s right and what’s wrong, and will also not be linking to any sites that host ROM files, just the emulators. The games I show as examples in the article are not cues to get you to go download the same game. If you are playing a game that you legally own, you will be on the safest path.

Legalities aside, there is a vast selection of different emulators out there for you to choose from. Some even on a per-console basis. There are three that I know of for the NES on Linux alone, so if you don’t enjoy one, you might another. Although it can be debated, there are numerous benefits to playing a game through an emulator instead of the original console:

Original Console vs. Emulator

As you can see, the benefits are great. Some may prefer the old school method of playing the game on the original console as it was meant to be, but for those who don’t, this article is for you. On the next page we will be diving into the instructions on installing a gamepad with your Linux distro, specifically the wired Xbox 360 controller. If you don’t have a need for setting up a gamepad, you may jump to page three to get right into the action.

Gamepads and Emulator Installation

Most emulators that you will download should support a gamepad. Lets face it. It’s much more comfortable to kick back with a gamepad than it is to be huddled around a keyboard. There are a few that don’t (as we will see), but thankfully they are an odd find. In this section, we will discuss how to get a gamepad installed and working under Linux, most notably the wired Xbox 360 Controller.

Before you begin any of these steps, you should first see if your distro of choice supports your gamepad right out of the box. To do this, plug it into an available USB port and then run dmesg. At the end of the list you should see the fact that it was picked up. If it’s working properly, it should be assigned a driver as well. Here is an example:

usb 2-7: new full speed USB device using ohci_hcd and address 5
usb 2-7: configuration #1 chosen from 1 choice
input: Microsoft Xbox 360 Controller as /class/input/input7
usbcore: registered new interface driver xpad
drivers/usb/input/xpad.c: X-Box pad driver:v0.0.7


Gamepad properly detected.

If you don’t see a driver assigned, first verify using a calibration utility. If that is a no go, then it’s time to recompile your kernel. Different distros may handle this task a different way, so turn first to Google or your distros website in search for tutorials on properly installing a gamepad, as most of it may be done automatically for you with a few simple commands.

Installing an Xbox 360 Controller

I won’t be giving a tutorial on how to get every gamepad working, but I feel the 360 controller will be one of the more popular choices for many reasons. It’s comfortable, has lots of buttons, and a lot of people already have one. Credit goes to Gentoo-Wiki, which is where I get these steps from. If you are running a distro other than Gentoo, you might need to first download the Linux source code and/or other utilities in order to compile the code properly. The most important tools are be gcc and ncurses, so that you can access menuconfig and then compile the kernel.

If you do not know how to compile a kernel, then this may be a little advanced, but don’t be worried. Once you have compiled one kernel, you’ve compiled them all. Erm… kind of.

For testing, I downloaded the latest 2.6.21 kernel and untar it into the /usr/src directory, as root of course. If you currently have kernel source code from another version on your computer, you might want to copy over your configuration file to the one you have just downloaded. This is done by copying the .config under the folder of your current kernel, into the new one (eg. cp /usr/src/linux-2.6.19/.config /usr/src/linux-2.6.21.1/. I don’t recommend this if you are using an older kernel because you could run into a few odd errors.

Prior to running menuconfig, you should download this patch:

http://kamikaze.waninkoko.info/misc/xpad-360-support-2.6.21.patch

With that in your kernel source directory, you will need to patch the xpad driver:

cat xpad-360-support-2.6.21.patch | patch -p1

If all goes well, it will tell you so. If you receive an error of some sort, chances are you are using the wrong kernel version. As noted, I performed all of this testing on a Gentoo and Ubuntu system using the 2.6.21.1 kernel. The reason for this is that I was unable to find an older version of the patch linked to above. If you are able to find an older version, you could match the kernel and stick with it. Once patched, you can run your make menuconfig.

For the Microsoft Xbox 360 controller, it’s usually as simple as making sure you have USB HID support enabled in your kernel, which it likely already is. Under the Device Drivers > USB support menu, you will (or should) see the X-Box gamepad support, which when compiled as a module will be loaded as xpad. Then under Device Drivers > Input device support, you can enable Joystick interface so that the joydev module will be loadable into the kernel.

You can exit the kernel, saving the new config along the way. Run make ; make modules_install to compile the kernel. After copying your new kernel to the boot partition and editing your GRUB, you will want to reboot and enter the kernel you just compiled. Until you do this, the joydev module will not be loaded. Once inside your new kernel, you will need to modprobe usbhid, joydev and xpad. You can do all three at once with modprobe usbhid joydev xpad. It’s important to modprobe joydev prior to xpad, as xpad relies on it to function. Plug in your controller again and run dmesg and see if it’s now assigned a driver.

For more a more in-depth installation method, you can head over to Google or your favorite distros website. I believe I pretty much covered everything here though, so if you are familiar with compiling your kernel, it should not be much of a problem. I just covered one gamepad here, but chances are if you compile joydev into your kernel, most of what you plug in will function. If not, you can check out the Device Drivers > Input Devices > Joysticks menu in the kernel to see if your peripheral is listed there. If it is, compiling it into the kernel and modprobing it should be all that you need to do.

For calibration and testing of the gamepad, you can use either the Joysticks tab in the KDE Control Center or download jscalibrator if you are a GNOME user.

There is one thing to note though. I personally do not recommend analog sticks for playing 2D games, such as platformers, top-down games, or any early console games. The D-pad is a far better choice for the sake of accuracy.

Installing An Emulator

Depending on the distro you use, the emulators you are looking for might be included in the package repository, so check there first. If that’s the case, it should be as simple as apt-get install emulator or something to that effect. I emphasize the use of Google here, because there are many, many tutorials out there for getting an emulator installed.

If it’s not available through a repository, you will need to download the available version, extract it and then figure out from there how you need to go about installing it. Gentoo offers a lot of the emulators through Portage, so I got off very easy more often than not. Installing some manually may require you to compile them, run a script for installation or manually copy folders and files to the proper places. Some are more difficult than others, so take that as a warning. It’s important to pay attention to whatever is said in the INSTALL or README files, or in the documention found on the emulators website.

With all of that out of the way, it’s finally time to move right into the emulators themselves. First up: FCE Ultra and ZSNES.

Nintendo, Super Nintendo

FCE Ultra – Nintendo Entertainment System

FCE Ultra is a console emulator I use quite often. I am a huge fan of the NES and grew up sitting next to one, every… single… day. FCE Ultra has been in development for a while, with its latest update being from 2004. Have no fear. The reason for the lack of updates is the simple fact that they are not needed. As it stands, everything works great.

The Linux version of FCE Ultra does not have a GUI, therefore everything from configuration and loading of a ROM needs to be done by command prompt. However, there is a frontend called GFCE Ultra which I recommend if you don’t want to deal with the command line. That includes me.

GFCE makes it easy to configure your keyboard or gamepad for use with the game, up to four controllers. You can also quickly enable OpenGL mode as well, although I’ve never noticed a difference with using it. Full screen mode does the opposite. If you have smoothing enabled, it will be disabled in full screen. I am unsure why, but I had the same problem when I used to use FCE via command line. Full screen mode will show the game as you would see it on the original console.

You can also set extra parameters, based off of this list and deal with network settings as well if you want to play with a friend. This is something I have never tested out.


Faxanadu / Dragon Warrior 1


Zelda / Rolling Thunder

I have never had a problem with this emulator, although I never managed to run it in full screen where it actually stretches to fill the black space. Hopefully you will have better luck than me, if that’s your goal. Without a doubt though, FCE Ultra is your one stop shop for playing your favorite NES games.

ZSNES – Super Nintendo Entertainment System

The Super Nintendo was one of the first 16-bit consoles, with its primary competition being the Sega Genesis. That console had been available for a years already but was lacking any real hold on the market. The SNES launched in 1991 with a few launch titles, two being stellar: Super Mario World and F-Zero. It didn’t take too long before more titles showed up that really grabbed peoples attention.

Earthbound, Star Fox, Chrono Trigger, Super Mario RPG, Clay Fighter, Mega Man, Zelda: Link To The Past and about 740 other games made this one of the best selling consoles of all time, selling 20 million alone in the US. Needless to say, if you are a gamer over 10 years old, chances are you spent some good time with this console.

By far the best SNES emulator still in development is the multi-platform ZSNES. Key features of ZSNES is the ability to configure ’til your hearts content. There are many different video modes and settings to choose from, to make sure your game looks good and that it performs well.

When opened, it mimics an OS-like environment where all the necessary menus are at the top. Once a ROM is loaded, you can simply CTRL + Enter to go full screen. This is one emulator I have to say performs exceptionally when in full screen mode. On my 20″ LCD widescreen, it looks crisp and clean, even while stretched.


Final Fantasy III / Claymates


Lufia II / Mortal Kombat 2

Other notable features are internet play, Game Genie support, quick saving, screenshots, audio saving and the ability to speed up or slow down gameplay. ZSNES is one of the best console emulators ever created. Do yourself a favor and download it.

Sega Genesis, MSX Computer

Gens – Sega Genesis

At a time when Nintendo were chugging away with their 8-Bit console, Sega releases their mega-powerful 16-bit Genesis, known as the Mega Drive outside of North America. The Genesis was Segas best-selling console, with almost 30 million units sold. The successor was the Saturn and then the Dreamcast, both of which sold only 33% of what the Genesis mustered.

In 1989, the graphics displayed on the console were no short of amazing. While the NES had a palette of 48 colors, the Genesis offered a staggering 512. Of course, the eye candy was a huge draw to the console, but luckily for gamers, there were numerous titles that enthralled us.

Sonic the Hedgehog, Phantasy Star, Strider, Moonwalker, Earthworm Jim, Columns, Shadow Dancer, Altered Beast, Streets of Rage, Shining Force, Ecco the Dolphin were just a few of the games that helped sell the console well into the mid-nineties. The last year to offer a slew of titles was 1995, but the last few were finally launched in 1997.

Remember kids. Genesis does, what Nintendon’t!

The most popular, and reliable Genesis emulator for Linux is Gens. Yes.. it’s called Gens. It’s quite feature-rich though and should allow you to get your game on fast. Upon opening, you will simply see a small game window and the menus.

I should mention that Gens does not only play Genesis games, but Sega CD and 32x as well. I never did own either, so I didn’t have a means to test it out. It’s nice to have so much support in a single application though.

The first spot I hit up was the controller configuration, which allows you to choose configurations for 3 or 6 button gamepads. I ran into a few problems here, but you may not, depending on your gamepad. With my 360 controller, whenever I attempted to redefine the keys, the entire process would fly by, as if I was holding a button down. It was virtually impossible to configure that controller. My Logitech RumblePad 2 was much better. I was able to properly configure the buttons, but then I ran into a different problem. All of the buttons I configured worked great… -except- the D-Pad. So, I was essentially unable to move my character, but was able to kick and punch.

Luckily, you can use the keyboard as a last resort, through the same controller settings. I hate not being able to get a gamepad to function, but I intend to shop around and find another potential candidate. If anyone out there uses Gens and has a gamepad that works well, please let me know and I will update this article.

Like FCE Ultra, Gens allows you to clean up the textures and sprites of the game, to offer a far smoother looking experience. You of course can opt out of this if you want a more authentic experience. Me on the other hand, I love me some smooth sprites.

For whatever reason, I wasn’t able to find a way to set a custom resolution. You have the ability to double the original size (which is incredibly small), but that’s it. You can of course go full screen, which looks great and performs well.

One thing I have to say about this emulator is that it produces amazing sound. All of the games sounded very good, softer and less chimey than the actual console.


Aero the Acrobat / Phantasy Star II


Strider / Streets of Rage II

Other notable features include a Game Genie built-in and also net support, though I have yet to figure that one out. Another useful Genesis emulator is called Generator, but I didn’t find it half as impressive as Gens, in all regards. I couldn’t immediately find gamepad support either, so I recommend Gens be the first Genesis emulator you give a try.

openMSX – MSX Computer

The MSX computer was born in the early 80s, around the same time that the NES was released. Yes, the Console vs. PC Gaming war has been around for quite a while. Many well known games were released on the MSX before other consoles, such as Metal Gear and Bomberman, although other games could be found here as well, like Contra 2, Dragon Quest and Gradius. Its graphics were great at the time, but fell behind the NES when it was released. There was a later model of the MSX called the MSX 2 which took care of that.

By far the best MSX emulator is openMSX, which is still in development today. As you could probably gather from the name, it’s completely open source and their team is always looking for new developers.

Like many emulators, openMSX is completely command line based, but you can grab their GUI subproject Catapult. Since openMSX does not support a huge range of customization like other emulators may, the command-line is probably the easiest method. I have found Catapult to be a finicky application in the past.


Guardic / Goonies

openMSX touts their emulator as being one that aims for perfection, and its no doubt been on the right path for a while. Its support is incredible, as you can see on their features page. Opening a game is as simple as openmsx carta path, so it really could not be easier to use.

Playstation 1

ePSXe – Playstation 1

The PS1 was Sonys first foray into the game console market, and who knew it was going to quickly become a legendary system as it had? The console had a September 1995 launch and quickly became one of the most popular consoles on the market. Support for it only recently ended, with American games released up to 2003. Other parts of the world had continual releases, with the last few games being released in 2005 in Japan.

Towards the end of its life cycle, the Playstation and PSone variants sold over 100 million units, becoming one of the top selling consoles of all time. Do I really need to mention the reasons for its raging success?

Final Fantasy, Crash Bandicoot, Gran Turismo, Tony Hawk, Wipeout, Jet Moto, Tekken, Tomb Raider, Castlevania, Grand Theft Auto, Resident Evil, Twisted Metal, Metal Gear Solid, Spyro The Dragon… to mention just a few. Not to mention that it was virtually the only console on the market to offer up the most titles for RPG fans. No other console came close, thanks in part to great support from Squaresoft and Enix.

In the early days of Playstation emulation, game support was horrible and performance of the application matched, often laggy, if it worked at all. Happily, we have come a long way since the likes of Bleem!, with ePSXe being my personal favorite PSX emulator. If you are skeptical about running a PS1 game on your computer, you might be surprised to know that ePSXe gives you the ability to play any Playstation game, NTSC/PAL/JAP, at full speed and without many side effects.

Because this particular emulator requires a little more attention than the others in the article, I will be devoting an entire page to it. There are many tutorials out there that tell you how to get it up and running, but I want to make sure you are left without confusion.

Installation of ePSXe on Gentoo was simple because it was available through the software repository, but you will need to perform a little more work if you are in a different situation. Head on over to their download page and grab the Linux executable file. Extract it to some directory where you want to keep it, as the file contains all the required binaries. /home/user/programs/epsxe is one option.

Once finished, you might be able to start the application. I say might, because you might not have all the required dependencies. Running the program through the command line would tell you what you are missing, if anything. Reading their forums might be a good place to look if you are having a hard time with installation.

At this point, the emulator is useless. Reason being, you need to load a BIOS file that the real Playstation 1 uses. Obviously I can’t link to sites that house the file, but it isn’t hard to find them. The BIOS you will want is SCPH1001.BIN, which is what’s found in US consoles. For PAL, you will need SCPH7502.BIN and for JAP you’ll need SCPH1000.BIN. You will want them all if you are planning on playing some imports.

When you have your BIOS file(s), you should copy it to your ~/.epsxe/bios folder, which should exist if you have begun the application under your primary user. Then click the Config menu and select BIOS and search for it.

If you installed ePSXe manually, you might not have a single plugin available yet. A good place to start for the graphics is Petes MesaGL Driver 1.76, which works great. You can find a link at the bottom of this page to a site that offers downloads for a slew of plugins. Once the plugin is installed, you can load up the configuration to see the options below, which can be somewhat overwhelming at first. The sound (P.E.Op.S. ALSA Audio Driver 1.9) options are basic, and I didn’t find myself needing to change anything.

You will notice a lot of game fixes in the bottom right-hand corner of the GPU config, which you may need to use for certain games. In FFIX, I had to enable the 01 in the list in order to stop the menus from flickering. Most games I have tested work fine right out of the box though.

Spending a lot of time on this screen will do you good. I had to try a variety of different settings before I stumbled on one I liked. Using this driver though, I was unable to get the full screen video working properly. Nothing would display, although I could hear sound. Luckily, Pete has another plugin called Petes XGL2 Driver 2.8. The configuration here is quite similar, but with it I was able to play the game full screen and it looked fantastic.

The default gamepad screen is less than desirable, as it focuses on using the keyboard. If you can use a keyboard just fine with a Playstation game, then kudos to you. I personally require a gamepad for maximum enjoyment.

That’s where another plugin comes into play, called OmniJoy. This plugin is again available for both Windows and Linux, with the Linux version being slightly different. Ideally, if you have a gamepad in similar design to the actual Playstation controller, then configuration will be simple. I am using the Xbox 360 controller though, so I set the back two trigger buttons (Z-Axis) for the L2 and R2 buttons.

The downside here… is that I don’t believe there to be a way to have the analog sticks function in ePSXe reliably. Apparently, it is an inability with the emulator itself, and nothing else. There is another emulator called PCSX which -does- allow use of the analog sticks using the padJoy plugin. However, I have not found that emulator to be that reliable. It’s quite a bit slower than ePSXe on my machine.


Final Fantasy IX – Tony Hawk Pro Skater 2


Apocalypse – Crash Bandicoot 3

My experiences with ePSXe have been amazing. Although it takes a little tweaking for it to work ideally, I very rarely ever run into an issue that can’t be fixed quickly. All the games I have played ran smooth, without a hint of lag during gameplay. Occasionally I will hear the sound skip, but it’s not that common. ePSXe is well supported, so there are a few plugins floating around that you can try if you are not happy with the one you are using.

It also offers up to five quick-save states in case you need to leave but don’t want to wait for a save spot. Other times, you can save to the virtual memory card. Probably one of the largest benefits of ePSXe is that you can play from either the actual game CD or a off a backup that you copied to your computer.

If you are a fan of the Playstation and want a reason to haul out some of your games, ePSXe is it.

MAME, DOS

AdvanceMAME – M.A.M.E.

It’s hard to believe that arcades used to be prevalent, but nowadays you are hard pressed to stumble upon one… ever. Arcades used to represent the ultimate hangout for gamers, and it’s sad that they are all but rare now. Even in my small city, I grew up with two different arcades, both now defunct. If you want to rekindle fond memories of your arcade addiction, your best bet is to head on over to Japan where they are still popular. Might as well get rid of your Pachinko craving while you are at it.

Luckily, most of the arcade games you grew up with are likely available online. MAME is the multi arcade emulator and handles a variety of machine emulations. This single emulator can handle games from the early 80s and even games in present day. If you played a game in the arcade, it’s likely playable through MAME.

The most popular MAME emulator for Linux is AdvanceMAME, which hasn’t had a new release in close to a year. The latest version of AdvanceMAME utilizes MAME 0.106, while the latest official version of MAME is 0.115. I am unsure the process of upgrading AdvanceMAME to utilize the latest version, but it might be worth searching for information if you are having problems running a game.


Progear / Super Hang-On


Cotton / Smash TV

Once AdvanceMAME is installed, it won’t take long to set up. Running advmame will tell you to set up a configuration file, which you can do with advmame –default. Once done that, you can to edit your ~/.advance/advmame.rc file. Under the dir_rom entry, you can change the directory if different than default, which is ~/.advance/roms/.

Starting up a game is as simple as advmame romname. As long as the ROM you want is in the right directory, it should start up quickly. At first, the navigation might seem a little complicated, but you will get a grasp on it quickly. Once inside, you can push your TAB key to open up a menu which allows configuration of all kinds, video, input, audio and so on. Luckily, gamepads are supported, so fun is only a few minutes away.

DOSBox – Disk Operating System

If you were a computer user in the 80s and early 90s, chances are good that you used DOS or MS-DOS quite extensively. My first computer was a 286 hand me down, that at the time, was already outdated. It was a great starter rig anyway, as it gave me lots of DOS practice. I definitely learned the hard way. Imagine accidentally formatting the hard drive instead of the floppy disk. Yes, I admit it. In my defense, I was only eight years old.

Personal experiences aside, DOS was a clunky platform to code for, but the games were plenty. I personally grew up playing a lot of games from Apogee (now 3D Realms) such as Commander Keen, Bio Menace and of course, Duke Nukem. Despite the fact that these were still relatively early days of gaming, there was a huge selection to choose from.

DOSBox is a popular DOS emulator for Linux, Mac OS X and Windows. It perfectly mimics a DOS environment, allowing you to use a computer as you would “back in the day”. That said, you are not limited to just playing games, but loading up old applications for nostalgias sake as well.

Once opened, you will have a general DOS environment with a few simple commands in the root directory, such as config.com, autoexec.bat, command.com and others. In order to access other parts of your computer, you need to mount them: mount c /home/rwilliams/dosgames/. That will allow you to access that directory as your C: drive. You can then navigate and install your games just as you would in DOS.

Many DOS games have configuration tools you can use. Selecting Sound Blaster or something similar in any of them should give you perfect sound.

If you know how to use DOS, you will be good to go. You can go to a full screen view with CTRL + Enter and play games as they are meant to be played.


Bio Menace / Duke Nukem


Commander Keen / Hocus Pocus

I love DOSBox. It works extremely well and has been problem-free. It’s a great program to use in order to relive the old days and play games that you haven’t touched in years. If you, like me, enjoyed Apogee games, you can still download the shareware versions here. Why they can’t see it in their hearts to offer full versions of 15 year old games for free, I have no idea.

Other Emulators, Final Thoughts

Throughout this article, I’ve elaborated on many emulators that I’ve had great luck with. However, there are still many out there for you to try that I didn’t mention. That’s not to say I ignored a few popular ones though, because I didn’t. I just happened to have a lot of problems with a select few, two of which I will discuss here.

Sega Saturn – Yabause

I had high hopes for a Saturn emulator because it’s one of the best consoles that Sega has released. The game selection was great, especially if you were a fan of imports. Radiant Silvergun or Soukyugurentai anyone? Yabause is the only Sega Saturn emulator for Linux, and I was hoping to have a similar experience as I had with the PSX emulator. That was not the case, at all.


Nights Into Dreams / Virtua Cop

Although many of the games I had worked, they didn’t work well. In the shots above, you can see that the Nights Into Dreams title screen was displayed properly, but once I was in the game, the video was so incredibly messed up, that it was virtually unplayable. It had a serious rainbow, trance-like effect. In the right screenshot you can see Virtua Cop, which happened to be within the 10% of the time where you could actually see what was happening. Needless to say, support for games in Yabause are low. So low, it’s to the point of not being worth a try.

I did manage to run Daytona USA however, but still had some random graphic glitches. It was fully playable and ran well. Out of the 7 or 8 games I tried, it was the only one to work reliably. If you insist on trying it out anyway, you can check out the compatibility portion of the official site. While support is still a little iffy, Yabause is still in development, albeit a slow one. I truly hope to see a version that has wider compatibilities in the future.

Nintendo 64 – mupen64

If you have been in tune with the emulator scene for a while, you are probably well aware that one of the most difficult consoles to emulate was the Nintendo 64. I am not sure whether it was due to the fact that it had a generally difficult operating procedure or if the 3D graphics is difficult to emulate. Either way, it’s difficult to find a reliable N64 emulator.

mupen64 is the only N64 emulator for Linux and is rather robust. It has many options to toy with and many plugins to download. Support is great, so it’s worthwhile to give it a try. My experiences have not been good, however. I’ve tried on and off for the past month to have a few different games function properly, but none of them would. The game would either sound really good and have choppy or distorted video, or the video would be good and the audio horrible. It seemed like a lose/lose situation.

The emulator is still in development, although a new version has not been released in almost two years. In my personal experience, I had no luck. However, there are many plugins and configurations to play around with, so you might have better experiences than I did.

Final Thoughts

We hope you have enjoyed our in-depth look at game emulation under Linux. If there is one thing you should walk away with its that, on a Linux platform, gaming possibilities are endless. Many people do not consider game emulators to be “games for Linux”, however, with them a huge world is opened. Equipped with any, you will have a large supply of games to play with. It sure beats hauling that old dusty console out of the closet!

As you have seen though, hauling out a console from a closet to play is not the only deterrent, or reason why gamers prefer emulators. Good emulators vastly improve the graphics of older games, and some actually run smoother than the originals, thanks to faster CPUs.

There are so many other features though as well. Internet play, screenshots, quick save-states, ability to game on the go, better gamepads, better sound… the benefits are vast. You might have noticed that I did leave a few lesser known consoles out, most notably portables, but there are many of those available as well. Don’t be afraid to search for a console emulator, because chances are good that one exists. The only other system I really wanted to see an emulator for, but didn’t, was the Sega Dreamcast. I guess we can’t have it all!

If anyone ever tells you that games are non-existent to Linux, now you can rightfully tell them that there are thousands upon thousands. Sure, it’s a half-truth, but it is possible ;-)

For a completely summed up list of the emulators we discussed today, you can go to the next page where I have put together a table summarizing everything. Though this article was strictly Linux based, we have also listed alternative emulators for those using Windows and Mac OS X as well.

Game on!

Discuss in our forums!

If you have a comment you wish to make on this review, feel free to head on into our forums! There is no need to register in order to reply to such threads.

May 28 Addendum

Safaribans from our forum urges those interested in a good all-around emulator for multiple platforms to check out Mednafen. We left this one out because we decided against including emulators for portable platforms. From the official site, “Mednafen is a portable, utilizing OpenGL and SDL, argument(command-line)-driven multi-system emulator with many advanced features. The Atari Lynx, GameBoy (Color), GameBoy Advance, NES, PC Engine(TurboGrafx 16), SuperGrafx, Neo Geo Pocket (Color), PC-FX, and WonderSwan (Color) are emulated.”

Console Emulator List

Here you will find a somewhat comprehensive emulator list which spans emulators for Linux, Windows and Mac OS X. All of the most notable consoles are listed here, but only one main emulator for each. There could be emulators listed that would not be considered the “best”, so if that’s the case please let us know. We will look into it and change it to the preferred one.

Just because these links are posted here, it does not mean we have tested the emulators or the mirrors, so download anything at your own risk.

Machine Emulated
Linux
Windows
Mac OS X
Atari 800 Atari800 Atari800 Atari800
Atari 2600 Stella Stella Stella
Atari 5200 Atari800 Atari800 Atari800
Atari 7800 EMU7800 MESS MESS
Atari Jaguar Virtual Jaguar Virtual Jaguar Virtual Jaguar
Atari Lynx Handy Handy Handy
Colecovision MEKA MEKA MESS
DOS DOSBox DOSBox DOSBox
Gameboy GNGB BGB KIGB
Gameboy Advance Boycott Advance Boycott Advance Boycott Advance
Intellivision Bliss Bliss Bliss
MAME AdvanceMAME MAME32 MacMAME
MSX Computer openMSX openMSX openMSX
Neo Geo GnGeo Finalburn Alpha GeoMAME
Nintendo FCE Ultra Jnes FCE Ultra
Nintendo 64 mupen64 Project64 sixtyforce
Nintendo DS DeSmuME DeSmuME None
Nintendo Virtual Boy None Reality Boy None
Sega Dreamcast None Chankast None
Sega Game Gear MasterGear MasterGear SMS Plus
Sega Genesis Gens Gens DGen
Sega Master System MasterGear MasterGear SMS Plus
Sega Saturn Yabause Satourne Yabause
Sony Playstation ePSXe ePSXe PCSX
Sony Playstation 2 PCSX2 PCSX2 None
Super Nintendo ZSNES ZSNES SNES9x
TurboGrafx Mednafen Mednafen Mednafen
Wonderswan Mednafen Mednafen Mednafen

Discuss in our forums!

If you have a comment you wish to make on this review, feel free to head on into our forums! There is no need to register in order to reply to such threads.

Copyright © 2005-2020 Techgage Networks Inc. - All Rights Reserved.