2.2 KiB
Troubleshooting
Check the Hyprland output name
hyprctl monitors
Update:
~/.config/revive-monitor/config.env
if the output is not HDMI-A-2.
Check the user service
systemctl --user status revive-monitor-drm-watch.service
Follow logs
journalctl --user -u revive-monitor-drm-watch.service -f
For the recovery script tag:
journalctl --user -t revive-monitor-fix -f
Verify DRM hotplug events manually
udevadm monitor --kernel --property --subsystem-match=drm
Switch the physical monitor input away and back. Look for:
HOTPLUG=1
If no DRM hotplug event is emitted, this project has no reliable event to trigger from.
Verify the active Wayland session
loginctl list-sessions
Then:
for s in $(loginctl list-sessions --no-legend | awk '{print $1}'); do
echo "=== Session $s ==="
loginctl show-session "$s" -p Name -p Type -p Active -p VTNr
done
A normal Hyprland session should look similar to:
Name=your-user
VTNr=1
Type=wayland
Active=yes
Display manager appears only after manually switching TTY
Check the boot journal:
journalctl -b --no-pager | grep -E 'revive-monitor|COMMAND=/usr/bin/chvt|chvt'
If chvt runs before login, verify that you installed the current watcher script. It must ignore hotplug events when there is no active Wayland session.
Expected pre-login behavior:
No active Wayland session - DRM hotplug ignored
sudo / chvt fails
Test non-interactively:
sudo -n /usr/bin/chvt 2
If sudo asks for a password or exits with an error, verify:
/etc/sudoers.d/revive-monitor-chvt
Always edit sudoers files with visudo.
Recovery runs multiple times
Increase:
DEBOUNCE_SECONDS=30
in:
~/.config/revive-monitor/config.env
For noisy hardware, 60 may be more appropriate.
Recovery runs but the monitor still stays black
Increase:
HDMI_SETTLE_SECONDS=5
to 7 or 10 and test again.
Also manually verify that a VT switch actually restores the image:
sudo chvt 2
sleep 1
sudo chvt 1
Adjust the numbers to match the machine's graphical VT.