Fix the Linux AppImage blank window on Fedora and ship an rpm - #132
Merged
Merged
Conversation
The 2.6.0 AppImage opens a blank white window on Fedora (#130): the WebKit web process aborts with "Could not create default EGL display: EGL_BAD_PARAMETER" before the first paint. Nothing in CI could see it, because the only Linux that ever ran the bundles was the Ubuntu that built them. Add a smoke-linux-fedora job that launches the AppImage and an rpm under Xvfb in a Fedora 44 container and fails on that EGL abort, on a dead web process, or on a window with nothing painted in it. This commit carries the test only; on the current bundler it is expected to fail on the AppImage, which is the reproduction. The fix follows. The rpm answers the reporter's other point, that a Fedora user cannot try the deb. It depends on webkit2gtk4.1 and gtk3, is signed and listed like the deb, and the release verification now expects it. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…s on Fedora Tauri fetches a July 2024 linuxdeploy into ~/.cache/tauri and reuses it. That build copies Ubuntu 24.04's libwayland-client.so.0 (wayland 1.22) into the AppImage, and Fedora's and Arch's Mesa libEGL_mesa need wl_display_create_queue_with_name from wayland 1.23, so the symbol lookup fails, EGL reports EGL_BAD_PARAMETER and WebKit exits its web process before the first paint. The previous commit's smoke-linux-fedora run shows exactly that: "Could not create default EGL display", no web process, a two-color window. linuxdeploy has excluded the library since November 2024 (AppImageCommunity/pkg2appimage#559). Seed Tauri's cache in CI and in the release workflow with linuxdeploy 1-alpha-20251107-1, pinned by SHA-256, and have build-linux assert the library is absent from the extracted AppImage so the regression cannot come back quietly. Closes #130 Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
mauropereiira
marked this pull request as ready for review
September 6, 2026 14:21
# Conflicts: # CHANGELOG.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
The 2.6.0 AppImage opens a blank white window on Fedora (#130). The console shows the WebKit web process aborting before the first paint:
Tauri builds the AppImage with a linuxdeploy from July 2024 that still bundles Ubuntu 24.04's
libwayland-client.so.0(wayland 1.22). Fedora's and Arch's MesalibEGL_mesa.so.0needswl_display_create_queue_with_namefrom wayland 1.23, the symbol lookup fails, EGL reportsEGL_BAD_PARAMETER, and WebKit exits its web process. It happens under X11 too, since Mesa links libwayland-client either way. linuxdeploy has excluded that library since November 2024 (AppImageCommunity/pkg2appimage#559), but Tauri's pinned copy predates it. Confirmed by extracting the shippedMoldavite_2.6.0_amd64.AppImage, which carriesusr/lib/libwayland-client.so.0, and by the exclude list embedded in each linuxdeploy build.The reporter also can't try the deb because they're on Fedora.
Change
smoke-linux-fedoraCI job takes the bundles frombuild-linux, installs the rpm in a Fedora 44 container, and launches the extracted AppImage and the installed binary under Xvfb. It fails on the EGL abort, on a dead WebKit web process, or on a screenshot with fewer than 32 distinct colors, which is what a blank window looks like. Screenshots and logs are kept as alinux-smokeartifact.1-alpha-20251107-1, pinned by SHA-256, so the AppImage leaveslibwayland-clientto the host.build-linuxalso asserts the library is absent from the extracted AppImage.Moldavite-x.x.x-1.x86_64.rpmdepends onwebkit2gtk4.1andgtk3, is signed and listed like the deb, and the release verification expects it. Installing it on Fedora is part of the smoke test. Docs, release body and changelog mention it.Nothing changes for macOS or Windows. The deb is untouched.
Verification
Both pushes ran the full CI. The smoke job's two runs are the evidence:
Could not create default EGL display: EGL_BAD_PARAMETER. Aborting..., no web process, 2-color windowThe
linux-smokeartifact on each run has the screenshots: the first run's AppImage shot is an empty cream window, the second run's shows the onboarding screen, identical to the rpm's.dnf installof the rpm resolvedwebkit2gtk4.1andgtk3on Fedora 44.build-linuxverified the linuxdeploy checksum and found nolibwayland-client.so*in the extracted AppImage. Every other check is green.Known gaps
libwayland-cursor,-egland-serverstay bundled; only the client library is what Mesa resolves against, and the smoke test would show if that changed.🤖 Generated with Claude Code