fix(steamdeck): survive SteamOS A/B updates — register system tuning on the atomic-update keep list
Verified live on a SteamOS 3.8.14→3.8.16 update: the A/B partset switch rebuilds /etc and drops everything not on Valve's keep list — the udev rule (uhid access: virtual pads silently degrade to Xbox 360), the vhci-hcd autoload (native Deck pad transport), and the UDP buffer sysctl (back to 208 KB → stutter). Valve's sanctioned extension point is a drop-in under /etc/atomic-update.conf.d/ — itself on the stock keep list, so it self-preserves. install.sh §4 and update.sh now register scripts/punktfunk-atomic-keep.conf there. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -274,6 +274,14 @@ if [ "$SUDO_OK" = 1 ]; then
|
||||
NEED_RELOGIN=1
|
||||
warn "added $USER to the 'input' group (applies on next login)"
|
||||
fi
|
||||
# SteamOS A/B updates rebuild /etc and DROP everything not on Valve's keep list — verified
|
||||
# live: an OS update stripped the udev rule + vhci autoload + UDP sysctl (gamepads silently
|
||||
# degrade to Xbox 360, buffers back to 208 KB). The sanctioned fix is a preserve drop-in in
|
||||
# /etc/atomic-update.conf.d/ (itself on the stock keep list, so it self-preserves).
|
||||
if [ -f "$SRC/scripts/punktfunk-atomic-keep.conf" ]; then
|
||||
sudo install -Dm644 "$SRC/scripts/punktfunk-atomic-keep.conf" /etc/atomic-update.conf.d/punktfunk.conf
|
||||
ok "system tuning registered to survive SteamOS updates (atomic-update.conf.d)"
|
||||
fi
|
||||
else
|
||||
warn "no usable sudo — SKIPPED system tuning. Gamepad passthrough + clean streaming need root (udev"
|
||||
warn "rule, 'input' group, vhci-hcd, UDP buffers) — there is no user-space way to do these."
|
||||
|
||||
@@ -99,6 +99,13 @@ if [ "$SUDO_OK" = 1 ]; then
|
||||
sudo usermod -aG input "$USER"
|
||||
warn "added $USER to the 'input' group — REBOOT (or log out/in) for it to apply"
|
||||
fi
|
||||
# Register the tuning on Valve's atomic-update preserve list (see install.sh §4): without
|
||||
# this, every SteamOS A/B update strips the three files above again (verified live —
|
||||
# gamepads silently degrade to Xbox 360, UDP buffers back to 208 KB).
|
||||
if [ -f "$SRC/scripts/punktfunk-atomic-keep.conf" ]; then
|
||||
sudo install -Dm644 "$SRC/scripts/punktfunk-atomic-keep.conf" /etc/atomic-update.conf.d/punktfunk.conf
|
||||
ok "system tuning registered to survive SteamOS updates (atomic-update.conf.d)"
|
||||
fi
|
||||
else
|
||||
warn "no usable sudo — SKIPPED gamepad/udev/vhci/UDP tuning (all root-only; no user-space alternative)."
|
||||
warn "A stock SteamOS 'deck' account has NO password — set one with 'passwd', then re-run. Gamepads stay"
|
||||
|
||||
Reference in New Issue
Block a user