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.
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
- Three memory manager modes available
- Software-based mode (slower)
- Host-mapped modes (much faster)
- Host unchecked mode (fastest, set by default)
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:- Disk Shader Caching - Reduces stuttering by caching compiled shaders
- Resolution Scaling - Render games at higher resolutions
- Anti-Aliasing - Smooth jagged edges
- Scaling Filters - Including AMD FidelityFX Super Resolution (FSR)
- Anisotropic Filtering - Improved texture quality at angles
- Aspect Ratio Adjustment - Custom aspect ratios
- 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)
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
- 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
- Discord: Join the community at discord.gg/PEuzjrFXUA
- Wiki: Guides and documentation available on the Wiki
- GitLab: Source code hosted at git.ryujinx.app
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