Experimental Switch emulator written in C#
Clone or download
gdkchan Improve kernel IPC implementation (#550)
* Implement some IPC related kernel SVCs properly

* Fix BLZ decompression when the segment also has a uncompressed chunck

* Set default cpu core on process start from ProgramLoader, remove debug message

* Load process capabilities properly on KIPs

* Fix a copy/paste error in UnmapPhysicalMemory64

* Implement smarter switching between old and new IPC system to support the old HLE services implementation without the manual switch

* Implement RegisterService on sm and AcceptSession (partial)

* Misc fixes and improvements on new IPC methods

* Move IPC related SVCs into a separate file, and logging on RegisterService (sm)

* Some small fixes related to receive list buffers and error cases

* Load NSOs using the correct pool partition

* Fix corner case on GetMaskFromMinMax where range is 64, doesn't happen in pratice however

* Fix send static buffer copy

* Session release, implement closing requests on client disconnect

* Implement ConnectToPort SVC

* KLightSession init
Latest commit 22bacc6 Jan 18, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
ChocolArm64 Fix Frecpe_S/V and Frsqrte_S/V (full FP emu.). Add Sse Opt. & SoftFlo… Dec 26, 2018
Ryujinx.Audio Audio: Track and Call ReleaseCallbacks in the Dummy Audio Output (#508) Nov 19, 2018
Ryujinx.Common Refactor Ryujinx.Common and HLE Stub Logging (#537) Jan 11, 2019
Ryujinx.Graphics SNK 40th Anniversary Out of Bounds Fix (#557) Jan 18, 2019
Ryujinx.HLE Improve kernel IPC implementation (#550) Jan 18, 2019
Ryujinx.LLE Add Sqdmulh_S, Sqdmulh_V, Sqrdmulh_S, Sqrdmulh_V instructions; add 6 … Aug 10, 2018
Ryujinx.ShaderTools Move MaxUboSize definition (#530) Dec 18, 2018
Ryujinx.Tests.Unicorn Remove unnecessary usings (#463) Oct 17, 2018
Ryujinx.Tests Fix Frecpe_S/V and Frsqrte_S/V (full FP emu.). Add Sse Opt. & SoftFlo… Dec 26, 2018
Ryujinx Refactor Ryujinx.Common and HLE Stub Logging (#537) Jan 11, 2019
.gitattributes aloha Feb 4, 2018
.gitignore Implement ContentManager and related services (#438) Nov 18, 2018
.travis.yml Add some tests (#18) Feb 16, 2018
CONFIG.md Update the Readme (#546) Dec 18, 2018
KEYS.md Add XCI, NSP and NCA loading support (#404) Sep 8, 2018
LICENSE.txt aloha Feb 4, 2018
README.md Update the Readme (#546) Dec 18, 2018
Ryujinx.sln Move logging to Ryujinx.Common and make it a static class (#413) Oct 17, 2018
Ryujinx.sln.DotSettings Adjust naming conventions and general refactoring in HLE Project (#527) Dec 6, 2018
appveyor.yml Normalize all the line endings (#518) Nov 29, 2018


Ryujinx Build status

Experimental Switch emulator written in C#

Many games boot, only a handful are playable, see the compatiblity list here.


To build this emulator, you will need the .NET Core 2.1 (or higher) SDK or just drag'n'drop the homebrew *.NRO / *.NSO or the game *.NSP / *.XCI on the executable if you have a pre-built version.


  • Audio is partially supported.

  • Keyboard Input is supported, see CONFIG.md

  • Controller Input is supported, see CONFIG.md

  • Config File: Ryujinx.conf should be present in executable folder. For more information you can go here.


If you have some homebrew that currently doesn't work within the emulator, you can contact us through our Discord with the compiled *.NRO / *.NSO (and source code if possible) and then we'll keep whatever is making app / game not work on the watch list and fix it at a later date.


For help, support, suggestions, or if you just want to get in touch with the team; join our Discord server!

For donation support, please take a look at our Patreon.


To run this emulator, you need the .NET Core 2.1 (or higher) SDK.
Run dotnet run -c Release -- path\to\homebrew.nro inside the Ryujinx project folder to run homebrew apps.
Run dotnet run -c Release -- path\to\game.nsp/xci to run official games.


You can check out the compatibility list here.

Latest build

These builds are compiled automatically for each commit on the master branch. They may be unstable or might not work at all.
The latest automatic build for Windows, Mac, and Linux can be found on the official website.