nxnative: Conversion pipeline to run NSP files natively on iPhone
seedds/nxnative
About the project
A tool that converts NSP files from Nintendo Switch games into IPAs that can be run directly on Apple devices. It is designed so that game code runs natively on Apple chips, rather than through an emulator. Switch graphics are restructured and rendered using Metal.
With just an NSP folder and prod.keys, the script analyzes them to generate an unsigned IPA. It uses Ryujinx's shader translator and the NVN-on-Metal layer to convert Maxwell shaders to SPIR-V and compile them into Metal Shading Language. The first build takes 30–60 minutes, while subsequent builds take about 10 minutes.
It is supported on iPhone 15 Pro (A17 Pro) or iPads with M1 chips, in environments with iOS 26 or later. Multiple titles, including Mario Kart 8 Deluxe, Zelda: Tears of the Kingdom, and Monster Hunter Rise, have been tested, with some games running at 60fps. The generated IPA is installed via sideloading tools such as AltStore.
Texture compression formats and memory requirements vary by game, so running large games may fail due to the 3.4GB limit if the Increased Memory Limit entitlement is not granted. With the entitlement, memory usage can reach approximately 6GB. The repository does not include game files; users must prepare their own NSPs.
seedds/nxnative
Switch games running natively on iPhone, iPad and Mac: an NSP folder becomes an unsigned IPA (NSO rewriter, Horizon HLE host, NVN→Metal)
Python