Skip to content

fix: repack AppImage using system WebKit/GTK instead of bundled Ubuntu libs#137

Merged
kevwilliams merged 1 commit intomainfrom
fix/appimage-system-libs
Apr 8, 2026
Merged

fix: repack AppImage using system WebKit/GTK instead of bundled Ubuntu libs#137
kevwilliams merged 1 commit intomainfrom
fix/appimage-system-libs

Conversation

@kevwilliams
Copy link
Copy Markdown
Contributor

@kevwilliams kevwilliams commented Apr 8, 2026

Summary

  • Strips all bundled Ubuntu system libs (WebKit, GTK, GStreamer, GLib, Cairo, Pango, etc.) from the AppImage after dx bundle
  • Replaces the Ubuntu-specific GTK apprun hook (hardcoded x86_64-linux-gnu paths) with a distro-agnostic version
  • Repacks using appimagetool
  • Applied to both bundle.yml and manual-release.yml

Fixes #136

Root Cause

The AppImage built on Ubuntu 24.04 bundles WebKit/GTK/GStreamer/GLib from that distro. On Fedora 43 and other distros with newer system libraries, these libs conflict with the host's graphics stack, causing a cascade of symbol lookup errors and a blank white window:

Could not create default EGL display: EGL_BAD_PARAMETER. Aborting
symbol lookup error: libwebkit2gtk-4.1.so.0: undefined symbol: gst_structure_foreach_id_str
symbol lookup error: libgstreamer-1.0.so.0: undefined symbol: g_sort_array

Runtime Requirement

Users need libwebkit2gtk-4.1 installed:

  • Fedora: sudo dnf install webkit2gtk4.1
  • Debian/Ubuntu: sudo apt install libwebkit2gtk-4.1-0
  • Arch: sudo pacman -S webkit2gtk-4.1

Test Plan

  • Trigger bundle workflow and download the Linux AppImage
  • Verify it runs correctly on Fedora 43
  • Verify it runs correctly on Ubuntu (libwebkit2gtk-4.1-0 already installed)

…u libs

The AppImage built on Ubuntu 24.04 bundles WebKit/GTK/GStreamer/GLib from
that distro. On Fedora 43 and other distros with newer system libraries,
these bundled libs conflict with the host's graphics stack, causing EGL
initialization to fail with a blank window.

After dx bundle, post-process the AppImage to:
- Strip all bundled standard system libs (WebKit, GTK, GStreamer, GLib,
  Cairo, Pango, etc.) so the host's versions are used instead
- Replace the Ubuntu-specific GTK apprun hook (which hardcodes
  x86_64-linux-gnu paths) with a distro-agnostic version
- Repack using appimagetool

The AppImage now requires libwebkit2gtk-4.1 on the host system:
  Fedora:        sudo dnf install webkit2gtk4.1
  Debian/Ubuntu: sudo apt install libwebkit2gtk-4.1-0
  Arch:          sudo pacman -S webkit2gtk-4.1

Fixes #136
@kevwilliams kevwilliams merged commit f9dffa3 into main Apr 8, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Linux: AppImage fails on non-Ubuntu distros due to bundled WebKit/GTK/GLib conflicts

2 participants