Epic Games Launcher AppImage fails to open browser for login on KDE Plasma 6.7.5

Summary

The Epic Games Launcher AppImage does not open a web browser when the user clicks the “login” button on a system running KDE Plasma 6 (Wayland). The launcher appears to do nothing and logs no errors. The root cause is an outdated bundled xdg-open script (version 1.1.3) that only supports KDE_SESSION_VERSION 4 and 5, and silently exits on Plasma 6. The AppImage’s internal PATH causes this bundled script to be used even when the system’s working xdg-open is available.

Environment

  • Distribution: Bazzite 44 (Fedora Atomic-based)
  • Desktop Environment: KDE Plasma 6.7.5 (Wayland)
  • Hardware: AMD Ryzen 7 5700X, 31.2 GB RAM
  • AppImage: epic_games_launcher.appimage
  • AppImage version: release=0.95.2+gfa9ad49 channel=release
  • Browser: Brave (Flatpak, com.brave.Browser), though the issue is browser-agnostic.

Steps to Reproduce

  1. Download, Install and Open the Epic Games Launcher Preview AppImage.
  2. Wait for the launcher window to appear.
  3. Click the “login” button (or any action expected to open a browser).

Expected Behavior

The default web browser should open to the Epic Games login page.

Actual Behavior

Nothing happens. No browser window opens. If opened from the terminal, it shows only the normal startup logs and a clean shutdown; no error messages are printed.

Root Cause Analysis

1. Bundled xdg-open is outdated

Extracting the AppImage reveals a bundled xdg-open script:

./epic_games_launcher.appimage --appimage-extract
find squashfs-root -name 'xdg-open'
# Output: squashfs-root/usr/bin/xdg-open

Inspecting the script for KDE session handling:

grep -n 'KDE_SESSION_VERSION' squashfs-root/usr/bin/xdg-open
# Output: 7:# 1.1.3 — its open_kde() handles KDE_SESSION_VERSION 4 and 5 only. On Plasma 6

The bundled script is from xdg-utils 1.1.3, which does not recognize KDE_SESSION_VERSION=6. On Plasma 6, the script falls through all cases and exits without doing anything.

2. The AppImage uses its own bundled xdg-open first

The AppImage runtime sets its internal PATH to prioritize its own /usr/bin directory. Therefore, even when the system’s xdg-open is correct (e.g., xdg-utils 1.2.0+), the launcher calls the bundled outdated version. Overriding PATH externally (via a wrapper script) does not affect the environment inside the AppImage.

3. The launcher ignores the BROWSER environment variable

Setting BROWSER="flatpak run com.brave.Browser" (or any other browser command) before launching the AppImage had no effect. The launcher appears to call xdg-open directly and does not respect BROWSER.

4. System xdg-open works correctly

Running xdg-open https://www.epicgames.com from the terminal successfully opens the browser, confirming the system’s xdg-open is functional and supports KDE 6.

Evidence

  • Terminal output when running the AppImage shows normal startup and shutdown, with no errors related to opening a browser.
  • Extraction and grep results as shown above.
  • Attempts to use a wrapper script with export PATH="/usr/bin:$PATH" and unset LD_LIBRARY_PATH / unset LD_PRELOAD did not resolve the issue.
  • Setting BROWSER to a Flatpak browser command did not resolve the issue.

Suggested Fix

  1. Update the bundled xdg-open to xdg-utils version 1.2.0 or later, which includes support for KDE_SESSION_VERSION=6.
  2. Alternatively, patch the bundled xdg-open to handle KDE 6. The relevant open_kde() function should include a case for 6 that mirrors the behavior for 5.
  3. Better yet, do not bundle xdg-open at all. Rely on the system’s xdg-open, which is guaranteed to match the user’s desktop environment. This avoids future incompatibilities and reduces AppImage size.
  4. As an improvement, the launcher could respect the BROWSER environment variable or use a more robust URL-opening mechanism (e.g., gio open, kde-open5/kde-open6, or a direct call to the desktop portal).

Additional Notes

  • This issue is specific to KDE Plasma 6. On Plasma 5 or other desktop environments, the bundled xdg-open 1.1.3 may work correctly.
  • The problem is likely to affect other AppImages that bundle xdg-utils 1.1.3 and are used on Plasma 6.
  • A related upstream issue in xdg-utils was fixed in version 1.2.0 (released 2022), which added KDE 6 support.