CR-2026-06-19: P16g i915 PSR Kernel Parameter Persistence

Change Summary

Field Value

CR ID

CR-2026-06-19-p16g-i915-psr-persistence

Author

Evan Rosado

Risk Level

Low (kernel parameter change, fully reversible)

Approval

Self-approval

Target Date

2026-06-19

Systems Affected

modestus-p16g (ThinkPad P16 Gen 2, Arrow Lake-S)

Rollback Window

Immediate — reboot with original parameters

Related Incidents

INC-2026-05-23-002 (P16g DPMS Wake Failure)

Description

What

Add i915.enable_psr=0 to both systemd-boot entries on the ESP (/boot/efi/loader/entries/) and create /etc/kernel/cmdline so the parameter persists across kernel updates.

Why

The P16g laptop display (eDP-1) fails to initialize at the login screen after boot, lid close, or suspend. The internal panel stays black until an external monitor is connected, which triggers a hotplug modeset that forces the display pipe alive. This is the same i915 Panel Self Refresh (PSR) hang documented in INC-2026-05-23-002.

The fix (i915.enable_psr=0) was applied to /boot/loader/entries/arch.conf on 2026-05-23, but this was the wrong file. The P16g has a split boot layout:

  • ESP at /boot/efi — systemd-boot reads entries from here

  • XBOOTLDR at /boot — where the kernel images live, but boot entries here are ignored

The parameter was applied to the XBOOTLDR copy, not the ESP copy. Every kernel update since then has generated fresh ESP entries without the parameter, silently re-introducing the regression.

Root Cause of Persistence Failure

Location Purpose Has i915.enable_psr=0?

/boot/loader/entries/arch.conf

XBOOTLDR — not read by systemd-boot for this layout

Yes (applied 2026-05-23, ineffective)

/boot/efi/loader/entries/arch.conf

ESP — actually booted

No

/etc/kernel/cmdline

Persistent source for kernel-install

Does not exist

Without /etc/kernel/cmdline, kernel-install has no persistent source for kernel parameters. Each kernel update regenerates ESP entries from scratch, stripping any hand-edited parameters.

Impact

  • Without fix: Login screen invisible on internal panel after every boot, lid close, or suspend. Requires external monitor to trigger display. Full machine appears dead to user.

  • With fix: PSR disabled. Negligible power impact on AC (~5-10 min reduced battery life). Display wakes reliably from all states.