The Meowgorithm Dotfiles, Collectors’ Edition
#!/usr/bin/env bash
#
# Configure deep sleep and AMDGPU suspend/resume fixes for ASUS ROG Flow Z13
# (Strix Halo). Safe to re-run — idempotent, no-ops if already configured.
#
# Usage: sudo ./setup-sleep-state
#
set -euo pipefail
if [[ $EUID -ne 0 ]]; then
echo "This script must be run as root (sudo)." >&2
exit 1
fi
SLEEP_DROPIN="/etc/systemd/sleep.conf.d/deep-sleep.conf"
AMDGPU_MODPROBE="/etc/modprobe.d/amdgpu-suspend.conf"
SLEEP_HOOK="/usr/lib/systemd/system-sleep/amdgpu-resume"
BOOTLOADER_CONF="/etc/default/grub"
NEEDS_UPDATE=false
echo "=== Sleep State Setup for ASUS ROG Flow Z13 ==="
echo ""
# 1. Enable deep sleep (S3) instead of s2idle
if [[ -f "$SLEEP_DROPIN" ]] && grep -q 'SuspendState=deep' "$SLEEP_DROPIN" 2>/dev/null; then
echo "[✓] Deep sleep already configured"
else
mkdir -p /etc/systemd/sleep.conf.d
cat > "$SLEEP_DROPIN" <<EOF
[Sleep]
SuspendState=mem standby freeze
EOF
echo "[+] Created $SLEEP_DROPIN"
NEEDS_UPDATE=true
fi
# 2. AMDGPU module options for suspend stability
# - runpm=0: disable runtime PM (prevents dGPU power-down crashes on Strix Halo)