fix: search all Wolf Steam homes for AppID prefix, not just head -1

With multiple WolfSteam containers running, _steam_home() picks the first
Steam directory found which may not contain the target game's prefix.
_apply_ea_fix now scans all Wolf Steam homes and selects the one that has
the AppID's Proton prefix, falling back to the original behavior if none
match.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01D8ckUJQtj1pH8jtAddBDZs
This commit is contained in:
Claude
2026-06-22 20:40:39 +00:00
parent 77e40d4955
commit dd56f3f837
+10 -1
View File
@@ -1010,7 +1010,16 @@ _cache_ge_proton() {
_apply_ea_fix() {
local appid="$1"
local steam_home reg acf container_was_running=0
steam_home=$(_steam_home)
# Search all Wolf Steam homes for the one that has this AppID's prefix.
# With multiple WolfSteam containers, head -1 picks the wrong one.
steam_home=""
while IFS= read -r candidate; do
if [ -f "$candidate/.steam/steam/steamapps/compatdata/$appid/pfx/system.reg" ]; then
steam_home="$candidate"
break
fi
done < <(find "${WOLF_STATE_DIR:-/etc/wolf}" -maxdepth 2 -type d -name Steam 2>/dev/null)
[ -z "$steam_home" ] && steam_home=$(_steam_home)
reg="$steam_home/.steam/steam/steamapps/compatdata/$appid/pfx/system.reg"
acf="$steam_home/.steam/steam/steamapps/appmanifest_${appid}.acf"