Three fixes for cross-distro compatibility:
- Keep libvdpau.so in the bundle. It's a dispatcher library, not a
GPU driver. The backend drivers in /usr/lib/vdpau/ are still excluded.
Without the dispatcher, the AppImage fails to start on distros where
libvdpau isn't installed by default (e.g. Ubuntu 24.04).
- Replace the QtWebEngineProcess bash wrapper with a statically-linked
C binary. The bash wrapper was crashing on Ubuntu because the host's
/bin/bash was loaded by the host's dynamic linker, which then picked
up the bundled Arch glibc via LD_LIBRARY_PATH — an ABI mismatch that
segfaults. A static binary has no shared library dependencies, so
LD_LIBRARY_PATH is irrelevant to it.
- Improve APPDIR derivation in the wrapper. Instead of relying solely
on the APPDIR environment variable (which may not be inherited by
subprocesses), derive it from the binary's own path via
/proc/self/exe.
Docker-based build on Arch Linux that ships the full library stack
(including glibc) for cross-distro compatibility. Uses the bundled
ld-linux as the interpreter to bypass host glibc version requirements.
GPU/graphics libraries are excluded from the bundle and loaded from
the host system to match the kernel GPU driver.