Recommended N64 plugins
The N64 emulation scene has been described as a broken mess, the very definition of plugin hell. This page is an attempt to make sense of the madness for the benefit of both the casual and enthusiast looking to get their N64 emulation fix.
Note that these plugins will NOT work on Mupen64Plus, As such, it has its own plugins, and recommendations can be found at its own section on this page.
Project64 2.4 - The most recent version of Project64, now public and open source. After years of dormancy, development has rapidly picked up and most of the issues with earlier releases have been fixed. Some users (particularly those using Windows 10) have reported problems with BSODs, though recent development versions have fixed them. The user interface is quite a bit nicer and easier to use, and switching between RSP plugins is far easier than in 1.6. It also fixed a number of games that were completely broken in 1.6, such as Kirby 64. For general use, it is now considered the best and most compatible N64 emulator. GLideN64 at this time provides the most accurate high level graphics emulation. For hard to emulate games like Pokémon Snap, angrylion-rdp will provide the needed accuracy at the cost of higher performance requirements.
Project64 1.6 - The older but more stable version. The interface is slightly clunkier, and switching between RSP plugins is a pain (the desired RSP plugin must be named rsp.dll for the emulator to see it and use it). It is still a good emulator for general use, as it has good compatibility with most of the popular games.
Mupen64 - An open source, multiplatform N64 emulator. Even though its last update by its original author was in 2005, it is possibly even more compatible than Project64 1.6, particularly with more obscure or less discussed titles, though it has incompatibilities of its own. Its modern, currently active successor is Mupen64Plus, which improves upon the original's compatibility but chose to depart from Zilmar's plugin spec, rendering it incompatible with the plugins discussed in this page. It is also less accessible than its forebearer, owing to its lack of a native GUI.
This pack has these four emulators, a few older and special or modified versions, and more obscure and largely irrelevant emulators added only for specific fringe cases, as well as every plugin discussed in this page and more.
- Jabo's Direct3D - Comes with Project64. Very speedy, has built-in AA, AF options, and is one of the only plugins with a widescreen hack. The most recent version included with Project64 2.x (220.127.116.11-ver5) is somewhat buggy and has regressions, however, so the version included in Jabo's 1.6.1 patch is recommended instead for most cases, though the former can run in LLE mode, which can help with a few games. Sadly, it will likely never see another update again, and there is some talk of replacing it with either Glide64 or GLideN64 as Project64's default video plugin or even removing it outright.
- Glide64 - Also comes with Project64 as of version 2.1. Often much more accurate and compatible than Jabo's plugin, and has a wealth of options, though it can be slower on lower-end machines, and may not work on integrated graphics. Still, it is overall the best and most compatible plugin for general use, though it is by no means issue-free, and it is very likely little to no further improvements will be made to it. The version bundled with Project64 2.x is only really meant to work with those versions of Project64, however, so if you're using another emulator, try Glide64 Final instead.
- Rice Video - A fast, highly configurable video plugin famous for its ability to load hi-res textures, making it a popular plugin within the N64 emulation community. The 1964 team eventually annexed it as its official video plugin, renaming it 1964Video. There are many versions and forks of it floating around, either to fix issues or add features. For the most part, however, it has fallen behind in comparison to Glide64, which can now also load hi-res textures. As such, none of its variations are recommended for general use unless there's a very specific fringe case or you're on a toaster.
- z64gl - A hardware-accelerated, low-level plugin developed by ziggy, derived from MAME's N64 driver. It has the capability to render at the N64's native resolution in case you don't like super sharp polygons with low-res textures. It also includes experimental multi-threading support. Requirements are heavier than Jabo's plugin and Glide64, and configuration requires editing the config file directly. Needs an LLE RSP plugin, such as the bundled z64 RSP or Project64's RSP plugin set to LLE graphics. Overall, it tends to be quite glitchy with many games, but it is one of the only plugins capable of properly displaying difficult games such as Rogue Squadron. After years of abandonment, a recent fork has cropped up that aims at improving this plugin's accuracy and fixing its bugs by incorporating code from angrylion's plugin and improving the overall code quality.
- GLideN64 - A plugin developed by the maker of Glide64, though its code is actually originally based on gln64 (with combiner hacks from Glide64 and LLE code from z64gl). The plugin currently supports mip-mapping, emulation of low-level triangles, microcode of some games, gamma correction, flat and prim shading, VI emulation, and LLE graphics (though defaults to HLE). By 2018, it has implemented HLE support of microcodes for many popular N64 games to enable fast performance, even on mid to high-end PC's/systems, and graphical enhancements. It currently fixes numerous long-standing issues in games and is capable of smoothly emulating advanced framebuffer effects in hardware that Glide64 and Jabo could not without resorting to software and murdering the framerate in the process. It also supports several enhancements, such as hi-res custom texture support, AA and AF, a widescreen hack, and even some shaders. There is support for an "Overscan" feature that helps the users to remove black borders around a game's visual output. However, it requires at least OpenGL 3.3 in the latest versions to run, and OpenGL 4.x for some advanced functions, making this plugin very toaster-unfriendly. It is also not without its share of issues and regressions on some games compared to Glide64. Its LLE mode is also much slower than even z64gl, and some of the plugin's features are broken in this mode.
- Official Angrylion RDP - A software-rendered, hardware-accurate plugin, developed by angrylion (though derived from MAME, much like z64gl). This specific version is the most accurate N64 renderer in existence, it is capable of playing almost every single game in the N64 library with no issues, fixing even notorious cases such as the Pokémon Snap red dot and the Body Harvest bridge. However, because of its sheer intensiveness, it is currently little more than a curiosity. Try it out if you have a tricked-out rig and want to test your CPU's mettle. This plugin uses Direct Draw and is Windows only.
- HatCat/angrylion's Pixel-Accurate N64 Plugin - This is a fork of Angrylion's RDP, done by HatCat. It has some optimizations not present in the official code, but is outdated and lacking some accuracy improvements and optimizations written by Angrylion. It has the option to disable the VI filters (which gives a speed boost), as well as the ability to set custom resolutions. Also, this version uses OpenGL 1.x instead of Direct Draw and supports Linux.
- Angrylion RDP Plus - This is a fork of Angrylion's RDP that supports multithreading. It now uses OpenGL 3.3 and also supports Linux. The multi-threading helps boost performance significantly, but some games are still not full speed on an i7 8700k. This fork has at least one accuracy regression, compared to the official version of Angrylion. It also allows you to disable VI filters.
- Jabo's DirectSound - Comes with Project64. It works fine for the most part, but some games may not play nice with it. It is a low-level plugin, so it needs an accompanying LLE RSP plugin. Will probably never be updated again.
- Azimer's HLE Audio - This popular HLE audio plugin boasts high compatibility. Version 0.56WIP2 is old as hell, but it is the tried and true standard to which audio plugins are compared against. Recently, Azimer open sourced his plugin, and there are plans to integrate it into Project64 and eventually replace Jabo's as its official audio plugin. The latest development versions have a few issues, however.
- Shunyuan's HLE Audio - An audio plugin, apparently based on 1964Audio and HatCat's RSP plugin. Can run in both LLE and HLE modes despite the name, though the HLE mode just makes it run a baked-in version of HatCat's RSP, which makes it not a true HLE plugin. Has been abandoned after charges of just taking others' code without revealing a source. If games run at a weird speed using this plugin, go to the ROM's Game Settings, and disable Fixed Audio Timing and Sync using Audio. Despite its Frankenstein nature, it actually works surprisingly well, although modern development versions of Project64 no longer work with it, apparently due to it depending on a bug that has now been fixed.
- Jabo's DirectInput - Comes with Project64, but now removed in favor of N-Rage Input. It isn't too bad, but it may have some compatibility problems with some controllers. Should work just fine with the keyboard if you're one of those masochists who emulates without a controller. Only standard controller emulation with nothing attached to it. As usual, do not expect any updates.
- N-Rage Input - Also comes with Project64 as of version 2.2. Hands down the best input plugin as it is more feature complete than Jabo's DirectInput. Has a ton of options and great controller compatibility, including XInput support for use with Xbox 360 controllers. It can't emulate the microphone that is required by Hey You, Pikachu or the printer required for the Pokémon Snap Station. It has the ability to emulate Controller Pak (Mario Kart 64's ghost saves), Rumble Pak (Star Fox 64), and Transfer Pak (Pokémon Stadium series) functionality fairly well. Version 2.3 of Project64 introduced a version of the plug-in that can emulate the N64's mouse accessory designed for the 64DD to coincide with Project64's newest ability to emulate the 64DD accessory. Surprisingly, Mario Artist: Paint Studio can use the Japanese Game Boy Camera (called Pocket Camera) in Transfer Pak mode, but the camera function doesn't work as it displays static, although importing captured images still works technically.
- Raphnetraw - This open source plugin allows streamlined use of N64 controller(s) via raphnet N64-to-USB v3+ adapters. It supports rumble and is available for Project64 and mupen64plus. Also contains various DLLs for special port arrangements (link).
- Zilmar's RSP - Comes with Project64. Very accurate, quite fast in Recompiler mode, and will work fine for every game. The version included in Project64 2.x can work with both LLE and HLE plugins by toggling the relevant options in the Plugins settings menu.
- Mupen64 HLE RSP - Comes with Mupen64. A very fast and compatible HLE RSP plugin. Written by Hacktarux and Azimer. Has issues with some games, particularly those using MusyX microcode. MusyX support was later added to the Mupen64Plus version, but those changes have yet to be backported to the zilmar-spec version.
- z64 RSP plugin pack - Largely deprecated. This set of RSP plugins comes with the z64 video plugin, each with their own purpose:
- Ziggy-z64RSP - This RSP is based on the MAME/MESS RSP code. It is slower but more accurate.
- Ziggy-PJ64 - Based on the Project64 1.4 RSP, this plugin is much faster.
- angrylion - This RSP is a simple Interpreter, and is required for a few games like World Driver Championship to work correctly with z64gl.
- "Static" RSP Interpreter - Made by HatCat and originally released in Project64 Forum. as of the most recent release version, it is not only one of the most accurate RSP plugins, but also one of the fastest if using the SSSE3 version, though zilmar's RSP in Recompiler mode trumps it in speed. It also comes in SSE2 and non-SSE variations in case your PC does not support those instruction sets. It is capable of working with both HLE and LLE audio and video plugins via the following settings:
- Send display lists to the graphics plugin - Check if using an HLE graphics plugin, uncheck if using LLE
- Send audio lists to the audio plugin - Check if using an HLE audio plugin, uncheck if using LLE
- Force CPU-RSP signals synchronization - Check if playing Gauntlet Legends, World Driver Championship, or Stunt Race 64. Only works with Project64 2.x.
- Support CPU-RSP semaphore lock - Check to fix issues with Mario no Photopie. Only works with Project64 2.x.
- Parallel RSP - A fast and accurate RSP based on the work of Themaister and is a RSP option mainly used in the Parallel N64 Libretro core however it is also possible to use it with M64p and RMG as a plugin.
Recommended N64 Setups
Project64 and Others
- Commonly Used
- Glide64 18.104.22.168
- Shunyuan's HLE Audio (set to LLE)
- "Static" RSP Interpreter or Zilmar's RSP
- Either of the RSP plugins should be fine for most games. HatCat's RSP is slightly more accurate. However, zilmar's is much faster. Keep in mind that Glide64 22.214.171.124 is the same as Glide64 Final. Glide64 126.96.36.199 is just a merge of Glide64, GlideHQ, and Glitch64 (which of course the final version has) to be one file, but limits you to certain settings that cannot be changed with the emulator.
- Best Performance
- Glide64 Final
- Azimer's HLE Audio
- Zilmar's RSP
- Make sure you configure the graphics plugin to show texture enhancement options. Then you'll have an extra tab to change more options. Goto the texture enhancement tab and click on the button that gives the best performance and it should improve framerate once you saved the settings. There's also another button for best texture quality. There's no need to touch the other plugins. Recommended for most emulators.
- angrylion's Pixel-Accurate N64 Plugin (RDP Plus)
- Azimer's Audio NEW
- "Static" RSP Interpreter
- If you have a decent quad-core CPU, you can run many N64 games with pixel-perfect graphics at full speed, thanks to the new multithreaded version of angrylion's software plugin. The new Azimer's plugin (still WIP) works good in LLE. Since there's almost no visual difference, you may as well use PJ64's RSP to get better performance.
Mupen64Plus has its own set of plugins which are incompatible with plugins used in other emulators. Here is an overview of recommended setups.
- Commonly Used
- Video: Glide64mk2
- RSP: cxd4-ssse3 or Parallel RSP
- Glide64mk2 is just Glide64 with additional tweaks and enhancements for use with Mupen64Plus. cxd4 is one of HatCat's many names. The cxd4 plugin is a port of his RSP for zilmar-spec emulators. This appears to be the best combination for use with most games, though toasters may have performance issues.
- Best Performance
- Video: Rice
- RSP: rsp-hle
- These are Mupen64Plus's default plugins. Rice's Video is a plugin used on other N64 emulators, most known for its support for hi-res texture packs, now enhanced for Mupen64plus. It is not quite up to Glide64's level, but it does well enough for many games and is quite fast. The default RSP plugin appears to be just an enhanced port of vanilla Mupen64's RSP. Use this combination if you have a lower end PC and can't handle the Commonly Used setup.
- Accuracy/Rogue Squadron
- Video: z64 or angrylion's Per-Pixel RDP with OpenGL
- RSP: cxd4-ssse3 or Parallel RSP
- z64 is a port of z64gl, a low-level emulation video plugin for N64 emulators. It comes with its own accompanying z64 RSP, but cxd4 (a port of HatCat's RSP Interpreter plugin) appears to be more accurate and very well optimized. This setup is capable of playing difficult games like Rogue Squadron with very few graphical glitches and faster than on Project64 to boot.
Note: In some cases the cfg file may not appear, in which case you may do this:
- Open terminal in emulator folder on in its respective directory
- mupen64plus --configdir /directory/where/you/want/it/to/be