Merge pull request #410 from outis1one/claude/wolf-pair-port-conflict-7nz8qg

Fix wolf.sh: mount /home/retro/.local/share, not just .config
This commit is contained in:
Outis
2026-09-01 09:52:49 -04:00
committed by GitHub
+16 -8
View File
@@ -753,7 +753,7 @@ UDEV
"$GAME_STORAGE_DIR/steam-cache" \
"$GAME_STORAGE_DIR/bios" "$GAME_STORAGE_DIR/retroarch/cores" \
"$GAME_STORAGE_DIR/retroarch/shaders" "$GAME_STORAGE_DIR/retroarch/overlays" \
"$GAME_STORAGE_DIR/retro-home"
"$GAME_STORAGE_DIR/retro-home" "$GAME_STORAGE_DIR/retro-home-data"
# ── Wolf state folder on the game drive ───────────────────────────────────
# This is the clean way to keep Steam (and everything else) off the OS
@@ -805,13 +805,17 @@ UDEV
chown -R "$ACTUAL_USER:$ACTUAL_USER" "$GAME_STORAGE_DIR" 2>/dev/null || true
# The GoW app containers' 'retro' user is hardcoded to uid 1000 regardless
# of what ACTUAL_USER's own uid happens to be — force these two directly
# onto 1000:1000 so they're writable inside the container even when
# ACTUAL_USER isn't uid 1000. Both are mounted at/under /home/retro/.config
# (see the esde/retroarch CATALOG mounts) — retro-home in particular is
# what /home/retro/.config itself binds to, so anything an app writes
# there directly (Waybar, Sway, RetroArch's own state) needs this.
chown -R 1000:1000 "$GAME_STORAGE_DIR/retro-home" "$GAME_STORAGE_DIR/retroarch" 2>/dev/null || true
# of what ACTUAL_USER's own uid happens to be — force these directly onto
# 1000:1000 so they're writable inside the container even when
# ACTUAL_USER isn't uid 1000. retro-home/retro-home-data back
# /home/retro/.config and /home/retro/.local/share respectively (see the
# esde/retroarch CATALOG mounts) — apps split state across both XDG dirs
# (Waybar/Sway/RetroArch's own config lives under .config; Dolphin's
# emulated Wii NAND in particular lives under .local/share/dolphin-emu —
# confirmed live: "data is corrupted" / "could not write to/read from Wii
# system memory" was this directory not existing at all, since only
# .config had a persistent mount before this).
chown -R 1000:1000 "$GAME_STORAGE_DIR/retro-home" "$GAME_STORAGE_DIR/retro-home-data" "$GAME_STORAGE_DIR/retroarch" 2>/dev/null || true
log_success "Storage layout: $GAME_STORAGE_DIR/{roms/<system>/,steam,saves,media,emulators,...}"
log_info "ES-DE ROM directories pre-created. Drop ROMs in the matching subfolder."
@@ -1444,6 +1448,7 @@ CATALOG = {
f'{games}/media:/media:rw',
f'{games}/bios:/home/retro/bioses:rw',
f'{games}/retro-home:/home/retro/.config:rw',
f'{games}/retro-home-data:/home/retro/.local/share:rw',
f'{games}/retroarch:/home/retro/.config/retroarch:rw',
f'{games}/emulators:/mnt/games/emulators:rw',
f'{games}/emulators:/home/retro/Applications:rw'],
@@ -1469,6 +1474,7 @@ CATALOG = {
f'{games}/saves:/mnt/games/saves:rw',
f'{games}/bios:/home/retro/bioses:rw',
f'{games}/retro-home:/home/retro/.config:rw',
f'{games}/retro-home-data:/home/retro/.local/share:rw',
f'{games}/retroarch:/home/retro/.config/retroarch:rw'],
env=STD_ENV, cap_add=STD_CAP, security_opt=[], ipc_mode='host',
ulimits=[], privileged=False,
@@ -2743,6 +2749,7 @@ CATALOG = {
f'{games}/media:/media:rw',
f'{games}/bios:/home/retro/bioses:rw',
f'{games}/retro-home:/home/retro/.config:rw',
f'{games}/retro-home-data:/home/retro/.local/share:rw',
f'{games}/retroarch:/home/retro/.config/retroarch:rw',
f'{games}/emulators:/mnt/games/emulators:rw',
f'{games}/emulators:/home/retro/Applications:rw'],
@@ -2768,6 +2775,7 @@ CATALOG = {
f'{games}/saves:/mnt/games/saves:rw',
f'{games}/bios:/home/retro/bioses:rw',
f'{games}/retro-home:/home/retro/.config:rw',
f'{games}/retro-home-data:/home/retro/.local/share:rw',
f'{games}/retroarch:/home/retro/.config/retroarch:rw'],
env=STD_ENV, cap_add=STD_CAP, security_opt=[], ipc_mode='host',
ulimits=[], privileged=False,