fix: drop upstream multi-GPU workarounds that don't work on Chester

Restore hypridle.conf to the working Chester baseline (Step 1 dim + simple
step-3 resume) keeping our after_sleep_cmd (sleep 2; dpms on). Remove the
orphaned wake-display.sh / unstick-display.sh scripts added upstream for the
multi-GPU black-screen workaround.
This commit is contained in:
Jeena 2026-08-24 10:18:08 +09:00
parent d0cfa59fb0
commit 997f112baa
3 changed files with 16 additions and 72 deletions

View file

@ -2,10 +2,21 @@ general {
inhibit_sleep = 3
lock_cmd = pidof hyprlock || ~/.config/hypr/scripts/lock.sh
before_sleep_cmd = loginctl lock-session
after_sleep_cmd = hyprctl dispatch dpms off && sleep 1 && hyprctl dispatch dpms on
# Small delay so the DRM/GPU is ready before re-enabling the display;
# running `dpms on` immediately at resume is the classic cause of a black screen.
after_sleep_cmd = sh -c 'sleep 2; hyprctl dispatch dpms on'
}
# Step 1: Lock screen at 2 min idle
# Step 1: Dim monitor at 115 sec idle (warning that it will lock soon)
listener {
timeout = 115
# Only dims the screen, does not lock yet
# This shows you that lock will happen soon
on-timeout = dim
on-resume = pkill -x dim
}
# Step 2: Lock screen at 2 min idle
listener {
timeout = 120
on-timeout = ~/.config/hypr/scripts/lock.sh
@ -24,19 +35,13 @@ listener {
# Both together ensure the screen is fully off visually and electrically
# When the user becomes active again, restore display
#
# Cycles DPMS only if the display was actually turned off (avoids flicker
# when the user returns before step 3 fires). Needed because otherwise
# hyprlock surfaces may lose focus after a dpms off cycle
# (same issue covered in after_sleep_cmd above).
on-resume = ~/.config/hypr/scripts/wake-display.sh
on-resume = hyprctl dispatch dpms on && ddcutil setvcp 10 100 && wpctl set-mute @DEFAULT_AUDIO_SINK@ 0
# Explanation:
# - wake-display.sh checks if dpms is off; only then does a dpms off/on
# cycle to force Hyprland to recreate hyprlock surfaces
# - hyprctl dispatch dpms on → ensures the display is powered on by the compositor
# - ddcutil setvcp 10 100 → restores monitor brightness to full
#
# Both together guarantee the screen wakes reliably
# Both together guarantee the screen wakes reliably on all monitors
}
# Step 4: Suspend system after 30 min idle