What's changed
Fire Emblem's DLSS ghosting, a minutes-long Intel shader compile in Mario Kart World, Splatoon Raiders' yellow tint, and a batch of shader and build fixes.
- Fire Emblem: Fortune's Weave no longer ghosts at 1x (#535, fixes #520) — Switch 2 compute programs get their storage-buffer size from the memory behind the pointer (capped at 8 MiB and clipped to the mapping's contiguous range) instead of from the word that follows the address. In Fortune's Weave's DLSS that word is a texture handle, so the buffer feeding the network the current frame was bound as 266 bytes and everything past it was dropped: the network mostly saw empty input and kept blending in old frames, giving moving characters see-through trails and smeared shadows. Older NVN-style buffers and graphics shaders keep the old sizing, and there was no frame-time change in testing.
- The "Use the game's own DLSS" checkbox is gone (#535) — with the ghosting fixed, the game's own DLSS simply runs at 1x unless NVIDIA DLSS is turned on, so the checkbox and the status line under it were removed from the Graphics tab as confusing. FSR 3.1 still takes over on its own with resolution scaling, on GPUs that can't run the network, and if the network's output fails its health checks.
EDEN_NX2_DLSS_REPLACEMENTstill forces the replacement. - No more multi-minute compute compiles on Intel — every compute pipeline asked for a required subgroup size of 32 whenever
VK_EXT_subgroup_size_controlwas present, even for kernels that never look at a lane; on Intel that compiles SIMD32 unconditionally and a register-heavy Mario Kart World program spilled badly enough to take minutes instead of milliseconds. The fixed size is now only requested for shaders that use warp-level operations (vote, invocation id, shuffles, mask, quad shuffles), and the required-subgroup-size struct is only chained when the device lists the compute stage inrequiredSubgroupSizeStages(#475). - Splatoon Raiders' scene is no longer yellow — FP16 texture results come back as
c0in the low half andc1in the high half, and the merge into the destination needs the high half first. The halves were swapped, so every destination ended up withH0 = c1; Splatoon Raiders reads only.H0for its blue component. - One more pipeline saved in Donkey Kong Bananza (#492) — the SPIR-V backend only knew how to emit a Phi for
U1andU32, so aF32x4Phi threwPhi node type F32x4 is not implementedand dropped the whole graphics pipeline (four times per session). Every type the emit context already has an id for is mapped now. This is one wall among several for that title, not a playability fix: Bananza still ends its boot on unrelated IR errors. - Pokopia's large scene shader compiles (#145) —
UISETPthat combines its result with another uniform predicate (AND/OR/XOR, including a negated accumulate predicate) andFSETPwhose second operand sits in a uniform register are both lowered now, so that shader is no longer rejected. No visible change was identified from it: the black sky it was found while chasing turned out to be fixed by #125. - Hyrule Warriors
UISETPregression caught before it shipped — the accumulate-predicate change also rejected anyUISETPwhose bits 68-71 aren'tPT, a fieldnx2never read (only the.EXform does, and that is still rejected). The check is dropped again. - Generic attribute bound —
IsGenericnow spansGeneric0X…Generic31Winstead of stopping at31X, so aWcomponent is recognised as a generic attribute. - Clean MSVC Release builds finish (#429) — the vendored zstd tripped
/we4505andnvhost_gpu.cpptripped/W4on aLOG_TRACE-only binding, so a first-time Windows build produced no executable at all. The warning is demoted to/w4505(still visible), the binding is[[maybe_unused]], and neither change alters generated code. - Game list tooltip — NUP titles now show their update's display version (
Update (x.y.z), read from the NACP) alongside the patch versions.
Changes since build-212 (d6efc8e…3081c8e), full compare.
All commits in this build
3081c8e616 Merge pull request #535 from Duck912/native-ssbo-mapped-size
979d652d90 buffer_cache: keep native storage bindings in one device range
3c45b94cae yuzu, video_core: always use the game's own DLSS where it can run
2e12e0def5 buffer_cache: size native compute storage buffers from the mapping
3060454754 Merge pull request #145 from rdenno/pokopia-shaders
5fc9193545 Merge nx2 into pokopia-shaders
adacbaae7b shader_recompiler: don't require PT in UISETP bits 68-71
35cde43095 game_list: surface the NUP display version in the tooltip
088ffcb042 Merge pull request #429 from CloudP4bbs/pr/msvc-release-fixes
7a02cffe2a Merge pull request #475 from ymatrix1/split-shader
d2fcf00abe Merge pull request #492 from CloudP4bbs/pr/phi-all-types
4c768872d8 Merge nx2 into pokopia-shaders
47ad28fe37 shader_recompiler/spirv: emit a Phi for every IR type, not only U1 and U32
60a7c42bd0 Merge nx2: the audio and shader commits of this branch landed there in #393
dce00ecf7a vulkan: only attach the required subgroup size when the device supports it for compute
986289ac5f shader: pack FP16 texture results with c0 in the low half
333ac6963f shader_recompiler: include all components in IsGeneric upper bound
806a3f8166 vulkan: only force the guest subgroup size for warp-level compute
964a39cc6b CMake/MSVC: let a clean Release build finish
a961994705 Merge branch 'nx2' into pokopia-shaders
Automatic build of nx2 at 3081c8e.
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 Eglantine's profile); prefer them when your CPU supports it.