feat: add GE-Proton auto-install to both SWBF2 setup scripts

Both scripts now download and install GE-Proton10-34 if not already present:
- setup-swbf2-linux.sh: installs to ~/.steam/root/compatibilitytools.d/
- setup-swbf2-wolf.sh: installs into the WolfSteam container via docker cp + tar

Both pause after install and prompt the user to set GE-Proton in Steam
(Compatibility → Force) before continuing, since that step requires the GUI.

Update docs to reflect GE-Proton is now handled automatically.

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 16:15:24 +00:00
parent 1b29873f62
commit 7f926c03af
3 changed files with 60 additions and 5 deletions
+26 -1
View File
@@ -38,12 +38,12 @@ set -euo pipefail
APPID="1237950"
WRAPPER_PATH="$HOME/.local/bin/ea_install.sh"
GE_PROTON_VERSION="GE-Proton10-34"
echo "=== SWBF2 (2017) Linux Steam Setup ==="
echo ""
# ── Locate Steam home ───────────────────────────────────────────────────────
# Steam can live in either of two locations depending on install method.
find_steam_home() {
for candidate in \
"$HOME/.steam/steam" \
@@ -63,6 +63,31 @@ STEAM_HOME=$(find_steam_home) || {
}
echo "Steam home: $STEAM_HOME"
# ── Install GE-Proton if not present ───────────────────────────────────────
GEP_DIR="$HOME/.steam/root/compatibilitytools.d"
mkdir -p "$GEP_DIR"
if [ -d "$GEP_DIR/$GE_PROTON_VERSION" ]; then
echo "GE-Proton: $GE_PROTON_VERSION already installed"
else
echo "Installing $GE_PROTON_VERSION..."
GEP_URL="https://github.com/GloriousEggroll/proton-ge-custom/releases/download/$GE_PROTON_VERSION/$GE_PROTON_VERSION.tar.gz"
GEP_TMP="/tmp/$GE_PROTON_VERSION.tar.gz"
if ! curl -L --progress-bar -o "$GEP_TMP" "$GEP_URL"; then
echo "ERROR: Download failed. Check your internet connection and try again."
exit 1
fi
tar -xzf "$GEP_TMP" -C "$GEP_DIR"
rm -f "$GEP_TMP"
echo "GE-Proton installed to: $GEP_DIR/$GE_PROTON_VERSION"
echo ""
echo "IMPORTANT: Restart Steam now, then:"
echo " Right-click SWBF2 → Properties → Compatibility"
echo " → Force a specific Steam Play compatibility tool → $GE_PROTON_VERSION"
echo "Then re-run this script."
echo ""
read -rp "Press Enter after you have restarted Steam and set GE-Proton, or Ctrl+C to abort..."
fi
PFX_C="$STEAM_HOME/steamapps/compatdata/$APPID/pfx/drive_c"
MSI="$PFX_C/ea_app.msi"
+31
View File
@@ -41,6 +41,7 @@
set -euo pipefail
APPID="1237950"
GE_PROTON_VERSION="GE-Proton10-34"
echo "=== SWBF2 (2017) Wolf/Moonlight Setup ==="
echo ""
@@ -70,6 +71,36 @@ if [ -z "$STEAM_HOME" ] || [ ! -d "$STEAM_HOME" ]; then
fi
echo "Steam home: $STEAM_HOME"
# ── Install GE-Proton inside the container if not present ──────────────────
GEP_CONTAINER_DIR="/home/retro/.steam/compatibilitytools.d"
GEP_INSTALLED=$(docker exec "$WOLF_CONTAINER" \
bash -c "ls '$GEP_CONTAINER_DIR' 2>/dev/null | grep -i '$GE_PROTON_VERSION'" 2>/dev/null || true)
if [ -n "$GEP_INSTALLED" ]; then
echo "GE-Proton: $GE_PROTON_VERSION already installed in container"
else
echo "Installing $GE_PROTON_VERSION into WolfSteam container..."
GEP_URL="https://github.com/GloriousEggroll/proton-ge-custom/releases/download/$GE_PROTON_VERSION/$GE_PROTON_VERSION.tar.gz"
GEP_TMP="/tmp/$GE_PROTON_VERSION.tar.gz"
if ! curl -L --progress-bar -o "$GEP_TMP" "$GEP_URL"; then
echo "ERROR: Download failed. Check your internet connection and try again."
exit 1
fi
docker exec "$WOLF_CONTAINER" mkdir -p "$GEP_CONTAINER_DIR"
docker cp "$GEP_TMP" "$WOLF_CONTAINER:/tmp/$GE_PROTON_VERSION.tar.gz"
docker exec -u 1000 "$WOLF_CONTAINER" \
tar -xzf "/tmp/$GE_PROTON_VERSION.tar.gz" -C "$GEP_CONTAINER_DIR"
docker exec "$WOLF_CONTAINER" rm -f "/tmp/$GE_PROTON_VERSION.tar.gz"
rm -f "$GEP_TMP"
echo "GE-Proton installed in container."
echo ""
echo "IMPORTANT: In Steam (via Moonlight):"
echo " Right-click SWBF2 → Properties → Compatibility"
echo " → Force a specific Steam Play compatibility tool → $GE_PROTON_VERSION"
echo "Then re-run this script."
echo ""
read -rp "Press Enter after you have set GE-Proton in Steam, or Ctrl+C to abort..."
fi
PFX_C="$STEAM_HOME/.steam/steam/steamapps/compatdata/$APPID/pfx/drive_c"
MSI="$PFX_C/ea_app.msi"