Eglantine: A Two-Day-Old Switch 2 Emulator Runs Mario Kart World

By Indie Kings | October 31, 2026

Updated October 31, 2026: Eglantine is a very experimental Nintendo Switch 2 emulator that appeared on GitHub on October 29, 2026 and shipped five builds in about five hours on October 31. Its README claims Mario Kart World at decent or full speed depending on the machine, while calling Splatoon Raiders performance variable.

Eglantine emulator logo

Image: Eglantine logo from the project repository.

Five builds in five hours

Eglantine is a free and open-source Switch 2 emulator derived from Eden, Yuzu and Sudachi, written in C++ and started by developer Camille LaVey. The repository describes itself as very experimental. That label is not modesty. The project is two days old, had 67 open issues when checked on October 31, and does not yet publish a compatibility list.

The build cadence is the first thing a reader notices. Build 74 was published at 15:52 UTC on October 31. Build 77 followed at 17:38, build 79 at 18:38, build 83 at 20:20, and build 85 at 21:09. That is five builds in five hours and seventeen minutes, each one a small, named fix rather than a vague performance update. Build 85 is an automatic build with no fix notes, but the four before it each target a specific failure.

Build 74 got Pokopia past audio initialization. The emulator was rejecting every heap of 8 GiB or more because that was Switch 1's maximum, so Switch 2 titles that size their heap from the 12 GiB layout received an invalid-size error and aborted with 2001-0101. Pokopia asks for 9.5 GiB. The limit now follows the memory the active layout actually provides, and the 39-bit heap region grew from 8 GiB to 16 GiB so a heap that large fits. The build also made the audio service return an audio output manager instead of an empty stub, and gave the stream-play service a dedicated implementation so Pokopia stopped dereferencing a null pointer about five seconds into boot.

Build 77 fixed a VRAM exhaustion bug in Mario Kart World. The Switch 2 texture collector's thresholds were computed from the sum of every heap budget. On AMD, the host-visible device-local heap is the same VRAM, so the critical threshold ended up above the real budget and the collector never ran. Mario Kart World then filled the GPU after a few minutes on 8 GB cards and on 16 GB cards with uncompressed ASTC, leaving textures created without memory and crashing. Thresholds now follow the main device-local heap's budget, are re-read every 30 frames, and count unbacked images at the memory they really have. The build also fixed a deadlock between the GPU thread and a guest thread when backing sparse GPU memory.

Build 79 fixed a controller bug introduced in build 73. SDL sends two events for every button and axis of a mapped controller: a joystick event indexed by the raw input, and a gamepad event indexed by the mapped element. The emulator fed both into the same button and axis handlers, so every press was recorded twice, the second time on whichever input owned that raw index. On an Xbox One pad, LB also held Back, Back also held L, Start also held the left-stick click, and the left trigger moved the right stick. The fix removes the gamepad cases and handles joystick events once.

Build 83 fixed objects that move on their own but stayed frozen in their starting pose. In Mario Kart World, the dinosaur in Dino Dino Jungle and the rail it carries, the robot's legs in DK Spaceport on the last lap, and the Thwomps in Bowser's Castle after they slammed down all kept sitting where they started while everything around them animated. The cause was a gap in the read-trap system for Switch 2 titles. GPU-written buffers are not downloaded at fences for native tiling, and with reactive flushing off, a guest read of such a buffer never trapped, so nothing flushed the new data. The fix takes read permission off the pages once, marks ranges the CPU has read as preflushable, and makes the flush area consult the buffer cache. Setting EDEN_NX2_READ_TRAPS=0 restores the old behavior.

Build 85 is the automatic build at commit 609e5f7. The release notes only describe the packages: a Windows zip with eglantine.exe or eden-cli.exe, and a Linux AppImage that bundles its libraries and needs glibc 2.39 or newer. The profile-guided optimization builds use clang plus Eden's profile, and the Windows PGO build is a MinGW build that carries its own DLLs and needs no Visual C++ redistributable.

The Switch 2 problems underneath

The fixes read like a list of the hardware's unfinished business. Switch 2 titles expect a larger memory layout than Switch 1 games, and the emulator's heap limit was still shaped by the older console. Pokopia's 9.5 GiB request exposed that. The 39-bit heap region had to grow so the request could fit. These are not performance tweaks. They are the difference between a game reaching its first frame and a game aborting with an error code.

The VRAM fix is a different kind of hardware problem. Modern GPUs share memory budgets in ways that are easy to model incorrectly. On AMD, the host-visible device-local heap is the same VRAM, so adding up every heap budget double-counts. The texture collector then waits for a threshold that will never arrive, and the game keeps allocating until the GPU is full. The fix is a more accurate accounting model, plus a fallback that recompresses ASTC textures to BC3 on GPUs with less than 12 GiB when uncompressed ASTC would need more memory.

The read-trap fix is the most Switch 2-specific. Switch 2 titles do not have GPU-written buffers copied back at fences, because that copyback is expensive. Title 1 was spending 250 to 330 MB per second on it for about 64 CPU reads in 200 seconds. Turning the copyback off saves that bandwidth, but it also means a guest read of a GPU-written buffer has to trap and flush on demand. If the trap never fires, the CPU reads stale data and animated objects freeze. The fix restores the trap for pages that need it without bringing back the full copyback cost.

The controller bug is a reminder that emulator work is not only graphics. SDL's event model has two views of the same device, and feeding both into one handler produced phantom button presses. That kind of bug is easy to miss in a menu and obvious in a game where one button does two things. The fix is small, but it changes the feel of every supported controller.

The pace also depends on automation. Build 85 is an automatic build, and the release notes for the earlier builds include commit hashes and package details. A project that can produce a Windows zip and a Linux AppImage on demand can ship a fix the same day it lands. That is how five builds fit into an afternoon. The tradeoff is that users are downloading rapidly changing binaries with no compatibility list and no long-term support promise.

The emulator's lineage is Switch 1 emulation. Eden, Yuzu and Sudachi provide the CPU, GPU, audio and input foundations, and Eglantine extends them toward Switch 2 titles. That inheritance explains why the project can move quickly and why some fixes are small: the large pieces already exist. It also explains why the project inherits a contested legal history. This article does not settle whether Switch 2 emulation can continue, and the repository's GPL-3.0 license does not answer that question.

What it can and cannot run

The compatibility statement is short. The README says the emulator is capable of running Mario Kart World at decent or full speed depending on specs and configurations, and Splatoon Raiders at variable performance. A list of supported games will be available in the future. That is the entire public compatibility claim, and it is a claim about two games, not a library.

The build notes add a few more data points. Pokopia now boots past audio initialization, which is a boot fix rather than a playability claim. Mario Kart World no longer runs the GPU out of VRAM after a few minutes in the cases described in the release notes, which is also not the same as a steady frame rate. The moving-object fix in build 83 applies to Switch 2 titles; Switch 1 games are untouched by that change. The release notes say the fix affects only Switch 2 titles and requires no configuration.

The packages are aimed at Windows and Linux. The Linux AppImage needs glibc 2.39 or newer, which the notes map to Ubuntu 24.04, Fedora 40, Debian 13 and Arch. The Windows build is a zip with an executable, and the PGO build is a MinGW build with its own DLLs. The README also lists macOS as a target, but the release notes fetched for builds 74 to 85 describe Windows and Linux packages. A macOS user should check the release assets rather than assume a build exists.

The practical requirements are therefore narrow. A recent Linux distribution or a Windows machine, a GPU that can handle Vulkan, and a willingness to test a build that may change within hours. The emulator does not publish minimum GPU specs beyond the dependency notes, and the README's performance claim is explicitly configuration-dependent. There is no compatibility database to check before downloading.

The risks are proportional to the pace. A two-day-old emulator with 67 open issues is not a daily driver. A build that fixes one game can change behavior in another, and the release notes are the only changelog. Users should keep the previous build, read the notes before updating, and treat the environment variables as debugging tools rather than settings. EDEN_NX2_KEEP_ASTC=1 opts out of the ASTC recompression fallback, EDEN_NX2_VRAM_LIMIT_MIB simulates a smaller GPU, and EDEN_NX2_READ_TRAPS=0 restores the old read-trap behavior.

The project is also a signal of how fast Switch 2 emulation is moving. A repository created on October 29 had five builds and more than a thousand stars by October 31. That does not prove the emulator is ready for a broad library. It does prove that a small team, building on existing Switch 1 work, can make visible progress on specific titles in public within days.

Build log for October 31

BuildTime UTCMain fix
7415:52Pokopia gets past audio initialization; heap limit and 39-bit heap region
7717:38Mario Kart World VRAM exhaustion and a sparse-memory deadlock
7918:38SDL controller double input that pressed a second button
8320:20Moving objects frozen in their starting pose in Switch 2 titles
8521:09Automatic build at commit 609e5f7, no fix notes

FAQ

What is Eglantine?
A free and open-source Nintendo Switch 2 emulator derived from Eden, Yuzu and Sudachi. It is written in C++ and has builds for Windows, Linux and macOS according to its README.

Is it usable yet?
It is very experimental. The README claims Mario Kart World at decent or full speed depending on specs and configurations, and Splatoon Raiders at variable performance. There is no supported games list yet.

What did build 83 fix?
Objects that should move on their own stayed frozen in their starting pose in Mario Kart World, including the dinosaur in Dino Dino Jungle and the Thwomps in Bowser's Castle. The fix restores read traps for GPU-written buffers in Switch 2 titles.

Why were there five builds in one day?
Each build targeted a small, named fix, and build 85 was an automatic build with no fix notes. The project can produce Windows and Linux packages quickly, so fixes shipped the same day they landed.

What hardware do I need?
The README does not publish minimum GPU specs. The Linux AppImage needs glibc 2.39 or newer, and the Windows build is a zip with an executable. Performance depends on the GPU, driver and game, as the compatibility note says.

Is Switch 2 emulation legal?
Eglantine is GPL-3.0 licensed. Emulation legality depends on the jurisdiction and how the software and game data are used. This article does not give legal advice, and the repository's license does not settle that question.

Bottom Line

Eglantine is a two-day-old Switch 2 emulator that shipped five builds in about five hours on October 31, 2026. The builds fixed Pokopia's audio initialization, Mario Kart World's VRAM exhaustion, a controller double-input bug, and moving objects stuck in their starting pose. The README claims Mario Kart World at decent or full speed depending on the machine and Splatoon Raiders at variable performance, but there is no compatibility list, the project has 67 open issues and it calls itself very experimental.

Our take: the build log is more useful than the compatibility claim. It shows the unglamorous work behind Switch 2 emulation, from heap sizes and audio services to read traps and texture budgets, and it shows how quickly a small team can move when it inherits mature Switch 1 code. Wait for a compatibility list and a stable build before planning a playthrough.

Sources

  • GitHub Djihads80/Eglantine README, compatibility, development, building and download sections, accessed October 31, 2026
  • GitHub release build 74, Pokopia audio initialization, heap limit and service fixes, published October 31, 2026
  • GitHub release build 77, Mario Kart World VRAM and sparse-memory deadlock fixes, published October 31, 2026
  • GitHub release build 79, SDL controller double-input fix, published October 31, 2026
  • GitHub release build 83, moving-object read-trap fix, published October 31, 2026
  • GitHub release build 85, automatic build and package notes, published October 31, 2026
  • GitHub API metadata for Djihads80/Eglantine, stars, forks, issues, creation date and license, accessed October 31, 2026

Related: A Switch Emulator Now Runs on PS5. Its Own Compatibility List Grades Nothing as Excellent | Nextendo Ryujinx Fork Brings Private Online to Three Switch Games [2026] | Exploring the Suyu Emulator: The Open-Source Successor to Yuzu

Share