MeloNX
MeloNX enables Nintendo Switch game emulation on iOS using the Ryujinx iOS code base.
MeloNX is an iOS Nintendo Switch emulator based on Ryujinx, written primarily in C#. Designed to bring accurate performance and a user-friendly interface to iOS, MeloNX makes Switch games accessible on Apple devices.
Developed from the ground up, MeloNX is open-source and available on Github under the MeloNX license.
Compatibility
MeloNX works on iPhone 11 (XS/XR may work but can have issues) and later and iPad 8th Gen and later. Check out the Compatibility on the website.
Usage
Paid Certificates are NOT supported and we will not give any help when using them.
FAQ
- MeloNX cannot be Sideloaded normally and requires the use of the following Installation Guide(s).
- SideStore is recommended for Sideloading MeloNX
- Apple ID with free developer account
- MeloNX requires JIT
- Recommended Device: iPhone 15 Pro or newer.
- Low-End Recommended Device: iPhone 13 Pro.
Discord Server
We have a discord server!
How to install
Paid Developer Account
1. Sideload MeloNX
Download and install MeloNX using your preferred Apple ID sideloader:
2. Enable Memory Entitlement
- Visit Apple Developer Identifiers.
- Locate MeloNX and enable the following entitlements:
Increased Memory Limit
Increased Debugging Memory Limit
3. Reinstall MeloNX
- Delete existing MeloNX installation
- Sideload MeloNX again
- Verify Increased Memory Limit is enabled in app
4. Setup Files
- Add Encryption Keys and Firmware using the file picker inside MeloNX
- If having Issues installing firmware:
- You can Install firmware and keys from Ryujinx Desktop (or forks).
- Copy the bis and system folders
- If having Issues installing firmware:
5. Enable JIT
- Enable JIT using your preferred method. We recommend StikDebug.
Free Developer Account
The Entitlement App is NOT needed for AltStore Classic
- You may skip Step 2 and Step 3
1. Sideload Applications
Download and install both apps using your preferred APPLE ID sideloader:
- MeloNX: Download from Releases
- Entitlement App: Download IPA
2. Enable Memory Entitlement
- Open the Entitlement app > Settings
- Sign in with your Apple ID
- Go to App IDs > tap Refresh
- Select MeloNX (e.g., "com.stossy11.MeloNX.XXXXXX")
- Tap Add Increased Memory Limit
3. Reinstall MeloNX
- Delete existing MeloNX installation
- Sideload MeloNX again
- Verify Increased Memory Limit is enabled in app
4. Setup Files
- Add Encryption Keys and Firmware using the file picker inside MeloNX
- If having Issues installing firmware:
- You can Install firmware and keys from Ryujinx Desktop (or forks).
- Copy the bis and system folders
- If having Issues installing firmware:
5. Enable JIT
- Enable JIT using your preferred method. We recommend StikDebug.
TrollStore
As Said in FAQ:
MeloNX is made for iOS 17+, on iOS 15 - 16 MeloNX can be installed but may have issues or not work at all.
1. Install MeloNX
- Use TrollStore to install MeloNX.
2. Setup Files
- Add Encryption Keys and Firmware using the file picker inside MeloNX
- If having Issues installing firmware:
- You can Install firmware and keys from Ryujinx Desktop (or forks).
- Copy the bis and system folders
- If having Issues installing firmware:
2. Enable TrollStore JIT
- Open Settings inside MeloNX
- Under Misc, scroll down and enable the "TrollStore" toggle
- Profit
Free Developer Account (Xcode)
NOTE: These Xcode builds are nightly and may have unfinished features.
-
Compile Guide
- Visit the guide here.
-
Add Necessary Files
If having Issues installing firmware (Make sure your keys are installed first)
- If needed, install firmware and keys from Ryujinx Desktop (or forks).
- Copy the bis and system folders
Features
-
Audio
Audio output is entirely supported, audio input (microphone) isn't supported. We use C# wrappers for OpenAL, and SDL2 & libsoundio as fallbacks.
-
CPU
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. It translates the ARM code to a custom IR, performs a few optimizations, and turns that into x86 code. There are three memory manager options available depending on the user's preference, leveraging both software-based (slower) and host-mapped modes (much faster). The fastest option (host, unchecked) is set by default. Ryujinx also features an optional Profiled Persistent Translation Cache, which essentially caches translated functions so that they do not need to be translated every time the game loads. The net result is a significant reduction in load times (the amount of time between launching a game and arriving at the title screen) for nearly every game. NOTE: This feature is enabled by default, You must launch the game at least twice to the title screen or beyond before performance improvements are unlocked on the third launch! These improvements are permanent and do not require any extra launches going forward.
-
GPU
The GPU emulator emulates the Switch's Maxwell GPU using Metal (via MoltenVK) APIs through a custom build of Silk.NET.
-
Input
We currently have support for keyboard, touch input, JoyCon input support, and nearly all MFI controllers. Motion controls are natively supported in most cases, however JoyCons do not have motion support doe to an iOS limitation.
-
DLC & Modifications
MeloNX supports DLC + Game Update Add-ons. Mods (romfs, exefs, and runtime mods such as cheats) are supported;
-
Configuration
The emulator has settings for enabling or disabling some logging, remapping controllers, and more.
License
This software is licensed under the terms of the MeloNX license. This project makes use of code authored by the libvpx project, licensed under BSD and the ffmpeg project, licensed under LGPLv3. See LICENSE.txt and THIRDPARTY.md for more details.