What's new in this build
Build 183 of nx2-experimental (1521742) is the catch-up merge: nx2 is merged into the experimental line for the first time since build 130 (#455), so this is build 178's two fixes plus everything the nx2 line shipped in builds 135 through 181. Against build 178 that is 173 commits, 49 of them merges, 205 files, +26,166/−2,491.
It is the first release that is a superset of both lines: all of build 181, plus the two fixes from build 163 (Switch Sports and random Miis) that nx2 still does not have.
In short
- Games, new on this line: the
ja_JPUI translation; Hyrule Warriors: Age of Imprisonment drawing gameplay again; Splatoon Raiders' shadows, reticle and steam; Mario Tennis Fever's stadium; Donkey Kong Bananza through its cutscenes and without its startup crash; Pokopia's first frame and its render-pass splits on tiled GPUs; Mario Kart World's trees, its 1.8.0 NSP launch, its present stall and its stale command lists; Fire Emblem: Fortune's Weave with real AMD FSR 3.1 instead of the DLSS stand-in; GPU-decoded movies no longer green; LAN Play through a room; rumble in Switch 2 titles. - The two build-163 fixes are still here: Nintendo Switch Sports gets past "Play with a Single Controller" (error 2162-0001), and random Miis are built with the age, gender and race that were asked for.
- Tooling, new on this line: the Convert to NUP… dialog with metadata and a progress window, faster loose-dump scanning and launching, Convert to NUP keeping the dump's folder layout, renamed downloads,
eglantine-cli --help/--versionexiting 0, the Archeglantine-gitPKGBUILD, the corrected contributing guide and PR template, the new issue forms, the Wayland plugins in the Linux AppImages, and the per-draw GPU-thread work in the descriptor table. - Hardware: Coffee Lake-era Intel CPUs that report no crystal frequency keep the OS clock instead of the measured TSC (the i5-9400F launch crash).
- Defaults changed in build 158: ScaleForce with FXAA and handheld mode are on by default. If you carry a configuration from build 130, check those.
- In the source but not in the downloads: NVIDIA DLSS through Streamline (#434, below). The release workflow is configured without
EGLANTINE_STREAMLINE_SDK, so the setting is compiled out of the published binaries and a game's DLSS still goes to FSR 3.1. - Compared with build 181 (the newest
nx2release): this build adds the two build-163 fixes, #434's source, and the FSR 3.1 output-blit fix below. Nothing else differs. - No Android APKs: the publishing was added in build 171 and reverted in build 175.
What nx2 shipped, build by build
Everything below is new if you are coming from build 178:
- 135 — Mario Kart World's trees stay drawn and the frame rate that fix cost comes back; Convert to NUP gets a metadata dialog and a progress window; a folder of loose dumps is scanned without walking every RomFS and launching one no longer freezes the window; Donkey Kong Bananza reports its version; the amiibo dialog stops appearing mid-race.
- 142 — the Japanese UI is fully translated and the downloads are renamed and listed in tables.
- 158 — Hyrule Warriors: Age of Imprisonment draws gameplay, Splatoon Raiders gets its shadows and steam back, Mario Tennis Fever draws its stadium, Donkey Kong Bananza stops crashing, Pokopia gets past its first frame, Mario Kart World stops stalling on present; ScaleForce/FXAA and handheld become the defaults.
- 167 — Fortune's Weave's DLSS stand-in becomes real AMD FSR 3.1, GPU-decoded movies stop being green, Donkey Kong Bananza gets through its cutscenes, LAN Play through a room works, video-decoder end-of-stream and socket-lifetime fixes.
- 168 — rumble works in Switch 2 titles.
- 169, 170 — a case-colliding macOS icon file removed;
eglantine-cli --helpand--versionexit 0. - 171, 175 — Android APKs published, then the publishing reverted. Neither is here.
- 174 — Mario Kart World 1.8.0 boots from its NSP, Pokopia loses ~50 render-pass splits a frame on tiled GPUs, a lost GPU says so in the log, Coffee Lake CPUs keep the OS clock.
- 177 — the Arch
eglantine-gitPKGBUILD, a contributing guide that points at this repository, and less per-draw work on the GPU back thread. - 181 — Wayland platform plugins bundled in the Linux AppImages, crash/game/visual/UI issue forms with automatic labelling, the tests target building again, test-only pushes skipped in CI.
NVIDIA DLSS through Streamline lands in the source (#434)
A new Graphics setting, Use NVIDIA DLSS in place of a game's DLSS (nvidia_dlss, off by default), sends the evaluation Eglantine already replaces with FSR 3.1 to real NVIDIA DLSS on GeForce RTX cards, with the same inputs: colour, depth, motion vectors and jitter. When DLSS cannot run, FSR 3.1 runs as before, from the next frame.
It needs no NVIDIA download at build time. Only Streamline's MIT-licensed headers are compiled in and nothing of NVIDIA's is linked or shipped; at run time Eglantine looks for sl.interposer.dll in a streamline folder in the user folder, in EDEN_STREAMLINE_DIR, or next to the executable, checks its signature and starts Streamline with manual hooking. DLSS itself is nvngx_dlss.dll in the same folder, or the newest DLSS 310+ the NVIDIA app has downloaded (Authenticode-checked and copied in as streamline/nvidia-app/nvngx_dlss.dll).
Under the checkbox, a panel reports whether the Streamline loader and DLSS were found and their versions, with Open Folder and a link to NVIDIA's releases. Download from NVIDIA shows the Streamline and DLSS licence texts for acceptance and then pulls only the needed files out of NVIDIA's Streamline 2.14.16 zip with HTTP range requests — about 1 MB for the loader and 32 MB with DLSS, out of a 276 MB archive — checking each file's CRC and signature before saving it.
Preset K is used for every mode (EDEN_NX2_DLSS_PRESET overrides it): the default Performance model and L draw thin dark horizontal lines at 2x scale in some frames, K does not. HDR input is handled with auto exposure, and the mode follows the render/output ratio.
It is not in these downloads. EGLANTINE_STREAMLINE_SDK defaults to empty and the release workflow does not set it, so EGLANTINE_STREAMLINE is not defined, the setting is hidden, and the code is not compiled. To use it, build with -DEGLANTINE_STREAMLINE_SDK=<path to Streamline's include directory> on Windows. Testing was on one machine — Windows 11, RTX 5080, Fortune's Weave at 1x and 2x — and no other GPU or game.
Shipped fix: the FSR 3.1 output blit reads its framebuffer on the calling thread
BlitColor(VkImageView, VkImage, ...) draws the upscaler's output into the game's image. It captured the Framebuffer* and read its render pass, handle and size on the worker thread, but that pointer lives in the texture cache's framebuffer slots, which can be reallocated before the worker records the command. The render pass could then begin with a stale or null framebuffer. FSR 3.1 records quickly enough that this rarely showed; a slower first evaluation crashed in vkCmdBeginRenderPass every time.
The three values are now read on the calling thread and captured by value. This one is in your build whether or not Streamline exists.
The two fixes from build 163 are kept
The merge keeps the experimental side's mii.cpp and six_axis.h: Switch Sports reports non-zero six-axis sensor ranges (2000 dps, 8 g), so nn::imu's gesture detector no longer aborts with 2162-0001 after controller selection, and IDatabaseService::BuildRandom reads age, gender and race as three 32-bit words instead of bytes, so random Miis get the values asked for. nx2 still does not have either fix.
Coming from build 178?
Everything in the list above is new, and so is every nx2 download in this release. Nothing from build 178 is missing: it was build 130 plus these two fixes, and this build has both.
Coming from an nx2 build (181 or earlier)?
You gain the two build-163 fixes (Switch Sports, random Miis) and the FSR 3.1 blit fix. If you were waiting for NVIDIA DLSS, it is in the source of this build but not in its binaries — see above.
Still not in this build
- #458, the AMD sparse-tile revert (merged after this build): the change that backs a sparse tiled image whole when
InitSparseTilesfails is still present here, and on AMD's aliased-tiles mode that case produced black textures. It is reverted in the nextnx2build. - #332, the PGO profile (also after this build): both
-pgodownloads of this release still use Eden's Switch 1eden.profdata, which measured 17–24 fps on Mario Kart World where the standard build ran at ~47 on the same RTX 4070 laptop. If a Switch 2 title feels slow on a-pgobuild, use the standard one — the next build trains on the repository's own profile. - The AppImage build number in the file name, and a few documentation commits.
How it works, for the technically curious
1521742968has parentsec667e25f9(build 178) and05e3b9d8b0(#434 onnx2).git diff 05e3b9d8b0 build-183is two files, +18/−6 —src/core/hle/service/mii/mii.cppandsrc/hid_core/resources/six_axis/six_axis.h— so the merge is "takenx2, keep the experimental fixes" and nothing else was resolved by hand.git diff build-181..build-183is 26 files, +1,950/−30: #434's 24 files plus those two.git log --oneline build-183..origin/nx2lists the nine commits this build does not have, all merged after it: #458 and its revert commit, #332 and its two CI commits, the docs commits, the AppImage build-number commit, and #265 (whose content is already identical here — only its merge commit differs).src/video_core/CMakeLists.txtcompilesvk_streamline_dlss.cpp,vulkan_common/streamline*.cppand linksversion,wintrustandcrypt32only whenEGLANTINE_STREAMLINE_SDKis set and the platform is Windows;configure_graphics.cppskips thenvidia_dlsssetting entirely withoutEGLANTINE_STREAMLINE.
Automatic build of nx2-experimental at 1521742.
Linux
Linux packages come as an AppImage (self-contained, needs glibc 2.39 or newer: Ubuntu 24.04, Fedora 40, Debian 13, Arch) and a tar.gz (uses your system libraries, so Qt 6 and the usual libraries must be installed).
| Build Type | Standard | PGO (Recommended) | Notes |
|---|---|---|---|
| amd64 | AppImage · tar.gz | AppImage · tar.gz | Make the AppImage executable (chmod +x) and run it
|
| ARM (aarch64) | AppImage · tar.gz | AppImage · tar.gz |
Windows
Windows packages are in-place zip files: extract and run eglantine.exe, or eden-cli.exe from a terminal.
| Build Type | Standard | PGO (Recommended) | Notes |
|---|---|---|---|
| amd64 / x86_64 (MSVC) | MSVC zip | Use if you run into graphical issues on other builds | |
| amd64 / x86_64 (MinGW) | PGO zip | Built with MinGW clang; bundles its own DLLs, no Visual C++ redistributable needed |
macOS
| Build Type | Standard | PGO (Recommended) | Notes |
|---|---|---|---|
| arm64 (Apple Silicon) | zip | macOS 15 or newer. Not notarized: right-click and choose Open the first time, or run xattr -dr com.apple.quarantine eglantine.app. eden-cli is inside the app, in Contents/MacOS
|
The PGO builds are the same programs compiled with profile-guided optimization (clang plus Eden's profile); prefer them when your CPU supports it.