github Djihads80/Eglantine build-163
Eglantine nx2-experimental build 163 (ec667e2)

latest release: build-167
pre-release2 hours ago

Read this first: build 163 is older code than build 158

The number is bigger, the emulator inside is not. nx2-experimental has not merged nx2 since build 130, so this build is build 130's code plus the two fixes below — and it therefore does not contain anything released in build 135, build 142 or build 158: the integrated NUP-Packer and its Convert to NUP… dialog, the Mario Kart World tree frame-rate win, the Japanese UI translation, the Hyrule Warriors: Age of Imprisonment shader-lowering fixes, the Splatoon Raiders cache-version fix, the Mario Tennis Fever, Donkey Kong Bananza, Pokopia and Mario Kart World fixes, the MoltenVK work, the new default settings — 28 pull requests and 97 commits in total.

git diff build-130..build-163 touches exactly two files: src/core/hle/service/mii/mii.cpp and src/hid_core/resources/six_axis/six_axis.h, 18 insertions and 6 deletions. Everything else is build 130.

Take this build only if you are on the experimental line (build 116/119/130) and those two fixes are what you're after. For the newest emulator, take build 158.

What's new in this build

Nintendo Switch Sports: sensor fusion starts (PR #296)

GetSixAxisSensorIcInformation returned a zeroed structure, on the assumption that the information is never read from a controller. It is: once a match starts, nn::imu passes these ranges to nerd::gyro_pointing, and GyroPointingStateDetector requires the accelerometer and gyroscope ranges to be above 0 or it aborts. The result was error 2162-0001 right after "Play with a Single Controller", before gameplay.

The ranges of the Joy-Con and Pro Controller sensors are now reported — 2000 dps and 8 g — until real data comes from the controller.

Random Miis are no longer all male with race 0 (PR #297)

IDatabaseService::BuildRandom takes Age, Gender and Race as three 32-bit values. Since the move to the CMIF templates the handler took the u8 enums directly, so the three values were unpacked from bytes 0, 1 and 2: gender and race actually came from the upper bytes of age and were always 0. Every random Mii was built male with race 0 whatever was asked for.

Nintendo Switch Sports asks for 100 random Miis with age, gender and race All (3, 2, 3); they were logged as 3, 0, 0 and are now built as 3, 2, 3.

Coming from build 119?

Build 163 is build 119 plus the nx2 merge that made up build 130 — task and mesh shaders, the AMD VRAM margins, Mario Kart World's command-list snapshot and tree fix, Fire Emblem: Fortune's Weave, the .nup loading and packing work, the RAM and ASTC changes — plus the two fixes above. Build 130's notes describe that batch in full; it is the same source, not a superset of it.

How it works, for the technically curious

  • ec667e25 is c0cb3325 (build 130) plus 8c6345066 (PR #296) and ec667e25f (PR #297, on top of 3d98eed7e). Both are two-file, one-hunk-scale changes.
  • git log --merges ec667e25..build-158 lists the 28 merges this branch does not have, including #291 (the experimental→nx2 merge), #318 (NUP-Packer UI), #286 (ja_JP translation), #304 and #305 (shader lowering, cache versions) and #354 (Mario Kart World prompt).
  • Concretely: src/yuzu/nup_dialogs.cpp and nup_dialogs.h do not exist in this build, dist/languages/ja_JP.ts is the pre-translation file, and buffer_cache.h, nup_container.cpp, main_window.cpp and the video-core files are at their build-130 state.
  • six_axis.h gains a DefaultIcInformation() returning 2000 dps / 8 g and uses it for SixaxisParameters::ic_information instead of a zeroed value; mii.cpp reads Age, Gender and Race as three 32-bit words instead of unpacking them from bytes 0, 1 and 2.

Automatic build of nx2-experimental at ec667e2.

Windows: extract the zip and run eglantine.exe, or eden-cli.exe from a terminal.
Linux (AppImage): make it executable (chmod +x) and run it; it bundles its libraries and needs glibc 2.39 or newer (Ubuntu 24.04, Fedora 40, Debian 13, Arch).
Linux (tar.gz): extract it and run ./eglantine or ./eden-cli; it uses your system libraries, so Qt 6 and the usual libraries must be installed.
macOS: Apple Silicon and macOS 15 or newer. Unzip and move eglantine.app to Applications; eden-cli is inside it, in Contents/MacOS. The app is not notarized, so the first time right-click it and choose Open (or run xattr -dr com.apple.quarantine eglantine.app).
The -pgo builds are the same programs compiled with profile-guided optimization (clang plus Eden's profile); prefer them when your CPU supports it. The Windows PGO build is a MinGW build, so it carries its own DLLs and needs no Visual C++ redistributable.

Don't miss a new Eglantine release

NewReleases is sending notifications on new releases.