· retrogaming · 7 min read
The Ultimate Guide to Running Nintendo 64 Emulators on Modern Systems: A Step-by-Step Approach
Step-by-step guide to run Nintendo 64 emulators across Windows, macOS, Linux and Raspberry Pi - covers emulator choices, plugins, controller setup, graphics/upscaling, texture packs, performance tweaks and troubleshooting.

Introduction
The Nintendo 64 remains one of the most beloved consoles, and modern systems can breathe new life into N64 games through emulation. This guide walks you through current options and practical steps to run N64 emulators on Windows, macOS, Linux, and Raspberry Pi - covering emulator choices, video/audio plugins, upscaling and texture packs, controller mapping, and common troubleshooting.
Legal note: Use emulators responsibly. Only run ROMs and BIOS files you legally own. Distribution and downloading of copyrighted ROMs is illegal in many jurisdictions.
Which emulator should you choose? (Quick overview)
- Project64 (Windows) - user friendly, mature, plugin-based, great for beginners. Project64 official site
- RetroArch + Libretro cores - cross-platform, modular, excellent for frontend features (shaders, netplay, rewind). Use cores like mupen64plus, mupen64plus-next, or parallel-n64. RetroArch (Libretro)
- Mupen64Plus / Mupen64Plus-Next - accurate, widely used on Linux and embedded systems. Mupen64Plus
- ParaLLEl N64 - modern, high-performance core using Vulkan, accurate RDP emulation (best on high-end PCs with Vulkan). ParaLLEl N64 GitHub
- GLideN64 - advanced OpenGL/Vulkan video plugin with texture replacement and upscaling; often paired with mupen64plus/Project64. GLideN64 GitHub
- angrylion’s RDP (Angrylion-Plus) - cycle-accurate renderer for pixel-perfect results but high CPU cost. angrylion-rdp-plus GitHub
Choose based on your priorities: ease-of-use (Project64), cross-platform and features (RetroArch), or maximum accuracy/performance (ParaLLEl + GLideN64 / angrylion).
Prerequisites and basics
- A reasonably modern CPU/GPU for high-resolution upscales. ParaLLEl N64 benefits from Vulkan-capable GPUs.
- Controller (Xbox/PlayStation/XInput or USB N64-style controllers via adapters).
- Acquire ROM files you legally own and, optionally, texture packs.
- Update graphics drivers and platform packages before troubleshooting.
Windows - step-by-step
Choose your emulator:
- Beginner - Project64 (download from the official site).
- Power user - RetroArch with mupen64plus-next or ParaLLEl core for better features and netplay.
Project64 setup (fast):
- Download and install Project64: https://www.pj64-emu.com/.
- Place your ROMs in a safe folder and open them in Project64.
- Plugins - Project64 can use GLideN64 or angrylion as video plugins - use GLideN64 for performance and high-res textures, angrylion for accuracy.
- Controllers - Configure in
- Video settings - If using GLideN64, enable “Framebuffer Emulation” and set internal resolution (2x, 3x, etc.) to taste. Enable texture replacement for texture packs.
RetroArch setup (recommended for cross-platform features):
- Install RetroArch: https://www.libretro.com/
- Install cores:
mupen64plus_nextorparallel-n64(ParaLLEl). Use the Core Updater in RetroArch. - Place texture packs in the appropriate folder and configure GLideN64 core options.
- Input - Configure controller in Quick Menu -> Controls.
- Shaders and filters - RetroArch includes many shaders for scanline smoothing or CRT effects.
Recommended Windows tweaks:
- GPU drivers - keep up to date (NVIDIA/AMD/Intel).
- Use an exclusive fullscreen mode in RetroArch for lower latency.
- For audio crackle/stutter - increase audio buffer size or enable threaded audio in the core settings.
macOS - step-by-step
macOS support varies by emulator. RetroArch is the best cross-platform option.
- Install RetroArch for macOS: https://www.libretro.com/
- Install mupen64plus-next core via Core Updater. ParaLLEl N64 is limited on macOS because of Vulkan dependencies; macOS’s MoltenVK can help but is not always stable.
- Configure controllers - macOS will detect Xbox and Playstation controllers; map via Quick Menu.
- For texture replacement and GLideN64 features - GLideN64 support inside cores may be limited on macOS; use mupen64plus-next and set core options accordingly.
Note: Building certain plugins (GLideN64/ParaLLEl) from source on macOS may require Homebrew packages and substantial compilation steps.
Linux - step-by-step (Ubuntu/Debian examples)
- Install RetroArch and Mupen64Plus from packages:
sudo apt update
sudo apt install retroarch mupen64plus mupen64plus-ui-consoleRetroArch cores - Use
- ParaLLEl N64 (GitHub): https://github.com/ParaLLEl/ParaLLEl-N64
- GLideN64: https://github.com/gonetz/GLideN64
Configure video driver - choose OpenGL or Vulkan depending on your hardware. For AMD/NVIDIA ensure Mesa or vendor drivers are installed and current.
Controller setup - Linux recognizes XInput controllers via
Building from source (if needed) - clone repositories and follow their build instructions - typically using
Raspberry Pi (RetroPie / Lakka / Raspberry Pi OS)
Raspberry Pi (especially Pi 4/400) can run many N64 titles, but performance varies.
Recommended platforms:
- RetroPie (for classic emulation experience): https://retropie.org.uk/
- Lakka (lightweight RetroArch distribution): https://www.lakka.tv/
Setup tips:
- Use a Pi 4 or better. Pi 3 will struggle with many N64 titles.
- Install RetroPie or Lakka and enable the mupen64plus-libretro core.
- Use GLideN64 for faster rendering; angrylion is too CPU-heavy for Pi.
- Performance tweaks:
- Lower internal resolution (1x native) and disable expensive post-processing.
- Use overclocking profiles carefully (verify temps and stability).
- Allocate more GPU memory in raspi-config (e.g., 256MB for GPU) but avoid starving the CPU.
- If a specific title is slow, check the RetroPie/Libretro Wiki for per-game settings and compatibility lists.
Resources: RetroPie (https://retropie.org.uk/), Lakka (https://www.lakka.tv/)
Graphics, Texture Replacement and Upscaling
- GLideN64 is the most feature-rich plugin for texture packs and upscaling. It supports high-resolution textures, anistropic filtering, and post-processing.
- angrylion offers cycle-accurate rendering for correct visuals (but no high-res textures and heavy CPU usage).
- ParaLLEl aims for accuracy and performance, using Vulkan and advanced RDP emulation.
Texture replacement workflow:
- Acquire texture pack for the title (legal note - only use textures for games you own).
- Put the texture pack in the GLideN64 expected folder (Project64/RetroArch config path). GLideN64 docs explain expected folder structure.
- Enable “Load High-Res Textures” and set the path in GLideN64 core/video plugin settings.
Upscaling tips:
- Internal resolution - try 2x–4x depending on GPU power.
- Anti-aliasing - FXAA/TAA options available in GLideN64/RetroArch shaders.
- Enabling framebuffer emulation improves effects like blur, but costs performance.
References: GLideN64 (https://github.com/gonetz/GLideN64)
Controller setup and mapping
- Windows - XInput (Xbox controllers) is plug-and-play. For DualShock, use DS4Windows.
- macOS - Most modern controllers are recognized; map via RetroArch.
- Linux - Use xpad or xboxdrv. Configure within RetroArch or mupen64plus.
- Raspberry Pi - Bluetooth controllers work with RetroPie, but wired controllers offer lower latency.
Mapping tips:
- Configure analog deadzones to avoid drift.
- Set rumble controller support if needed (USB adapters and drivers matter).
Common issues and troubleshooting
Black screen or missing graphics
- Try switching video plugin (GLideN64 <-> angrylion).
- Enable/disable framebuffer emulation.
- Update GPU drivers and ensure the latest core/plugin version.
Audio crackle/stutter
- Increase audio buffer size or enable threaded audio in core options.
- Disable audio resampling or set a lower latency mode.
Controller not detected
- Ensure drivers installed (Windows - XInput; Linux: xpad/xboxdrv).
- Try mapping in RetroArch Quick Menu or Project64 input settings.
Game runs slowly / low FPS
- Use a lighter video plugin (GLideN64 over angrylion), lower internal resolution, or enable multi-threaded options.
- For ParaLLEl, ensure Vulkan drivers are installed and use a powerful GPU.
- On Pi - lower resolutions, overclock carefully, and prefer RetroPie with mupen64plus.
Save files not loading
- Confirm saves are in the expected directory for each emulator/core.
- Check ROM checksums if save types differ (some emulators use slot-specific naming).
Texture pack issues
- Ensure CRC hash of the ROM matches the texture pack target. Texture packs are often keyed to specific ROM dumps.
- Place textures in the correct folder and enable texture replacement in GLideN64.
Crashes / plugin errors
- Update core/plugin to latest release.
- Run the emulator from the command line to capture error logs.
Advanced: building cores/plugins from source
If you want bleeding-edge features or Vulkan builds (ParaLLEl / GLideN64), you may need to compile from source.
General steps:
- Install build tools - git, cmake, gcc/clang, make, and platform-specific dev libraries.
- Clone repository:
git clone https://github.com/gonetz/GLideN64.git(example). - Follow the repo’s README for instructions (cmake configuration, dependencies such as SDL2, OpenGL/Vulkan SDK).
Note: Building ParaLLEl requires a Vulkan SDK and often an up-to-date driver/GL loader.
Performance tuning checklist
- Use GLideN64 for a balance of performance and visual enhancements.
- Use angrylion only if you need pixel-perfect accuracy; expect heavier CPU usage.
- For best performance on modern PCs, use ParaLLEl N64 with Vulkan if available.
- Keep internal resolution conservative on low-power systems (Pi or integrated GPUs).
- Use RetroArch’s frame throttle, vsync and low-latency modes to manage input lag.
Quick per-platform recommendations
- Windows - RetroArch (mupen64plus-next or ParaLLEl) for modern features, or Project64 for a simple setup.
- macOS - RetroArch with mupen64plus-next; avoid complex Vulkan builds unless experienced.
- Linux - RetroArch + mupen64plus / ParaLLEl if you can build it; update Mesa/drivers.
- Raspberry Pi - RetroPie or Lakka with mupen64plus-libretro (GLideN64), Pi 4 recommended.
Useful links and resources
- RetroArch / Libretro: https://www.libretro.com/
- Project64: https://www.pj64-emu.com/
- Mupen64Plus: https://mupen64plus.org/
- ParaLLEl N64 (GitHub): https://github.com/ParaLLEl/ParaLLEl-N64
- GLideN64 (GitHub): https://github.com/gonetz/GLideN64
- angrylion RDP (angrylion-rdp-plus): https://github.com/SmokeMonsterPacks/angrylion-rdp-plus
- RetroPie: https://retropie.org.uk/
- Lakka: https://www.lakka.tv/
- Raspberry Pi: https://www.raspberrypi.org/
Final notes
Running N64 emulation on modern systems provides a flexible way to enjoy classics with better resolution, smoother framerates and improved input. Your best setup depends on the platform and how much accuracy vs. performance you want. Start simple (RetroArch or Project64), then experiment with GLideN64/ParaLLEl and texture packs once you’re comfortable.



