A fork of the Eden Nintendo Switch emulator that runs Nintendo Switch 2 games. ANDROID FORK TEST!!!!!!!!!!!!!!!!!!!!!!!!!!
  • C++ 64.2%
  • cpp 25.7%
  • POV-Ray SDL 4.1%
  • Kotlin 3.7%
  • CMake 0.8%
  • Other 1.4%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-11-01 01:47:19 +05:00
.ci Fix Android crashes and add NS2 ExeFS folder support 2026-10-31 21:23:31 +05:00
.forgejo/workflows Fix Android crashes and add NS2 ExeFS folder support 2026-10-31 21:23:31 +05:00
.github Fix Android crashes and add NS2 ExeFS folder support 2026-10-31 21:23:31 +05:00
.patch Fix Android crashes and add NS2 ExeFS folder support 2026-10-31 21:23:31 +05:00
.reuse Fix Android crashes and add NS2 ExeFS folder support 2026-10-31 21:23:31 +05:00
.tx Fix Android crashes and add NS2 ExeFS folder support 2026-10-31 21:23:31 +05:00
CMakeModules Fix Android crashes and add NS2 ExeFS folder support 2026-10-31 21:23:31 +05:00
dist Fix Android crashes and add NS2 ExeFS folder support 2026-10-31 21:23:31 +05:00
docs Fix Android crashes and add NS2 ExeFS folder support 2026-10-31 21:23:31 +05:00
externals Fix Android crashes and add NS2 ExeFS folder support 2026-10-31 21:23:31 +05:00
hooks Fix Android crashes and add NS2 ExeFS folder support 2026-10-31 21:23:31 +05:00
LICENSES Fix Android crashes and add NS2 ExeFS folder support 2026-10-31 21:23:31 +05:00
patches Fix Android crashes and add NS2 ExeFS folder support 2026-10-31 21:23:31 +05:00
src fix memory 2026-11-01 01:47:19 +05:00
tools Fix Android crashes and add NS2 ExeFS folder support 2026-10-31 21:23:31 +05:00
.codespellrc Fix Android crashes and add NS2 ExeFS folder support 2026-10-31 21:23:31 +05:00
.git-blame-ignore-revs Fix Android crashes and add NS2 ExeFS folder support 2026-10-31 21:23:31 +05:00
.gitattributes Fix Android crashes and add NS2 ExeFS folder support 2026-10-31 21:23:31 +05:00
.gitignore Fix Android CMake missing audio sources 2026-10-31 21:41:35 +05:00
.shellcheckrc Fix Android crashes and add NS2 ExeFS folder support 2026-10-31 21:23:31 +05:00
AGENTS.md Fix Android crashes and add NS2 ExeFS folder support 2026-10-31 21:23:31 +05:00
ANDROID_NS2_DUAL_FOLDER_README.md Add dual ExeFS and RomFS folder support 2026-10-31 23:16:14 +05:00
ANDROID_NS2_MAIN_ONLY_NOTES.txt Fix Android crashes and add NS2 ExeFS folder support 2026-10-31 21:23:31 +05:00
build-eden-msvc.bat Fix Android crashes and add NS2 ExeFS folder support 2026-10-31 21:23:31 +05:00
CMakeLists.txt Fix Android crashes and add NS2 ExeFS folder support 2026-10-31 21:23:31 +05:00
CONTRIBUTING.md Fix Android crashes and add NS2 ExeFS folder support 2026-10-31 21:23:31 +05:00
cpmfile.json Fix Android crashes and add NS2 ExeFS folder support 2026-10-31 21:23:31 +05:00
Doxyfile Fix Android crashes and add NS2 ExeFS folder support 2026-10-31 21:23:31 +05:00
Eden_NS2_Dual_ExeFS_RomFS.patch Add dual ExeFS and RomFS folder support 2026-10-31 23:16:14 +05:00
Eden_NS2_GamesFragment_Landscape_Fix.patch Fix NS2 folder button Kotlin compilation 2026-10-31 22:14:57 +05:00
Eden_NS2_Main_Only_to_Dual_Compatible.patch Add dual ExeFS and RomFS folder support 2026-10-31 23:16:14 +05:00
GITHUB_AUDIO_BUILD_FIX.md Fix Android CMake missing audio sources 2026-10-31 21:41:35 +05:00
LICENSE.txt Fix Android crashes and add NS2 ExeFS folder support 2026-10-31 21:23:31 +05:00
NS2.patch Fix Android crashes and add NS2 ExeFS folder support 2026-10-31 21:23:31 +05:00
NS2_MERGE_NOTES.md fix switch 2 load 2026-10-31 21:59:45 +05:00
NX2_GPU_THREAD_SPLIT.md Fix Android crashes and add NS2 ExeFS folder support 2026-10-31 21:23:31 +05:00
NX2_NOTES.md Fix Android crashes and add NS2 ExeFS folder support 2026-10-31 21:23:31 +05:00
README.md Fix Android crashes and add NS2 ExeFS folder support 2026-10-31 21:23:31 +05:00
shell.nix Fix Android crashes and add NS2 ExeFS folder support 2026-10-31 21:23:31 +05:00

Eden NS2

A fork of the Eden Nintendo Switch emulator that runs Nintendo Switch 2 games.

Donkey Kong Bananza gameplay

Mario Kart World title screen

Pokémon Pokopia gameplay

Status

Game State
Donkey Kong Bananza (040074A01BF12000, v7.0.0) Playable; destructible terrain renders black
Mario Kart World (0400C3F00006E000, v1.8.0) Playable in Free Roam and Grand Prix
Pokémon Pokopia (0400A3A01EE4C000) Playable; stable 60 FPS
Splatoon Raiders Playable; crashes on loading screens
Nintendo Switch 2 Welcome Tour Boots to a black screen

Known issues

  • Performance: still a work in progress; expect slowdowns and stutter.
  • Donkey Kong Bananza: destructible terrain is drawn black on NVIDIA and appears to be completely invisible on AMD.
  • Mario Kart World: loading screens can take a long time, especially the first time a course is loaded. Recommended per-game settings: GPU accuracy Low, asynchronous shaders on, and ASTC recompression BC3 (needed on GPUs with less than 8 GB of video memory). Some geometry (task/mesh shaders) is missing.
  • Splatoon Raiders: runs well in-game, but crashes on loading screens.
  • Nintendo Switch 2 Welcome Tour: launches, but only shows a black screen.

Building (Windows, MSYS2 MINGW64)

  1. Install MSYS2 and, in a MINGW64 shell, install the MinGW toolchain, CMake, Ninja, Qt 6, FFmpeg, SDL3, Boost, OpenSSL and the Vulkan headers, plus git and autotools (for example pacman -S --needed mingw-w64-x86_64-{toolchain,cmake,ninja,qt6,ffmpeg,sdl3,boost,openssl,vulkan-headers} git autotools; exact package names may differ — see docs/Deps.md).

  2. Configure and build from the repository root:

    cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF -DYUZU_TESTS=OFF \
          -DENABLE_WERROR=OFF -DYUZU_ROOM=OFF -DYUZU_CMD=OFF -DENABLE_LIBUSB=OFF \
          -Denet_FORCE_BUNDLED=ON -Dlibusb_FORCE_BUNDLED=ON -DVulkanMemoryAllocator_FORCE_BUNDLED=ON
    ninja -C build yuzu
    
  3. Copy the MinGW runtime DLLs (Qt and its dependencies) next to build/bin/eden.exe and add a build/bin/qt.conf containing [Paths] / Plugins = plugins (see docs/ns2/NOTES.md).

The NS2 patch's MSVC script (build-eden-msvc.bat) is included but has not been tried with this tree.

Building (Linux)

Not tested yet; nothing in the changes is Windows-only.

  1. Install the dependencies for your distribution; docs/Deps.md has full commands for Arch, Debian/Ubuntu/Mint, Fedora, Gentoo and others. For example:

    # Arch
    sudo pacman -Syu --needed base-devel boost catch2 cmake enet ffmpeg fmt git glslang libzip lz4 ninja \
         nlohmann-json openssl opus qt6-base qt6-multimedia qt6-charts sdl3 zlib zstd zip unzip \
         vulkan-headers vulkan-utility-libraries libusb spirv-tools spirv-headers
    
  2. Configure and build from the repository root:

    cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF -DYUZU_TESTS=OFF \
          -DENABLE_WERROR=OFF
    ninja -C build yuzu
    

    If CMake cannot find a package your distribution doesn't ship (enet, libusb, VulkanMemoryAllocator, ...), add the matching -D<name>_FORCE_BUNDLED=ON flag from the Windows command above.

  3. The binary is build/bin/eden; no DLL copying is needed.

Running

Use your own dumped games, keys and firmware. Load a game from its extracted dump (the romfs folder next to exefs is found automatically):

build/bin/eden -g "<dump>/updates/<version>/exefs/main"

Recommended settings: Vulkan, 12 GB memory layout, multi-core CPU.

Licence

GPL-3.0-or-later, like Eden (see LICENSE.txt). Not affiliated with the Eden project or Nintendo; no game data, keys or firmware are included.