Guide to Roms (console game emulation) on Ubuntu
Gaming console emulation on PC is nothing new. An emulator is a program that mimics the hardware and firmware from a gaming console (such as the Super Nintendo), to play roms. Roms are just computerized copies of console games. For PSX and other CD-based systems Roms are called ISOs. This guide is just my personal notes on emulating the different game consoles on Ubuntu Linux (Feisty 7.04 in this article).
First, if you don’t have a gamepad, I suggest stopping by your local Best Buy and purchasing one. If you’d like to save some cash, there are plenty of affordable solutions online, and not to mention you can use the controllers from your existing consoles by using a USB converter. Personally, I use a Logitech Dual Action controller. There was no setup needed except plugging it into a USB port and defining the controls in the emulators. This controller is great for other non-emulated games as well, including VDrift.
Finding ROMS:
Locating roms is easier than one might think. There are plenty of great websites for both bittorrent clients and standard HTTP clients. aMule and mininova.org have been my favorites thus far. Simply search for systemname and rom or iso (and maybe the game you’re looking for to trim down the results); e.g., snes roms or Legend of Mana iso psx
Super Nintendo:
For Super Nintendo emulation, I chose ZSnes. I haven’t found a Super Nintendo game that this doesn’t support (and I have over 800). ZSnes has many graphical filters to make your SNES games look better on your computer than they did on the console, a GameGenie-esque cheat system, and more.
To install ZSnes on Ubuntu: System -> Administration -> Synaptic Package Manager -> ZSNES
You’ll want to add it to your Applications menu (right-click on Application menu, Edit Menus), or open it directly from a console by typing: zsnes
Once installed, you may consider checking out mininova.org or aMule to start downloading your roms. A simple search for “snes roms” should do the trick. There are plenty of dedicated snes rom websites, however a lot of good roms are ESA protected, so you won’t be able to download goodies like Super Mario World.
Once you have a collection of roms, fire up zsnes and click Config -> Input #1 (for the first controller). If you have a Logitech Dual Action controller, you’ll find this fairly easy. Just click “Set Keys” and it will prompt you for the button config. After you’re done here, click the ‘X’ to close the config window, and click Game -> Load, and navigate to your snes rom directory.
Note: If your roms don’t have the .smc filename extension, you’ll need to check the “Show all Extensions” checkbox from the Load screen. I recommend paying the Config -> Video screen a visit, and enabling a higher resolution (1024×768 win is my preference) and checking the BiLinear Filter, HQ2X, and High Res Mode 7 checkboxes. If the sounds are too high pitched, you may need to adjust the sound frequency down to 8000hz (Config -> Sound).
Nintendo 64:
Not all Nintendo 64 emulators are built equally. I’ve had the best luck with pj64 for Windows, but under Linux the Mupen64 emulator is the next best thing.
To install Mupen64, download it, extract the files to a folder on your desktop, and you can run Mupen64 directly from the extraction folder.
Once again, mininova.org has a few great n64 rom packages. Right away, I would download a few video plugins for Mupen64 such as GLN64 and Glide64. Once downloaded, extract the files into the Mupen64/plugins folder. You’ll likely have to try other plugins for different games. I still haven’t gotten Donkey Kong 64 to work properly with any video plugin. If you find a way, please comment this post and I’ll test and edit as necessary.
You’ll find that switching between games like Bomberman 64 and Mario 64 is a tedious task, as you’ll often have to click Options -> Configure and select or edit a different video plugin. Once you have your roms and video plugins, in Mupen 64 click Options -> Configure, and add your rom directory(ies). This will add all roms to a list, and it’s much easier than opening each rom individually.
I have not found a game controller that equals the original N64 game controller, particularly the location of the “Z” button and the “C” buttons. If you’re a hardcore N64 fan, you should try to find a USB adapter. If you use the Logitech Dual Action
controller, the right-analog stick works fine for the C-up,down,left, and right buttons. I found Blight’s SDL Input Plugin to be the easiest and most accurate to configure for my controller. You can find it at: http://www.ngemu.com/n64/mupen64.php?action=plugins
Nintendo DS:
DeSmuME has a lot of options, and of course supports your mouse in place of the stylus. I haven’t gotten it to work with any game controller.
To install DeSmuME, click Applications -> System -> Administration -> Synaptic Package Manager, and search for ‘desmume’
To run DeSmuME, open a console and type: desmume
I found DS emulation a bit clunky and (for the most part) fruitless, and gave up on it. I’ll revisit DS emulation once I hit the Phantom Hourglass in my epic quest to defeat the Zelda chain, or I may just buy a DS
, they’re quite cheap lately – and the portability is supreme.
Nintendo Gameboy:
TuxBoy has been the best thus far. To install:
TuxBoy has a gui (whereas gnuboy does not) and it worked after install with my Logitech Dual Action controller (though I had to enable the “mode” button on the controller to take it off analog and use the D-pad).
Nintendo NES:
For NES, I suggest a gfceu.
To install, click Applications -> System -> Administration -> Synaptic Package Manager, and search for “gfceu”
To run gfceu, from a console type: gfceu
You’ll be presented with a lovely little GUI to locate and run your NES roms.
Sega Genesis, Sega CD, and 32x Systems:
Gens is a great emulator for the Sega Genesis, Sega CD, and 32x systems. To install:
- Download this handy debian package to a new folder (thanks to chronusdark for this contribution)
- In a console, change to the saved directory.
- Type: sudo dpkg -i gens_2.12a-i386.deb
To run Gens, simply type ‘gens’ in a console. The GUI is pretty intuitive. Make sure you redefine your controls to your gamepad by clicking Option -> Joypads and redefining the controls!
Playstation (PSX):
With such great games as Tenchu and FInal Fantasy 7, I had to have a PSX emulator. I stumbled across ePSXe and haven’t looked at another.Installation can be a bit of a pain, and if you forget anything you may need to start over, so I’m including complete install instructions:
- Open a console, and install the needed packages: sudo apt-get install unzip libgtk1.2-common libgtk1.2
- Create an install dir: sudo mkdir ~/Desktop/epsxe
- Change to the install dir: cd ~/Desktop/epsxe
- chmod the installdir to ensure all users can write to it: chmod -R 777 ./
- Download ePSXe base from this link: http://www.epsxe.com/files/epsxe160lin.zip
- Extract the contents of the above file into the ~/Desktop/epsxe/ directory
- In the console, type: sudo chmod 777 cfg sstates snap memcards
- Next, type: sudo touch memcards/epsxe000.mcr memcards/epsxe001.mcr .epsxerc
- Then: sudo chmod 666 memcards/*
- Followed by: sudo chmod 666 .epsxerc
- Download the PSX BIOS software (PSX firmware) by searching google or any popular search engine for: scph1001.bin
- Move the scph1001.bin file to the ~/Desktop/epsxe/bin/ folder
- Download a hardware acceleration package to the ~/Desktop/epsxe/plugins/ folder: http://www.pbernert.com/gpupetexgl208.tar.gz
- Note that the cfgPeteXGL2 and gpuPeteXGL2.cfg files need to go in the ~/Desktop/epsxe/cfg/ folder!
- Sub-Note: If the hardware acceleration package doesn’t work, you may consider trying to extract http://www.pbernert.com/gpupeopssoftx117.tar.gz to your ~/Desktop/epsxe/plugins folder, making sure to move cfgPeopsSoft and gpuPeopsSoftX.cfg to the ~/Desktop/epsxe/cfg/ folder
- Download the PadJoy input plugin, extract the cfgPadJoy file to the /cfg/ folder, and the to the libpadJoy-0.8.so file /plugin/ folder: http://members.chello.at/erich.kitzmueller/ammoq/down/xjoypad.zip
- Download an audio plugin and extract to the ~/Desktop/epsxe/plugins/ folder: http://www.pbernert.com/spupeopsoss109.tar.gz
- Note: move the file cfgPeopsOSS to the ~/Desktop/epsxe/cfg/ folder!
You can now run ePSXe directly from the ~/Desktop/epsxe/ folder. Make sure you click Config -> Bios, and set it to the ~/Desktop/epsxe/bin/scph1001.bin file.
If you don’t have a PSX disk or iso, you can test it by clicking File -> Run BIOS.
To configure my controller I only had to click Config -> Ext. Game Pad -> Configure
Edit 8/28/2007: Thanks to Matt, I’ve discovered a much easier PSX emulator. Simply download the file below, extract to a folder, and run “pSX” directly from the folder. I’ve tested with all my PSX games and haven’t had any glitches or compatibility issues: http://psxemulator.gazaxian.com/pSX_linux_1_13.tar.bz2
Note that you’ll still need to search google for a scph1001.bin PSX BIOS file and extract it to the /bin/ folder.
Once that’s set, you can configure your controller by clicking File -> Configuration -> Controllers. I think I’ll be using this PSX emulator from now on
*Great computer repair services in Port Charlotte and Punta Gorda, Florida by Harbor Data Systems
[...] After youre done here, click the X to close the config window, and click Game ->… source: Guide to Roms (console game emulation) on Ubuntu, [...]
what about mame?
¿Juegos en Ubuntu? Si con emuladores…
[Ing] Quién dijo que en linux no hay juegos, todo lo contrario, hay miles: SNES, N64, NDS, Gameboy, NES, Genesis, SMS, PSX, … Con los emuladores podrás revivir los juegos de tu consola que ya no funciona….
how can you write an article about game emulation without speaking about MAME ?
Multiple Arcade Machine Emulator
More than 6000 games.
http://mamedev.org/
http://stella.sourceforge.net/ atari 2600
don’t appreciate telling about roms… you should just show the emulators
[...] guide to downloading and using roms for psx snes nes gameboy ds n64 and sega genesis/cd/32xread more | digg [...]
No Commodore 64 love?
The chicken head will fight on!
Good PSX for Win and Linux here:
http://psxemulator.gazaxian.com/
saitek makes a controller that’s almost perfect for N64 emulation. it’s set up almost like the logitech gamepad you mention. the difference is that instead of the four playstation style buttons, there are six, and they’re laid out similarly to the N64. there are two left and two right shoulder triggers. pushing down on the right analog stick is a configurable button press, so for me, it’s start/
so, basically you’ve got all of the N64 buttons and an extras left shoulder trigger to spare. i’ve got mine mapped to toggle fullscreen.
http://saitek.com/uk/prod/p990.htm
Metagg is tracking this post…
Find out what Social News Sites are discussing this post over at metagg.com…
Has anyone managed to get Mupen64 running on Yellow Dog for PlayStation 3?
I tried but had no luck, but I’m a Linux newb.
Why choose one of the most annoying and complex psx emulators to setup instead of the simplest and best one.
http://psxemulator.gazaxian.com/pSX_linux_1_13.tar.bz2
big up
thnx for helpin
Mednafen is a good emulator for linux as well. Mednafen emulates Nintendo, PC Engine/PCFX, Gameboy Advance, Neo Geo Pocket/Colour, Atari Lynx, Wonderswan, and Gameboy. It does it quite well too. Currently, I don’t know if there’s a front end for it, but I highly recommend it!
http://packages.ubuntu.com/edgy/games/mednafen
I find that, for Gameboy and Gameboy Advance, VisualBoyAdvance works pretty well. Also, if you don’t mind a command-line emulator, Mednafen runs NES, Gameboy, GBA, PC Engine (TurboGrafx-16) and Game Gear games.
[...] read more | digg story [...]
niemau mentioned Saitek, but I use the P2900. Same button layout, but it’s wireless. I was able to use it with my Ubuntu Studio box right away. No rumble, but I don’t miss it. I also have yet to change the AA battery in it, just as long as I turn it off after using it.
http://www.saitek.com/uk/prod/p2900.htm
I’m surprised you don’t mention Mednafen, which emulates NES, GB, GBC, GBA, and a few others. IME, it works better than VisualBoyAdvance or anything else.
[...] thepemberton.com»Blog Archive » Guide to Roms (console game emulation) on Ubuntu (tags: game emulator linux guide ubuntu videogame rom emulation console) [...]
Great guide to finding and using ROMS on Ubuntu!
[...] Posted by Oz Music Blog on August 29th, 2007 http://thepemberton.com/posts/archives/12 [...]
[...] I liked playing arcade games, and still do, I thought this link would be of interest for those of us that miss playing arcade games. What’s more, the author [...]
[...] en Ubuntu Guía personal acerca de la emulación de diferentes consolas en Ubuntu Feisty: Nintendo, Sega y [...]
I have opened up a new forum dedicated to gaming for ubuntu players, we are offering support for emulation as well, come by and say hello!
Thanks for the tutorials!
http://www.playubuntu.com
I, for one, legitimately own all the roms I download.
Minish Cap is a GBA title. You’re thinking of Phantom Hourglass.
[...] Guide to Roms (console game emulation) on Ubuntu (tags: games ubuntu emulator roms emulation linux) [...]
Nice…
Sorry
Nice…
Nice
interesting
Cool!
I couldn’t understand some parts of this article o.us poetry, but I guess I just need to check some more resources regarding this, because it sounds interesting.
[...] Link: The Pemberton [...]
You may be interested on this one. It’s a clone of Offlinelist for Linux
Gromlist
Very nice this blog =)
Very nice this blog =)
SDLMAME for Ubuntu packages -> http://wallyweek.altervista.org/
[...] guide to downloading and using roms for psx snes nes gameboy ds n64 and sega genesis/cd/32xhttp://thepemberton.com/posts/archives/12ROM-FREAKs.NET – Download NDS roms DS roms Snes roms N64 roms GBA …Searching for &39psx roms&39. [...]
[...] guide to downloading and using roms for psx snes nes gameboy ds n64 and sega genesis/cd/32xhttp://thepemberton.com/posts/archives/12Roms Zone & Download Roms & Downlaod EmulatorsA Very Large Selection Of Roms to download! [...]
For some reason, my logitech dual action doesnt agree with ubuntu… ive been fighting it for a while… the only config. that let me choose my controller was the one in mupen. how do i do it in the rest (regular key-by-key wont read the joysticks or the d-pad)
thx for any help.
Why not talk about roms?
An emulator is of no use without them.
Sounds like a game programmer or developer having a whinge about losing some income.
Suck it up princess.
Great blog BTW.Very informative.
This is the way things should be, get off what we are on now
Thank you man.
My brother was looking for a way to play these games on Ubuntu after a recent migration from XP.
Your well written guide helped us a lot.
Thanks again!
Hi! I was surfing and found your blog post… nice! I love your blog.
Cheers! Sandra. R.
you can get wine for ubuntu 9.04 an run any emulator up to a psx no ps2 support yet i am working on the code for it an i also will post more info then but with wine you can get project 64 1.6 runing an it play just a bout any thing
This is what I wanted! I was searching on Google since 1 hour and was really depressed as I got nothing but this post really made me happy. I just bookmarked your blog as I will not like to waste my time again on Google.
The layout of the blog is great. Thanks for the info.