- AQ_DRM_DEVICES=/dev/dri/card0 forces Aquamarine to use only the Intel iGPU, avoiding EGL_BAD_MATCH errors from the NVIDIA RTX 3060 after VT/DPMS cycles (page-flip lockups, black display) - lock.sh: guard against duplicate hyprlock instances (second instance steals surfaces, leaves screen black) - lid-close.sh: same guard for laptop - wake-display.sh: conditional DPMS cycle (only when display is off) to restore hyprlock surfaces without flicker - unstick-display.sh: emergency recovery script for tty3
25 lines
693 B
Bash
Executable file
25 lines
693 B
Bash
Executable file
#!/bin/bash
|
|
# Recovery script for when Hyprland display goes black after lock/sleep.
|
|
# This resets the display pipeline without killing your session.
|
|
# Run from another TTY (Ctrl+Alt+F3).
|
|
|
|
export XDG_RUNTIME_DIR=/run/user/$(id -u)
|
|
|
|
# Find the Hyprland instance signature from the socket directory
|
|
SIGNATURE=$(ls "$XDG_RUNTIME_DIR/hypr/" 2>/dev/null | head -1)
|
|
|
|
if [ -z "$SIGNATURE" ]; then
|
|
echo "Could not find Hyprland socket. Is Hyprland running?"
|
|
exit 1
|
|
fi
|
|
|
|
export HYPRLAND_INSTANCE_SIGNATURE=$SIGNATURE
|
|
|
|
echo "Resetting display pipeline..."
|
|
|
|
pkill hyprlock 2>/dev/null
|
|
hyprctl dispatch dpms off
|
|
sleep 1
|
|
hyprctl dispatch dpms on
|
|
|
|
echo "Done. Switch back to Hyprland (Ctrl+Alt+F2)."
|