Lichii nx2 build 95 (222877d)

Wait 5 sec.

This is build 95. Lichii's About screen and logs call it build-95, because the build workflow numbers builds by run, and this was run 95. The release tag and download links say build-94 by mistake. It is the same build, and there is no separate build 94 release.Changes since build 93The biggest changes are for Ocarina of Time. This build fixes foliage that faded out close up, white flashes on camera movement, terrain drawn over the scene and the stale Z-target reticle. It also adds GPU macro and shader fixes ported from upstream Eglantine and a fix for a random crash. Most of these changes have unit tests and were build-checked on Windows, Linux and macOS. They have had only limited gameplay testing.Ocarina of TimeNear foliage no longer fades out (#410). Leaves, bushes and other close-up objects are drawn again instead of vanishing as you approach. Duck912, upstream Eglantine #715.White flashes on camera movement (#215). The emulator now waits for pending occlusion results before the game reads them. Weslie, building on vouion's #204.Terrain layer drawn over the scene (#185). Parked clears now land before blits and copies. vouion.Stale Z-target reticle (#397). GPU downloads no longer overwrite newer CPU writes. Duck912, via Frizti.Rejected shaders now compile:Gerudo Valley rock and canyon shaders (#241, Frysix)gathers from a second descriptor buffer (#398, Mateus, via Frizti)per-tap gather offsets (#433)untracked global atomics (#429)GPU macros:macro entries past 0x1000 now run (#439)macros are handed back when the GPU split stops (#438)both ported from upstream EglantineShader correctness:RED/SURED register shadowing (#149, chuppatricky)IMAD high-register shadowing (#279, Hazmad)FP32 min/max denormal controls (#346, monsterlag)graphics warp ops at the guest's warp size, which fixes white leaves on Intel (#329, Felipe Lima)render-target components the shader doesn't write are no longer written (#353, jpkto)Crashes and stabilityRandom crash with "Accessing an unallocated region of a SparseLargeVector" (#485). A race freed part of the memory map while another thread was still updating it. This bug came from the Eden import and can affect any game.Game list: fixed two crashes when scanning game folders (#443, upstream #245).CPU and memory:dynarmic waits for its code-space commit (#310, Kaj)failed guest-memory allocation is reported before the kernel starts (#330, monsterlag)address ranges that wrap are rejected (#435)gathered buffers are released (#444)buffer usage is tracked per 64-byte block (#425)buffered state writes grow correctly (#404, Paulius)Input and window:Joy-Con subcommand replies must match (#338, monsterlag)the Joy-Con pair attribute is written atomically (#394)SDL window visibility is tracked and invalid sizes are rejected (#331, monsterlag)PerformanceLess bookkeeping on the GPU threads:one pipeline lookup per draw, plus skipped no-op work (#412)flush checks without the buffer-cache lock (#413)no GPU stall when the quad index buffer grows (#414)all three from FriztiSmaller wins:rejected compute shaders take a fast path (#197, axsddlr)instance-loop writes the split ignores are skipped (#178, tibzejoker)clear-skip matches the clear's real coverage (#311, Kaj)Less shader stutter on later launches. Guarded and mesh pipelines are now saved in the Vulkan disk cache (#192, SinCuri0).Hybrid Intel CPUs (P/E cores): time-critical threads stay on performance cores on Windows (#232, PantACRO4life). Set EDEN_HYBRID_CORES=0 to turn this off.New experimental option: Graphics → Extras → Hacks → Pin GPU threads to their own cores (#418). It is off by default and needs 6 or more physical performance cores. It is based on Frizti's core pinning.No FPS gain is promised. Frizti's numbers are Frizti's, and we haven't measured these changes on Lichii.FeaturesLayeredFS mods now apply to NUP titles (#203, Dr. Sergio).RomFS falls back to the loaded image for program index 0 (#159, Walnutoast830).The migration prompt's Keep Old Data option now keeps your data. Before, it moved it (#442).The performance overlay can be dragged on Wayland (#177, Mart).New tool that rebuilds Vulkan pipeline caches from playthrough hints (#214, Dothre).Diagnostics (all off unless enabled)frame_times on the debug server (#182).EDEN_NX2_PIPELINE_BUILD_TRACE names the shaders a driver crashes or stalls on (#301).Better logs:audio clock (#168)host clock calibration (#172)query resets (#309)sampler reports (#377)missing mesh shader support (#430)Windows console and thread names (#199, #186)Texture-cache debug statistics now only run when EDEN_NX2_TC_LOG is set (#428).Build and CIARM Linux and macOS build again (#482).GCC builds no longer fail on shadow warnings (#320).Release notes only link assets that exist (#424).Test and documentation fixes (#167, #246, #228).Known limitsThese are still open: AMD black foliage and haze, HUD flicker, cutscene audio drift, and the first-launch shader stall on Linux. An NVIDIA device-lost crash reported in Ocarina of Time on build 93 is waiting for a retest on this build.Full comparison · 56 merged changes.Standard builds of nx2 at 222877d4f7c8945b2f31a87b76d09f0a92e4f1b8. This release contains standard builds only; PGO builds are not included.Downloads and installationLinuxThe AppImages are self-contained and require glibc 2.39 or newer, such as Ubuntu 24.04, Fedora 40, Debian 13, or Arch. The tar.gz packages use system libraries and require Qt 6 and the usual runtime libraries.ArchitectureDownloadsInstallationx86_64AppImage · tar.gzMake the AppImage executable with chmod +x, then run itaarch64AppImage · tar.gzMake the AppImage executable with chmod +x, then run itWindowsWindows x86_64 MSVC ZIP: extract the entire archive and run lichii.exe, or eden-cli.exe from a terminal.macOSApple Silicon ZIP · DMGRequires macOS 15 or newer. The app is not notarized: right-click and choose Open the first time, or run xattr -dr com.apple.quarantine lichii.app. With the DMG, drag lichii.app to Applications. eden-cli is inside the app under Contents/MacOS.