From 9f1490f28db8643e78cd26e3cd8f0c92909f16a2 Mon Sep 17 00:00:00 2001 From: tranch Date: Sun, 13 Sep 2026 13:58:34 +0800 Subject: Migrate legacy gaming mode shortcut Repair existing user desktop launchers that still reference the removed return-to-gamemode systemd service. --- build_files/patch-bazzite-deck-identity.sh | 24 ++++++++++++++++++++++++ tests/test-patch-bazzite-deck-identity.sh | 2 ++ 2 files changed, 26 insertions(+) diff --git a/build_files/patch-bazzite-deck-identity.sh b/build_files/patch-bazzite-deck-identity.sh index d3ee860..da2a74e 100755 --- a/build_files/patch-bazzite-deck-identity.sh +++ b/build_files/patch-bazzite-deck-identity.sh @@ -158,6 +158,29 @@ patch_desktop_branding_migration() { fi } +patch_gamemode_shortcut_migration() { + local file="$1" + local marker='AeroCore Return to Gaming Mode shortcut migration' + + if [[ ! -f "$file" ]]; then + echo "Unable to locate expected Bazzite user setup file: $file" >&2 + exit 1 + fi + + if grep -Fq "$marker" "$file"; then + return 0 + fi + + cat >> "$file" <<'EOF' + +# AeroCore Return to Gaming Mode shortcut migration +# Replace the legacy privileged systemd launcher left by older Bazzite images. +if [[ -f "$HOME/Desktop/Return.desktop" ]]; then + sed -i 's|^Exec=systemctl start return-to-gamemode\.service$|Exec=/usr/bin/return-to-gamemode|' "$HOME/Desktop/Return.desktop" +fi +EOF +} + # Keep AeroCore's public image-name, while restoring the Deck capability checks # used by Bazzite's runtime scripts. These are literal source lines; variable # expansion must happen later, when the scripts run on the installed system. @@ -197,3 +220,4 @@ patch_condition \ 3 patch_desktop_branding_migration "$(target_path /usr/libexec/bazzite-user-setup)" +patch_gamemode_shortcut_migration "$(target_path /usr/libexec/bazzite-user-setup)" diff --git a/tests/test-patch-bazzite-deck-identity.sh b/tests/test-patch-bazzite-deck-identity.sh index fa420ce..0b0586c 100755 --- a/tests/test-patch-bazzite-deck-identity.sh +++ b/tests/test-patch-bazzite-deck-identity.sh @@ -42,6 +42,7 @@ assert_count 1 "${deck_condition}" "${hardware_setup}" assert_count 1 "${deck_condition}" "${steam}" assert_count 3 "${deck_condition}" "${user_setup}" assert_count 1 'AeroCore Steam state migration' "${steam}" +assert_count 1 'AeroCore Return to Gaming Mode shortcut migration' "${user_setup}" # A second run must recognize the patched fixture and make no further changes. first_digest="$(sha256sum "${hardware_setup}" "${steam}" "${user_setup}")" @@ -54,5 +55,6 @@ if [[ "${first_digest}" != "${second_digest}" ]]; then fi assert_count 1 'AeroCore Steam state migration' "${steam}" +assert_count 1 'AeroCore Return to Gaming Mode shortcut migration' "${user_setup}" echo "Bazzite 44 Deck identity fixture passed" -- cgit v1.2.3