Update: the upstream pull request 
(https://github.com/dracut-ng/dracut/pull/2799) has been closed after review. 
Hans de Goede (plymouth upstream maintainer and author of the flicker-free boot 
work) explained that the change in dracut was the wrong place for this:
https://github.com/dracut-ng/dracut/pull/2799#issuecomment-6560962360

Summary of his points:
- Without UseSimpledrm=1, plymouth ignores the simpledrm framebuffer and waits 
for the real KMS driver before drawing, exactly to avoid the transition from 
the firmware framebuffer to the real driver's one, which is the visible flicker.
- UseSimpledrm=1 disables that wait. Including the KMS driver in the initrd 
while keeping UseSimpledrm=1 only changes the timing of a race between plymouth 
and the driver.
- With UseSimpledrm unset, dracut's plymouth module pulls in the drm module, 
which includes the KMS drivers for the GPUs present.
- Benjamin Drung added in the same pull request that the simpledrm module is 
meant to include only simpledrm, and that the drm module should be used to 
avoid the flicker.

So the flicker on Intel machines is a direct consequence of Ubuntu
shipping UseSimpledrm=1 in /usr/share/plymouth/plymouthd.defaults,
together with dracut only pulling in simpledrm in that case.

As far as I can tell, dracut started pulling in only simpledrm because
of LP: #2105377, where plymouth gave up on graphics when simpledrm
disappeared as nvidia-drm loaded. That was also fixed on the plymouth
side under the same bug. Could the UseSimpledrm=1 default be
reconsidered now? If the concern is the initrd size with all GPU drivers
and their firmware in a generic initrd, a middle ground would be to drop
UseSimpledrm=1 and keep large out-of-tree drivers such as nvidia out of
the initrd, as already discussed in the split-out enhancement from LP:
#2105377.

On my machine (Intel Raptor Lake-P + NVIDIA), the boot is flicker-free
with i915 added to the initrd, as described in the bug description.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2172151

Title:
  Intel KMS driver (i915/xe) no longer in the initrd since LP: #2105377,
  causing visible flicker during boot

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/dracut/+bug/2172151/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to