- C++ 64.2%
- cpp 25.7%
- POV-Ray SDL 4.1%
- Kotlin 3.7%
- CMake 0.8%
- Other 1.4%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| .ci | ||
| .forgejo/workflows | ||
| .github | ||
| .patch | ||
| .reuse | ||
| .tx | ||
| CMakeModules | ||
| dist | ||
| docs | ||
| externals | ||
| hooks | ||
| LICENSES | ||
| patches | ||
| src | ||
| tools | ||
| .codespellrc | ||
| .git-blame-ignore-revs | ||
| .gitattributes | ||
| .gitignore | ||
| .shellcheckrc | ||
| AGENTS.md | ||
| ANDROID_NS2_DUAL_FOLDER_README.md | ||
| ANDROID_NS2_MAIN_ONLY_NOTES.txt | ||
| build-eden-msvc.bat | ||
| CMakeLists.txt | ||
| CONTRIBUTING.md | ||
| cpmfile.json | ||
| Doxyfile | ||
| Eden_NS2_Dual_ExeFS_RomFS.patch | ||
| Eden_NS2_GamesFragment_Landscape_Fix.patch | ||
| Eden_NS2_Main_Only_to_Dual_Compatible.patch | ||
| GITHUB_AUDIO_BUILD_FIX.md | ||
| LICENSE.txt | ||
| NS2.patch | ||
| NS2_MERGE_NOTES.md | ||
| NX2_GPU_THREAD_SPLIT.md | ||
| NX2_NOTES.md | ||
| README.md | ||
| shell.nix | ||
Eden NS2
A fork of the Eden Nintendo Switch emulator that runs Nintendo Switch 2 games.
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)
-
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). -
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 -
Copy the MinGW runtime DLLs (Qt and its dependencies) next to
build/bin/eden.exeand add abuild/bin/qt.confcontaining[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.
-
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 -
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 yuzuIf CMake cannot find a package your distribution doesn't ship (enet, libusb, VulkanMemoryAllocator, ...), add the matching
-D<name>_FORCE_BUNDLED=ONflag from the Windows command above. -
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.


