INC-2026-06-25-002: Investigation
Investigation
The system froze hard — no tty, no SSH, no network — so there is no live state to capture. All evidence must come from the previous boot’s journal and the current boot’s kernel state for comparison.
Step 1: Verify i915.enable_psr=0 is active
Confirm the PSR fix from INC-2026-05-23-002 is in effect, ruling out PSR as a contributing factor.
cat /proc/cmdline
Expected: i915.enable_psr=0 present in the output.
Step 2: Check previous boot for GPU/DRM errors
The crashed boot’s journal is the primary evidence source. Filter for GPU subsystem errors.
journalctl -b -1 --no-pager | grep -iE 'nvidia|i915|drm|gpu|hang|fault|error' | tail -50
Step 3: All errors from crashed boot
Broader view — any kernel or service errors that preceded or accompanied the freeze.
journalctl -b -1 -p err --no-pager | tail -30
Step 4: Hot-unplug events in crashed boot
Search specifically for monitor disconnect handling in the DRM subsystem.
journalctl -b -1 --no-pager | grep -iE 'hotplug|unplug|disconnect|connector' | tail -20
Step 5: Check for WAYLAND-1 phantom monitor
The WAYLAND-1 phantom output is an unresolved issue on this machine. If it was active at the time of disconnect, it may have contributed to the DRM reconfiguration failure.
hyprctl monitors -j | jq '.[].name'
If WAYLAND-1 appears, it confirms the phantom output is still respawning. Cross-reference with the hot-unplug investigation.
Step 6: Current boot GPU state (baseline comparison)
Capture current boot DRM messages for comparison against the crashed boot.
dmesg | grep -iE 'nvidia|i915|drm|gpu' | tail -30
Step 7: DRM atomic commit state
If the freeze is a DRM atomic commit deadlock, the kernel may have logged a hung task or RCU stall before the system became unresponsive.
journalctl -b -1 --no-pager | grep -iE 'hung_task|rcu.*stall|soft.*lockup|hard.*lockup|watchdog' | tail -20
Step 8: NVIDIA DRM modeset events
Check whether nvidia-open attempted a modeset during the hot-unplug that conflicted with i915.
journalctl -b -1 --no-pager | grep -iE 'nvidia.*modeset|nvidia.*atomic|nvidia.*commit' | tail -20
Hypotheses
| # | Hypothesis | Status |
|---|---|---|
1 |
DRM atomic commit deadlock — i915 and nvidia-open both respond to the hot-unplug event, and a lock contention in the DRM subsystem causes a kernel deadlock. Both GPUs have |
Untested |
2 |
WAYLAND-1 phantom output — the headless output triggers an additional DRM reconfiguration during hot-unplug, exceeding what the driver can handle atomically. |
Untested |
3 |
NVIDIA DRM fault on hot-unplug — nvidia-open attempts to reconfigure outputs it does not own (DP-5, DP-6 on card0), triggering a fault that propagates to i915 via shared DRM infrastructure. |
Untested |
4 |
i915 display pipe hang (non-PSR) — a different i915 code path from the PSR fix triggers a pipe hang during monitor removal, locking the display subsystem and cascading to a full system freeze via kernel panic or hung task. |
Untested |
Potential Mitigations to Investigate
-
monitor = WAYLAND-1, disableinhyprland.conf— prevents phantom output from participating in DRM reconfiguration -
nvidia_drm.modeset=0— removes NVIDIA from DRM atomic commits (may break PRIME offload) -
Test with
nomodesetfor NVIDIA and i915-only modeset -
Check if
drm.edid_firmwareordrm_kms_helper.poll=0prevents hot-unplug detection entirely -
Reproduce with
dmesg -wandjournalctl -frunning on an SSH session while disconnecting the monitor