INC-2026-05-23-001: Investigation

Root Cause

systemd-logind manages hardware button events. The default behavior for HandlePowerKey is poweroff — a single short press of the physical power button triggers a full system shutdown. This default was never overridden on the P16g.

The power button had not been pressed in routine use before this incident. The trigger was a black screen (DPMS off) that failed to wake on mouse/keyboard input, prompting the user to press the power button as a wake attempt.

Contributing Factors

Factor Detail

No logind drop-in

/etc/systemd/logind.conf.d/ did not exist. The default HandlePowerKey=poweroff was active.

No Hyprland power key bind

Hyprland config binds SUPER+X to a power menu script but does not intercept the hardware XF86PowerOff key. logind processes it first.

DPMS wake failure

The display was DPMS-off and unresponsive to mouse/keyboard due to an i915 DRM regression on kernel 7.0.9 (see INC-2026-05-23-002). This drove the user to press the power button as a fallback.

Kernel boot parameter

mem_sleep_default=s2idle is set, indicating suspend should use s2idle. But HandlePowerKey=poweroff bypasses suspend entirely.

Cascade

  1. hypridle turns display off via DPMS after 15 minutes of idle

  2. Display fails to wake on input (NVIDIA/kernel regression — separate incident)

  3. User presses power button expecting wake behavior

  4. logind intercepts power-key-press-short event

  5. logind checks HandlePowerKey — finds default poweroff

  6. logind initiates systemctl poweroff — full shutdown

Evidence

journalctl from previous boot (shutdown sequence)

May 23 09:25:26 modestus-p16g systemd-logind[67797]: Power key pressed short.
May 23 09:25:26 modestus-p16g systemd-logind[67797]: Powering off...
May 23 09:25:26 modestus-p16g systemd-logind[67797]: System is powering down.
May 23 09:25:26 modestus-p16g systemd[1]: Starting Generate shutdown-ramfs...

logind.conf — no overrides present

$ grep -v '^#' /etc/systemd/logind.conf | grep -v '^$'
[Login]

$ ls /etc/systemd/logind.conf.d/
ls: cannot access '/etc/systemd/logind.conf.d/': No such file or directory

busctl verification (after fix)

$ busctl get-property org.freedesktop.login1 /org/freedesktop/login1 \
    org.freedesktop.login1.Manager HandlePowerKey
s "suspend"