Skip to content

[Linux] AppImage shows a blank window: bundled libwayland-client.so.0 breaks EGL #2

Description

@petrovo-as

Summary

On Arch Linux with Mesa 26.1 (AMD Radeon 680M, X11), the AppImage starts,
the window appears, but stays blank. stderr shows:

Could not create default EGL display: EGL_BAD_PARAMETER. Aborting...

The message comes from the bundled libwebkit2gtk-4.1.so.0. WebKit kills its
render process, so the main window opens empty.

Root cause

The AppImage bundles libwayland-client.so.0 (from Ubuntu) and forces it via
LD_LIBRARY_PATH. The host Mesa dlopens that library at runtime and fails to
initialise EGL against the bundled copy.

How I verified it

  1. ./MarkView-1.0.5-amd64.AppImage --appimage-extract
  2. Run squashfs-root/AppRun -> blank window, EGL error
  3. Remove squashfs-root/usr/lib/libwayland-client.so.0 -> renders correctly
  4. Put it back -> error returns

libepoxy and the other libwayland-* libs are not involved; only
libwayland-client.so.0 triggers it.

The host EGL stack is healthy — eglinfo -B reports working GBM and X11
platforms (only the Wayland platform fails, which is expected on an X11
session).

Note: the commonly suggested WEBKIT_DISABLE_DMABUF_RENDERER=1 and
WEBKIT_DISABLE_COMPOSITING_MODE=1 do not help, since the problem is not
in the renderer.

Workaround

LD_PRELOAD=/usr/lib/libwayland-client.so.0 ./MarkView-1.0.5-amd64.AppImage file.md

Suggested fix

Exclude libwayland-client.so.0 from the bundle (linuxdeploy -e / deny list),
so the host copy is used.

Environment

  • Arch Linux, kernel 7.1.3
  • Mesa 26.1.4, wayland 1.25.0, AMD Radeon 680M (radeonsi)
  • X11 session, MarkView 1.0.5 AppImage

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