Skip to main content

Introduction to Ryujinx

Ryujinx is an open-source Nintendo Switch emulator, originally created by gdkchan, written in C#. This emulator aims at providing excellent accuracy and performance, a user-friendly interface and consistent builds. Ryujinx Interface

Project History

Ryujinx was written from scratch with development beginning in September 2017. On October 1st, 2024, the original Ryujinx project was discontinued as the creator was forced to abandon the project. The current version is a community-maintained fork intended to be a quality-of-life uplift for existing Ryujinx users.
This is not a Ryujinx revival project. This is not a Phoenix project. It is a continuation focused on maintaining and improving the existing codebase for the community.

Key Features

Ryujinx offers comprehensive Nintendo Switch emulation with the following capabilities:

CPU Emulation

ARMeilleure CPU emulator with ARMv8 support, featuring Profiled Persistent Translation Cache for significantly reduced load times

GPU Emulation

Maxwell GPU emulation with OpenGL 4.5+, Vulkan, or Metal (MoltenVK) support, including resolution scaling and FSR

Audio Support

Full audio output through OpenAL, SDL3, and libsoundio backends

Input Devices

Keyboard, mouse, touch, Joy-Con, and controller support with motion controls

CPU: ARMeilleure

The CPU emulator, ARMeilleure, emulates an ARMv8 CPU and currently has support for most 64-bit ARMv8 and some of the ARMv7 (and older) instructions, including partial 32-bit support. How it works:
  • Translates ARM code to a custom intermediate representation (IR)
  • Performs optimizations on the IR
  • Converts the optimized IR to x86 code
Memory Management Options:
  • Three memory manager modes available
  • Software-based mode (slower)
  • Host-mapped modes (much faster)
  • Host unchecked mode (fastest, set by default)
Profiled Persistent Translation Cache (PPTC):
PPTC is enabled by default in Options menu > System tab. This feature caches translated functions so they don’t need to be retranslated on every game launch.Important: You must launch the game at least twice to the title screen or beyond before performance improvements take effect on the third launch. These improvements are permanent.

GPU: Graphics Enhancements

The GPU emulator provides six graphics enhancements:
  1. Disk Shader Caching - Reduces stuttering by caching compiled shaders
  2. Resolution Scaling - Render games at higher resolutions
  3. Anti-Aliasing - Smooth jagged edges
  4. Scaling Filters - Including AMD FidelityFX Super Resolution (FSR)
  5. Anisotropic Filtering - Improved texture quality at angles
  6. Aspect Ratio Adjustment - Custom aspect ratios
API Requirements:
  • OpenGL: Version 4.5 minimum
  • Vulkan: Supported
  • Metal: Via MoltenVK on macOS

Input

Ryujinx supports a wide range of input devices:
  • Keyboard and mouse
  • Touch input
  • Joy-Con controllers (with native motion support)
  • Nearly all third-party controllers
  • Dual-JoyCon motion (requires DS4Windows or BetterJoy)
All input can be configured through the built-in input configuration menu.

DLC & Modifications

Downloadable Content

Manage DLC and add-on content directly through the GUI

Mod Support

Support for romfs, exefs, and runtime mods including cheats. Access via GUI shortcut to game-specific mods folder

Configuration

The emulator provides extensive configuration options:
  • Logging controls
  • Controller remapping
  • Graphics settings
  • Audio backends
  • System settings
Configuration can be managed through:
  • GUI: User-friendly graphical interface
  • Config file: Manual editing of Config.json (accessible via File > Open Ryujinx Folder)

License

Ryujinx is licensed under the MIT license, making it free and open-source software.
The project uses code from libvpx (BSD license) and ffmpeg (LGPLv3 license). See the THIRDPARTY.md file for complete licensing details.

Community & Support

Next Steps

Ready to get started? Check out the following pages:

System Requirements

Verify your system meets the minimum requirements

Installation

Download and install Ryujinx on your platform

Quick Start

Load your first game and start playing

Configuration

Optimize settings for your system

Build docs developers (and LLMs) love