Librem 15v4 - KMS turns screen black on fresh kernels

Hi there!

Somewhere around Feb ‘26 I’ve broken my system (L15v4 + Arch) with a regular OS update: since some kernel version (I still didn’t bisect precisely, but the last definitely good version is 6.17.6), kernel mode setting turns screen completely black during early boot and then never brings the picture back. The system seems to work well per se (boots, allows logging in, available via network, etc.), just without any on-screen image.

The only interesting stuff in dmesg seems to be

i915 0000:00:02.0: [drm] *ERROR* CPU pipe A FIFO underrun

What does not work:

  • playing around with cstate-related tunables in cmdline (like in issue, etc.) does not provide any cure;
  • booting from a stick with fresh Archiso image results in the same problem (so the specific OS installation is not to blame here).

What does work:

  • disabling KMS completely via cmdline;
  • booting any live system with older kernel (including older Archiso);
    • hot-rebooting from such system into the main Arch installation also results in a good boot, which is WA I’m currently using to get into the system.

That said, the problem seems to be in the kernel, however, I believe that the issue could be very hardware- or firmware-specific, as I still cannot find any (new) similar reports, and newer kernels do not fix the issue.

Please let me know if anyone else has similar issues.

1 Like

What’s the latest kernel version that you have tried?
What’s the earliest kernel version that you have tried that does not work?

I’m wondering whether it will help when PureOS catches up to a non-working kernel version.

Finally found some time to bisect yesterday.

The last working kernel was 6.18.9.arch1-2 (final build of 6.18.x line); the first broken one was 6.19.5.arch1-1 (first Arch build of 6.19.x line). The version I’m currently running on is 7.0.14.arch1-1, it is still broken. The version of linux-firmware does not seem to matter at all.

There are no prebuilt kernels between these versions (6.19.1, etc.) in Arch Archive to find the exact problematic release, so I would probably continue digging later with self-built kernels, if I would not find anything suspicious in git history between these releases. I would also try building completely vanilla kernels just to make sure that the bug is in the mainline code (though Arch usually ships clean builds without significant additional changes).

Aha. Caught it.

  • v6.18.37 – last version in 6.18.x line; unaffected;
  • v6.19.1 – first version in 6.19.x line; buggy.

Reproduced the issue using self-built kernels from kernel.org’s stable repo – so the bug is in the mainline and potentially affects other distros migrating to newer kernels.

However, there seem to be too many changes in v6.19.1 to estimate quickly, what exactly could be a breaking one:

$ git log --oneline --no-merges v6.18.37..v6.19.1 drivers/gpu/drm/i915 | wc -l
389
2 Likes