github Djihads80/Eglantine build-181
Eglantine nx2 build 181 (f347ae0)

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

What's new in this build

Build 181 of nx2 (f347ae0) is build 177 plus four changes: the Linux AppImages now carry Qt's Wayland platform plugins, so they start on a Wayland-only desktop (#298); the repository has real issue forms; the tests target builds again; and a push that only touches src/tests no longer queues a seven-platform release build.

No emulator code changed, so no game behaves differently from build 177 and there is nothing to retest.

In short

  • Linux AppImage — Wayland: libqwayland-egl.so and libqwayland-generic.so, with their client graphics and shell integrations, are bundled in all four Linux AppImages. On a Wayland-only system the AppImage used to abort with Could not find the Qt platform plugin "wayland" and Available platform plugins are: xcb (#447, addresses #298).
  • Issue forms: the single bug report is replaced by crash, game bug, visual bug and UI bug forms, and a workflow labels each new issue by game, GPU vendor and operating system (#433).
  • Tests build again: two src/tests fixes — a sign-compare error in the socket proxy test and the GetPointer hook the descriptor table test's mocks were missing.
  • CI: src/tests/** is now excluded from the release workflow's path filter. This is the change that made up the withdrawn build 179, and it is in this build.
  • Not here: Android APKs (the publishing was reverted in build 175) and the NVIDIA DLSS work — that landed after this build, and it is not in these binaries either.

Linux AppImage: Qt's Wayland plugins are bundled now

An AppImage built before this one shipped Qt's xcb platform plugin only, so on a desktop with no X server — pure Wayland, no XWayland — Qt had no platform to start on:

qt.qpa.plugin: Could not find the Qt platform plugin "wayland" in ""
This application failed to start because no Qt platform plugin could be initialized.
Available platform plugins are: xcb.
Aborted (core dumped)

linuxdeploy's Qt plugin is now asked for the Wayland platform plugins and their client graphics and shell integrations (EXTRA_QT_MODULES=waylandcompositor, EXTRA_PLATFORM_PLUGINS='libqwayland-egl.so;libqwayland-generic.so'). The Qt installation the build already uses contains them, so the AppImage grows by their size and nothing else is downloaded or linked.

Issue #298 is still open, so if you reported it, please confirm on the AppImage — on a Wayland session the app should now start without XWayland, and QT_QPA_PLATFORM=wayland or xcb selects the backend explicitly.

Issue forms instead of one bug template

.github/ISSUE_TEMPLATE/ now has crash.yml, game_bug.yml, visual_bug.yml and ui_bug.yml alongside a trimmed bug_report.yml and feature_request.yml, plus blank.yml (renamed from blank_issue_template.yml). label-issues.yml reads the submitted form and labels the issue: the game becomes its own label (Mario Kart, DKB, Fire Emblem, Splatoon Raiders, Pokopia, Hyrule Warriors, Welcome Tour), the graphics card sets NVIDIA, AMD or INTEL, and the operating system sets windows, linux or MacOS. "No response" fields are ignored.

The tests target builds again

Neither of these is compiled into the release binaries — BUILD_TESTING=OFF and YUZU_TESTS=OFF — but the tests target had stopped building on nx2:

  • socket_proxy.cpp compared Recv's signed count against payload.size(), a size_t, which is -Werror=sign-compare.
  • descriptor_table.cpp's two MemoryManager mocks had no GetPointer, which DescriptorTable::Read now calls for entries inside one page, so the template failed to instantiate. Both return nullptr, which keeps the tests on the generic ReadBlockUnsafe path they are written for.

Coming from build 177?

Nothing has changed in the emulator. Everything in 177's notes still applies: the Arch eglantine-git PKGBUILD, the corrected contributing guide and PR template, and the per-draw GPU-thread work in DescriptorTable::Read. Install this one if you run the AppImage on Wayland; otherwise 177 and 181 are the same program.

Note on builds 179 and 180

Build 179 was published and then withdrawn — it carried only the CI path change above, so its release and tag were removed. Build 180 was a workflow_dispatch run on fix/amd-crashes that was cancelled. Neither is a missing release.

How it works, for the technically curious

  • .github/workflows/release-binaries.yml, AppImage step: export EXTRA_QT_MODULES=waylandcompositor and export EXTRA_PLATFORM_PLUGINS='libqwayland-egl.so;libqwayland-generic.so' before linuxdeploy. The step runs for linux-x86_64, linux-x86_64-pgo, linux-aarch64 and linux-aarch64-pgo, so all four AppImages get the plugins.
  • on.push.paths gains - "!src/tests/**" after src/**; a push that also matches a later entry (CMakeLists.txt, CMakeModules/**, externals/**, dist/**, tools/**, .patch/**, cpmfile.json, the workflow itself) still builds.
  • label-issues.yml parses the ### Field sections of the issue body with body.split(/^### /m), then maps the game, GPU vendor and OS answers to labels through actions/github-script.
  • git diff build-177..build-181 touches 11 files, +489/−83, none of them in src/ outside src/tests/.

Automatic build of nx2 at f347ae0.

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.