github Djihads80/Eglantine build-183
Eglantine nx2-experimental build 183 (1521742)

latest releases: build-189, build-188, build-187...
pre-release2 hours ago

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_JP UI 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/--version exiting 0, the Arch eglantine-git PKGBUILD, 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 nx2 release): 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 --help and --version exit 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-git PKGBUILD, 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 InitSparseTiles fails is still present here, and on AMD's aliased-tiles mode that case produced black textures. It is reverted in the next nx2 build.
  • #332, the PGO profile (also after this build): both -pgo downloads of this release still use Eden's Switch 1 eden.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 -pgo build, 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

  • 1521742968 has parents ec667e25f9 (build 178) and 05e3b9d8b0 (#434 on nx2). git diff 05e3b9d8b0 build-183 is two files, +18/−6 — src/core/hle/service/mii/mii.cpp and src/hid_core/resources/six_axis/six_axis.h — so the merge is "take nx2, keep the experimental fixes" and nothing else was resolved by hand.
  • git diff build-181..build-183 is 26 files, +1,950/−30: #434's 24 files plus those two.
  • git log --oneline build-183..origin/nx2 lists 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.txt compiles vk_streamline_dlss.cpp, vulkan_common/streamline*.cpp and links version, wintrust and crypt32 only when EGLANTINE_STREAMLINE_SDK is set and the platform is Windows; configure_graphics.cpp skips the nvidia_dlss setting entirely without EGLANTINE_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.

Don't miss a new Eglantine release

NewReleases is sending notifications on new releases.