INC-2026-05-23-002: P16g Display Fails to Wake from DPMS After Kernel/NVIDIA Upgrade

Incident Summary

Field Value

Detected

2026-05-23 (display unresponsive after returning from extended idle; observed on 2 occasions since 2026-05-22 upgrade)

Mitigated

2026-05-23 (backlight-only approach applied — avoids DRM interaction entirely)

Resolved

2026-05-23 (backlight-only approach confirmed working — eDP-1 wakes on input)

Duration

Ongoing (intermittent)

Severity

P2 (High) — Display completely unresponsive after DPMS/monitor-disable timeout. No visual feedback on laptop panel. Combined with INC-2026-05-23-001 (power button = shutdown), this caused unintended full system poweroff and loss of all running applications.

Impact

After hypridle triggers display-off at 15 minutes of idle, eDP-1 (laptop panel) does not wake on mouse movement or keyboard input. Hyprland and hyprlock continue running — verified by connecting an external monitor, which showed the hyprlock login screen. The laptop panel specifically fails to re-enable.

Root Cause

i915 PSR (Panel Self Refresh) hangs on kernel 7.0.9 for Arrow Lake-S Intel Graphics. eDP-1 is driven by the Intel iGPU (card1, 0000:00:02.0), not the NVIDIA dGPU. PSR enters a state it cannot exit from, locking the display pipe. Journal shows Timed out waiting PSR idle state and pipe_off wait timed out with a kernel WARNING in intel_disable_transcoder. All display power management methods (DPMS, monitor disable, brightnessctl) fail because the underlying display pipe is stuck. Fix: i915.enable_psr=0 kernel parameter.

Environment

Property Value

Machine

modestus-p16g (ThinkPad P16 Gen 1)

OS

Arch Linux

Kernel (before)

6.19.14.arch1-1

Kernel (after)

7.0.9.arch1-1

Intel iGPU

Arrow Lake-S [Intel Graphics] (rev 06) — i915 driver (xe module also available)

NVIDIA dGPU

NVIDIA GeForce RTX 5090 Laptop GPU (nvidia-open 595.71.05)

Display path

eDP-1 on card1 (Intel iGPU) — NVIDIA GPU has no connected displays

Hyprland

v0.55.2

hypridle

0.1.7-9

hyprlock

0.9.5-4

Kernel parameters

nvidia_drm.modeset=1 mem_sleep_default=s2idle

Timeline

Time Event

2026-05-22 10:18

pacman -Syu upgrades 30 packages including linux 6.19.14 → 7.0.9, nvidia-open 595.58.03 → 595.71.05, mesa 26.0.5 → 26.1.1, libdrm 2.4.131 → 2.4.133, and hyprland 0.54.3 → 0.55.2.

2026-05-22

First occurrence: user returns from extended idle to black screen. Mouse/keyboard input does not wake display. Forced reboot required.

2026-05-23 ~09:10

Second occurrence: user walks away from P16g. hypridle dims screen at 5 min, locks at 10 min, DPMS off at 15 min.

2026-05-23 ~09:25

User returns to black screen. Mouse/keyboard produces no response. hyprlock interface not visible. Power button pressed (triggering INC-2026-05-23-001 shutdown).

2026-05-23

Initial investigation incorrectly attributes issue to NVIDIA DRM (Cannot find any crtc or sizes error). First workaround applied: replace hyprctl dispatch dpms off with hyprctl keyword monitor "eDP-1, disable".

2026-05-23

Third occurrence: monitor-disable approach also fails. eDP-1 stays black. User connects external monitor — hyprlock visible and functional on external display. This proves Hyprland is alive and the issue is specific to eDP-1 re-enablement.

2026-05-23

Corrected diagnosis: eDP-1 is on card1 (Intel iGPU, i915 driver), not the NVIDIA GPU. The NVIDIA CRTC error was a red herring. Journal shows i915 GuC firmware full reload on monitor re-enable, indicating DRM layer re-initialization failure.

2026-05-23

Workaround 2 applied: replace all DRM interaction with brightnessctl -s set 0 / brightnessctl -r. Screen stays "on" at Wayland level with backlight off.

2026-05-23

Workaround 2 also fails after ~30 minutes. External monitor again shows hyprlock while eDP-1 is black. Journal reveals true root cause: i915 ERROR Timed out waiting PSR idle state and pipe_off wait timed out with kernel WARNING in intel_disable_transcoder. PSR hangs the display pipe independently of any hypridle/DPMS/brightness mechanism.

2026-05-23

Fix applied: i915.enable_psr=0 added to kernel parameters in /boot/loader/entries/arch.conf. Disables Panel Self Refresh entirely, preventing the pipe hang. Reboot required.

Metadata

Field Value

Incident ID

INC-2026-05-23-002

Author

Evan Rosado

Created

2026-05-23

Last Updated

2026-05-23

Status

Resolved (pending reboot confirmation)

Trigger

pacman -Syu upgraded kernel 6.19.14 → 7.0.9 (i915 DRM regression for eDP-1 wake)

Fix Location

/boot/loader/entries/arch.confi915.enable_psr=0 kernel parameter

Post-Incident Review

Complete