Thanks to visit codestin.com
Credit goes to github.com

Skip to content

[BUG] AppImage v0.4.0 blank window on Arch/CachyOS — AMD GPU, Mesa 26.1.5 #1258

Description

@rvasilev

Title: AppImage v0.4.0 blank window on Arch/CachyOS — AMD GPU, Mesa 26.1.5

Downloaded the AppImage, made it executable, ran it — just a white rectangle. The app noticed something was wrong and tried reloading three times, but nothing changed. Error in the terminal:

Could not create default EGL display: EGL_BAD_PARAMETER. Aborting...
[app_lib::blank_guard][WARN] blank window detected (#root children = -2); reload 1/3
[app_lib::blank_guard][WARN] blank window detected (#root children = -2); reload 2/3
[app_lib::blank_guard][WARN] blank window detected (#root children = -2); reload 3/3
[app_lib::blank_guard][ERROR] window still blank after 3 reloads

I worked through every workaround in the install docs — WEBKIT_DISABLE_DMABUF_RENDERER=1, adding LIBGL_ALWAYS_SOFTWARE=1, WEBKIT_DISABLE_COMPOSITING_MODE=1, various combos. Same error every time.

Building from source works perfectly. Cloned the repo, bun install, bun run desktop-prod — launches and runs great. Same machine, same graphics driver, same everything. The app itself is solid — the issue is in the AppImage packaging.

My system:

  • CachyOS (Arch), kernel 7.1.3
  • AMD Radeon RX 6800 XT
  • Mesa 26.1.5
  • KDE Plasma 6, Wayland
  • System WebKit: 2.52.5 (Arch package)

What I think is happening: The AppImage bundles an older WebKit that doesn't get along with Mesa 26.1.5. My system's own WebKit (2.52.5, compiled by Arch against the same Mesa I'm running) handles it fine — that's why the source build works. The workaround env vars don't help because the crash happens during the initial display connection setup, before any rendering method is chosen.

Related: issue #961 (same error, Ubuntu 26.04).

UPDATE — no env var workaround exists. After extensive testing (see comments), we confirmed that WEBKIT_DMABUF_RENDERER_FORCE_SHM, WEBKIT_DMABUF_RENDERER_DISABLE_GBM, WEBKIT_SKIA_ENABLE_CPU_RENDERING, EGL_PLATFORM=surfaceless, MESA_LOADER_DRIVER_OVERRIDE=swrast, and all combinations still hit the same EGL error. WebKit unconditionally creates the EGL display before consulting any rendering-path flags. The only working workaround is building from source.

For the devs — from someone who helped me investigate: the bundled libwebkit2gtk-4.1.so.0 (Ubuntu-built) calls eglGetPlatformDisplay() with parameters Mesa ≥26.1 rejects as EGL_BAD_PARAMETER. The AppImage doesn't bundle its own libEGL — it links against the system Mesa, creating a version mismatch. WEBKIT_DISABLE_DMABUF_RENDERER is recognized by the bundled binary but the crash is in EGL display creation, which precedes DMA-BUF entirely. System WebKit 2.52.5 (compiled against Mesa 26.1.5 by Arch) works fine because it uses a different EGL initialization path. Fix: build the AppImage against a base with Mesa ≥25.x, or ship a WebKit built against a modern Mesa.

Happy to test any fix.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions