From d954c605b0a3bca75a4c32e5ca41f31c6a26dbaf Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 2 Sep 2026 20:34:04 +0000 Subject: [PATCH] Share ES-DE's emulator/config mounts with the Wolf Desktop app MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The 'desktop' Wolf app (ghcr.io/games-on-whales/desktop:edge, full XFCE session) had mounts=[] — no access to emulators/ or the persistent .config/.local/share home ES-DE/RetroArch use. That meant there was no way to run a standalone emulator like Cemu outside ES-DE's single-app Sway kiosk session, which matters because a second top-level window from an app (e.g. Cemu's own Settings/Input dialogs) can fail to ever get mapped or focused there — confirmed live: clicking Cemu's General Settings highlighted the menu entry but no dialog ever appeared, with no way to recover control short of killing ES-DE. Give Desktop the same emulators -> ~/Applications and retro-home(-data) -> .config/.local/share mounts esde/retroarch already use, so Cemu (or any other standalone emulator) can be launched directly from a real multi-window XFCE session instead, using the exact same settings.xml the next ES-DE-launched session will read. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01VLX1yYKJExGSXmgUhxKQG6 --- services/wolf.sh | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/services/wolf.sh b/services/wolf.sh index 8007e79..ddbe7c5 100644 --- a/services/wolf.sh +++ b/services/wolf.sh @@ -1721,7 +1721,19 @@ CATALOG = { name='WolfDesktop', title='Desktop', icon='https://games-on-whales.github.io/wildlife/apps/desktop/assets/icon.png', image='ghcr.io/games-on-whales/desktop:edge', - mounts=[], + # Shares the SAME persistent home (.config/.local/share) and + # emulators/ -> ~/Applications mount as esde/retroarch below — a real + # XFCE multi-window session is a much more reliable place to run a + # standalone emulator's own GUI (Settings/Input dialogs) than inside + # ES-DE's single-app Sway kiosk session, where a second top-level + # window (e.g. Cemu's own Settings dialog) can fail to ever get + # mapped/focused. Whatever gets configured here (Cemu's settings.xml, + # controllerProfiles/, etc.) is read by the exact same app the next + # time it's launched through ES-DE, since it's the same mounted home. + mounts=[f'{games}/retro-home:/home/retro/.config:rw', + 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', ulimits=[], privileged=False, ), @@ -3124,7 +3136,19 @@ CATALOG = { name='WolfDesktop', title='Desktop', icon='https://games-on-whales.github.io/wildlife/apps/desktop/assets/icon.png', image='ghcr.io/games-on-whales/desktop:edge', - mounts=[], + # Shares the SAME persistent home (.config/.local/share) and + # emulators/ -> ~/Applications mount as esde/retroarch below — a real + # XFCE multi-window session is a much more reliable place to run a + # standalone emulator's own GUI (Settings/Input dialogs) than inside + # ES-DE's single-app Sway kiosk session, where a second top-level + # window (e.g. Cemu's own Settings dialog) can fail to ever get + # mapped/focused. Whatever gets configured here (Cemu's settings.xml, + # controllerProfiles/, etc.) is read by the exact same app the next + # time it's launched through ES-DE, since it's the same mounted home. + mounts=[f'{games}/retro-home:/home/retro/.config:rw', + 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', ulimits=[], privileged=False, ),