Fix Proton-GE install path breaking first Steam launch (v13.0-KDE)
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).
This commit is contained in:
parent
e687ba7595
commit
218c72037c
1 changed files with 16 additions and 8 deletions
|
|
@ -1,7 +1,7 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
set -Euo pipefail
|
set -Euo pipefail
|
||||||
|
|
||||||
Super_Shift_S_VERSION="12.27-KDE"
|
Super_Shift_S_VERSION="13.0-KDE"
|
||||||
|
|
||||||
CONFIG_FILE="/etc/gaming-mode.conf"
|
CONFIG_FILE="/etc/gaming-mode.conf"
|
||||||
[[ -f "$HOME/.gaming-mode.conf" ]] && CONFIG_FILE="$HOME/.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
|
return 0
|
||||||
fi
|
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,
|
# Idempotent: if any GE-Proton* directory already exists (from AUR pkg,
|
||||||
# protonup-qt, or a previous run of this function), don't reinstall.
|
# protonup-qt, or a previous run of this function), don't reinstall.
|
||||||
if compgen -G "$install_dir/GE-Proton*" > /dev/null 2>&1; then
|
# 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
|
local existing
|
||||||
existing=$(basename "$(compgen -G "$install_dir/GE-Proton*" | head -1)")
|
existing=$(basename "$(compgen -G "$check_dir/GE-Proton*" | head -1)")
|
||||||
info "Proton-GE already installed: $existing — skipping"
|
info "Proton-GE already installed: $existing — skipping"
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
echo "================================================================"
|
echo "================================================================"
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue