Developing an accurate game emulator for PC is an extremely difficult task, involves reverse engineering and many times developers have to sacrifice accuracy to improve compatibility. Emulators require original file system dump from game consoles. Some emulators emulate these components as well making it easier to play games. To play games on emulators, you must have game files, typically called ROMs.
ROM files can be ripped or dumped from your game console or from cartridges and discs using third party software. You need to own both game console and game copy to emulate games on PC. Downloading console firmware files and game ROMs from unauthorized sources without owning the actual console and game copy may be illegal and considered piracy. This article just lists emulation software available for Linux and doesn’t encourage piracy of any sort. Not all emulators will be listed in this article, only the most popular ones based on the console popularity and emulator development activity.
Note that emulators need considerable CPU and GPU power to emulate games, much higher than original game console hardware. Even the most modern and powerful PCs can struggle to emulate games, especially games with high resolution 3D graphics. While emulator developers constantly work to improve compatibility and performance, neither they nor the emulation software can be blamed if certain games don’t work on emulators. They have to rely on limited resources and many times public documentation is not available at all. Most of the emulators available today are free and open source and developers don’t get much monetary benefits to work on them.
Most of the emulators listed below are available in default repositories of almost all major Linux distributions. You can also download pre-compiled binaries and get source code from their websites linked below. Some of the emulators listed below have Android versions as well. You can find builds for Android on their official website.
Sony PlayStation
Many emulators have been in development for Sony PlayStation (PS1 / PSX), some for over a decade. The development of some of these emulators like ePSXe and PCSX have ceased as of today while a few are still being actively developed, namely DuckStation and Mednafen. These emulators have pretty good compatibility rates and use some game specific tweaks to make the game playable. You will need original BIOS files from Sony PlayStation console and ripped ISO files to play games on DuckStation and Mednafen.
Sony PlayStation 2
PCSX2 is the most compatible and comprehensive emulator to play Sony PlayStation 2 games on Linux PCs. In development for nearly two decades, PCSX2 can nearly play every game from the entire Sony PlayStation 2 game catalog. Like Sony PlayStation emulators, PCSX2 also needs original BIOS files to work and of course you also need game ROM files. PCSX2 is based on a plugin system and sometimes multiple graphics and sound renders are available based on the operating system you are using. Play! is another Sony PlayStation 2 emulator that is active in development. While it is not as good as PCSX2 as of now, it is catching up fast and can already be used to play numerous Sony PlayStation 2 games with great compatibility. Play! Doesn’t require you to have original BIOS files but you still need game ROM files.
Sony PlayStation 3
RPCS3 is the only Sony PlayStation 3 emulator available at the time of writing this article. It has great compatibility and can use Vulkan renderer to draw game graphics. The developers are quite active and regularly publish development logs to share insights with users. Some games are known to run better, with richer graphics on RPCS3 than on the original Sony PlayStation 3 game consoles. RPCS3 requires firmware files and ROM files to work. Firmware files can be downloaded from the official PlayStation website.
PlayStation Portable (PSP)
PPSSPP is an open source emulator that can be used to play PlayStation Portable (PSP) games on Linux PCs. Its user interface is developed using Qt libraries and it doesn’t require game BIOS or firmware files to work. PPSSPP is the only PSP emulator for PC that can play almost the entire PSP game catalog. PPSSPP also comes with an on-screen gamepad and you can emulate games on Linux based tablet PCs.
Nintendo GameCube / Nintendo Wii
The Dolphin emulator can emulate both Nintendo GameCube and Nintendo Wii games. There are some hardware similarities between these two game consoles, so Dolphin developers developed the emulator to support both game consoles. Dolphin emulator supports classic game controllers on PC as well as Wii Nunchucks and other motion sensitive controllers. Like RPCS3, the Dolphin emulator also comes with a Vulkan renderer.
Nintendo 64
Many emulators have been in development for Ninntendo 64 since the launch of the console. Some of them are defunct now while others have been taken over by new developers. The most active Nintendo 64 emulation project today is Mupen64Plus. Mupen64Plus also features a command line interface if you want to use scripts and need some automation.
Nintendo GameBoy, GameBoy Color and GameBoy Advance
You can use SameBoy and Gambatte to emulate Nintendo GameBoy, GameBoy Color and Super GameBoy console games. Gambatte has been in development for quite a long time and it is one of the most accurate GameBoy Color emulators available out there. SameBoy is relatively newer but it is already very accurate and supports multiple GameBoy consoles.
GameBoy Advance games can be emulated through VisualBoyAdvance-M and mGBA emulators. Both these emulators have been in development for quite a long time and offer high accuracy and good compatibility.
NES and SNES
A number of different emulation software are available for Nintendo Entertainment System (NES) and Super Nintendo Entertainment System (SNES) game consoles. NES emulators don’t require much hardware horsepower and can be run on old and low end PCs. You can use Mesen and PuNES, both offer high compatibility and accuracy on par with real NES consoles.
For SNES, you can use the Higan emulator. It is the most accurate and bug free emulator created for any game console platform. It almost entirely mimics the original game console without any compromises. Developing an highly accurate emulator is an extremely difficult task but talented developers of Higan have achieved almost 100% accuracy and compatibility with all SNES games. You can also use Bsnes and Snes9x as alternatives to Higan.
Nintendo DS and Nintendo 3DS
You can use melonDS and DeSmuME to emulate Nintendo DS games. Both these emulators have support for touch screen input required to play Nintendo DS games. You can even use tablet PCs and your touchscreen taps will be correctly detected by these emulators. For displays without touch support, you can use mouse pointer to emulate touch screen taps.
Nintendo 3DS can be emulated through Citra emulator. Citra is currently actively in development but it has made astonishing progress in a short period of time, thanks to the talented team of developers working on it. It offers decent compatibility and touch screen support and many popular games can already be played using the emulator.
Nintendo Switch
Yuzu and Ryujinx are the two main emulators available today that can emulate some commercial Nintendo Switch games on Linux PCs. Both these emulators are under heavy development and not many games are compatible and playable. However, they are progressing at great speed and some high resolution 3D games can be played from start to finish with some minor tweaks. This kind of progress usually takes years of development in the emulation scene. Yuzu is being developed by the same developers who are working on the Citra emulator.
Sega Dreamcast
Reicast is the only Sega Dreamcast emulator available for Linux that can emulate some games. Accuracy and game compatibility is average, some games fail to boot. However, many popular games can still be played from start to finish with some compromises and caveats.
RetroArch, Mednafen, MAME and Higan
Some emulators can emulate multiple game consoles and can act as a frontend to manage games from these platforms. These emulators provide global settings to manage all emulators as well as platform specific settings to tweak emulation parameters. MAME emulates arcade game machines and other similar vintage gaming devices. RetroArch is an emulation frontend that hooks into game specific emulation cores to play games. It supports over hundred emulation cores, a list of these cores is available here. Mednafen can emulate Sega Saturn, Sega Genesis, Sega Master System, Sega Game Gear, Atari Lynx, PC Engine and many other game consoles. You can find a full list available here. Higan supports over 25 different console systems, you can find a full list here (scroll down).
Conclusion
Almost all major game console emulators available for PCs are free and open source with a few exceptions. These emulators have been supporting Linux as a first class citizen for a Long a time. Some emulators have also embraced Vulkan renderer to improve performance and graphics.