Files
hyprland-hdmi-revive/docs/troubleshooting.md
T

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.