From 218c72037c7df9fcc5d1082475b7069045486793 Mon Sep 17 00:00:00 2001 From: 28allday Date: Sun, 17 May 2026 18:25:39 +0100 Subject: [PATCH] Fix Proton-GE install path breaking first Steam launch (v13.0-KDE) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit install_proton_ge_from_github() was creating ~/.steam/steam/compatibilitytools.d via mkdir -p before Steam had ever been launched. That forces ~/.steam/steam to exist as a real directory — which then prevents Steam, on first launch, from creating it as a symlink to ~/.local/share/Steam. Result: desktop Steam fails with "can't configure Steam data" / "Steam needs to be online to update". Switch the install target to ~/.local/share/Steam/compatibilitytools.d/ (the real Steam data dir). When Steam first runs it sets up ~/.steam/steam as a symlink → ~/.local/share/Steam, so Proton-GE is picked up automatically. Also check the legacy ~/.steam/steam/compatibilitytools.d path in the idempotency probe so re-runs on previously-installed boxes don't redownload. Bump version 12.27-KDE → 13.0-KDE (covers this fix plus the 2026-05-16 plasma-login-manager / AUR-reliability update which never bumped the string). --- super-alt-s.sh | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/super-alt-s.sh b/super-alt-s.sh index 93bdd4d..03f2b26 100755 --- a/super-alt-s.sh +++ b/super-alt-s.sh @@ -1,7 +1,7 @@ #!/bin/bash set -Euo pipefail -Super_Shift_S_VERSION="12.27-KDE" +Super_Shift_S_VERSION="13.0-KDE" CONFIG_FILE="/etc/gaming-mode.conf" [[ -f "$HOME/.gaming-mode.conf" ]] && CONFIG_FILE="$HOME/.gaming-mode.conf" @@ -860,16 +860,24 @@ install_proton_ge_from_github() { return 0 fi - local install_dir="$user_home/.steam/steam/compatibilitytools.d" + # Write to the real Steam data dir, NOT ~/.steam/steam. The latter is a + # symlink that Steam itself creates on first launch (→ ~/.local/share/Steam). + # If we mkdir -p ~/.steam/steam before Steam has ever run, it becomes a real + # directory and Steam refuses to start with "can't configure Steam data". + local install_dir="$user_home/.local/share/Steam/compatibilitytools.d" + local legacy_dir="$user_home/.steam/steam/compatibilitytools.d" # Idempotent: if any GE-Proton* directory already exists (from AUR pkg, # protonup-qt, or a previous run of this function), don't reinstall. - if compgen -G "$install_dir/GE-Proton*" > /dev/null 2>&1; then - local existing - existing=$(basename "$(compgen -G "$install_dir/GE-Proton*" | head -1)") - info "Proton-GE already installed: $existing — skipping" - return 0 - fi + # Check both the real path and the legacy symlink path. + for check_dir in "$install_dir" "$legacy_dir"; do + if compgen -G "$check_dir/GE-Proton*" > /dev/null 2>&1; then + local existing + existing=$(basename "$(compgen -G "$check_dir/GE-Proton*" | head -1)") + info "Proton-GE already installed: $existing — skipping" + return 0 + fi + done echo "" echo "================================================================"