From 5c3a38b9f0fb373d424e2f5a0b87ee77724dd9e2 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 2 Sep 2026 21:53:38 +0000 Subject: [PATCH 1/2] Set APPIMAGE_EXTRACT_AND_RUN=1 on the Desktop app so AppImages can run MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ghcr.io/games-on-whales/xfce has no libfuse2/libfuse3 at all (checked against its own Dockerfile) and, unlike es-de's Dockerfile (which sets this exact env var), no fallback either. Confirmed live: launching Cemu's AppImage from a terminal inside the Desktop session failed outright with the standard "AppImages require FUSE to run" error, even though the same AppImage runs fine when ES-DE launches it — es-de's container already carries this env var, xfce's doesn't. Adding it makes every AppImage self-extract into a temp dir and run from there instead of trying to FUSE-mount itself, matching how ES-DE already handles them. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01VLX1yYKJExGSXmgUhxKQG6 --- services/wolf.sh | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/services/wolf.sh b/services/wolf.sh index 30c926b..add7cb3 100644 --- a/services/wolf.sh +++ b/services/wolf.sh @@ -1742,7 +1742,16 @@ CATALOG = { f'{games}/retro-home-data:/home/retro/.local/share:rw', f'{games}/emulators:/mnt/games/emulators:rw', f'{games}/emulators:/home/retro/Applications:rw'], - env=STD_ENV, cap_add=STD_CAP, security_opt=[], ipc_mode='host', + # ghcr.io/games-on-whales/xfce has no libfuse2/libfuse3 at all (checked + # against its own Dockerfile) and, unlike es-de's own Dockerfile + # (which sets this exact env var for the same reason), no fallback + # either — confirmed live: launching an AppImage (Cemu) straight from + # this container failed outright with the standard "AppImages require + # FUSE to run" error. APPIMAGE_EXTRACT_AND_RUN=1 makes every AppImage + # self-extract into a temp dir and run from there instead of trying + # to FUSE-mount itself, matching what already makes AppImages work + # fine when ES-DE launches them. + env=STD_ENV + ['APPIMAGE_EXTRACT_AND_RUN=1'], cap_add=STD_CAP, security_opt=[], ipc_mode='host', ulimits=[], privileged=False, ), } @@ -3194,7 +3203,16 @@ CATALOG = { f'{games}/retro-home-data:/home/retro/.local/share:rw', f'{games}/emulators:/mnt/games/emulators:rw', f'{games}/emulators:/home/retro/Applications:rw'], - env=STD_ENV, cap_add=STD_CAP, security_opt=[], ipc_mode='host', + # ghcr.io/games-on-whales/xfce has no libfuse2/libfuse3 at all (checked + # against its own Dockerfile) and, unlike es-de's own Dockerfile + # (which sets this exact env var for the same reason), no fallback + # either — confirmed live: launching an AppImage (Cemu) straight from + # this container failed outright with the standard "AppImages require + # FUSE to run" error. APPIMAGE_EXTRACT_AND_RUN=1 makes every AppImage + # self-extract into a temp dir and run from there instead of trying + # to FUSE-mount itself, matching what already makes AppImages work + # fine when ES-DE launches them. + env=STD_ENV + ['APPIMAGE_EXTRACT_AND_RUN=1'], cap_add=STD_CAP, security_opt=[], ipc_mode='host', ulimits=[], privileged=False, ), } From 2c93a2c7fdf868fcd66ba4b6f0d40b66c44c80e4 Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 3 Sep 2026 02:06:28 +0000 Subject: [PATCH 2/2] Fix unbound APP_KEYS variable in install_wolf()'s app injector MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit install_wolf()'s own copy of the app-injection step used $APP_KEYS instead of its actual variable $_APP_KEYS (the underscore-prefixed name is install_wolf()'s own; APP_KEYS is manage.sh's separate copy's variable). Confirmed live: under 'set -u' without 'set -e' this was a non-fatal "APP_KEYS: unbound variable" error printed mid-install right after "Wolf restarted with updated config" — the script kept going, but the Steam-storage-location success message never printed. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01VLX1yYKJExGSXmgUhxKQG6 --- services/wolf.sh | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/services/wolf.sh b/services/wolf.sh index add7cb3..50191af 100644 --- a/services/wolf.sh +++ b/services/wolf.sh @@ -3377,7 +3377,13 @@ PYEOF # Nothing else to do for Steam storage: Wolf's state folder lives on the # game drive, so Steam installs, games, and Proton prefixes land there # automatically the first time you connect. No fix-perms, no symlinks. - if echo "$APP_KEYS" | grep -qw steam; then + # _APP_KEYS, not APP_KEYS — this install-time copy uses the + # underscore-prefixed name (set earlier in install_wolf()); APP_KEYS + # is manage.sh's own copy's variable name. Confirmed live: this was + # a silent no-op under 'set -u' without 'set -e' (bash prints + # "APP_KEYS: unbound variable" and just continues), so the Steam + # storage-location message never printed but nothing else broke. + if echo "$_APP_KEYS" | grep -qw steam; then log_success "Steam will install games to $WOLF_STATE_DIR (on the game drive)" fi else