Boot animations start too late to be useful

Bug #1869655 reported by Daniel van Vugt
32
This bug affects 5 people
Affects Status Importance Assigned to Milestone
Plymouth
New
Unknown
grub2 (Ubuntu)
Invalid
Low
Unassigned
initramfs-tools (Ubuntu)
Fix Released
Low
Daniel van Vugt
plymouth (Ubuntu)
Triaged
Low
Unassigned

Bug Description

Boot animations start too late to be useful

Modern systems spend all their boot time (a couple of seconds) decompressing the kernel. During that time the user only sees the static BIOS logo (ACPI BGRT). Then when Plymouth can finally start animating, the startup process is already finished and there's virtually no time left to show any useful animations.

This could be fixed in:

  grub: By adding a splash under the BIOS logo to show some progress _before_ a Linux kernel is even started

and/or

  plymouth: By preferencing legacy framebuffer devices (like EFI) over DRM, if we find those are available a few seconds sooner. That would also fix bug 1868240 completely, and bug 1836858 mostly as the flicker moves to when the login screen starts.

Related branches

Revision history for this message
Daniel van Vugt (vanvugt) wrote :
Changed in grub2 (Ubuntu):
importance: Undecided → Wishlist
description: updated
description: updated
Revision history for this message
Dimitri John Ledkov (xnox) wrote :

Not committing to do this before focal GA

tags: added: rls-ff-notfixing
removed: champagne
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in grub2 (Ubuntu):
status: New → Confirmed
tags: added: groovy
Changed in grub2 (Ubuntu):
status: Confirmed → Triaged
summary: - Add an Ubuntu splash logo to supplement the BGRT logo
+ Add an Ubuntu splash logo to Grub to supplement the BGRT logo
summary: - Add an Ubuntu splash logo to Grub to supplement the BGRT logo
+ The plymouth splash starts too late to be useful on modern fast systems
description: updated
summary: - The plymouth splash starts too late to be useful on modern fast systems
+ The Plymouth splash starts too late to be useful on modern fast systems
Changed in grub2 (Ubuntu):
importance: Wishlist → Low
Changed in plymouth (Ubuntu):
importance: Undecided → Low
status: New → Triaged
description: updated
description: updated
summary: - The Plymouth splash starts too late to be useful on modern fast systems
+ Boot animations start too late to be useful
description: updated
tags: added: impish
removed: groovy
Changed in plymouth:
status: Unknown → New
tags: removed: impish
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

It seems the reason why SimpleDRM hasn't solved this in Noble is because Plymouth intentionally ignores it:

  "ignoring since we only handle SimpleDRM devices after timeout"

and waits for a better DRM driver, which takes another few seconds.

tags: added: noble
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

This will get the same initramfs-tools fix as bug 1970069. After that, the only way to make Plymouth start sooner will be to use kernel parameter 'plymouth.use-simpledrm', but we probably don't want that by default so as to avoid regressing on bug 2054769.

Changed in initramfs-tools (Ubuntu):
assignee: nobody → Daniel van Vugt (vanvugt)
importance: Undecided → Low
status: New → In Progress
Changed in grub2 (Ubuntu):
status: Triaged → Invalid
Changed in plymouth (Ubuntu):
status: Triaged → Won't Fix
Changed in plymouth (Ubuntu):
status: Won't Fix → In Progress
assignee: nobody → Daniel van Vugt (vanvugt)
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

The patch proposed in https://bugs.launchpad.net/ubuntu/+source/plymouth/+bug/1970069/comments/91 will help here, but since it might not be the last plymouth change required for this issue, it doesn't mention bug 1869655.

Benjamin Drung (bdrung)
Changed in initramfs-tools (Ubuntu):
status: In Progress → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package initramfs-tools - 0.142ubuntu23

---------------
initramfs-tools (0.142ubuntu23) noble; urgency=medium

  [ Daniel van Vugt ]
  * hooks/framebuffer: Only add simple/tiny framebuffer drivers. This is to
    limit the size of initrd when FRAMEBUFFER=y is soon enabled for desktop
    installations (LP: #1970069, #1869655).

  [ Benjamin Drung ]
  * autopkgtest: Increase QEMU timeouts on arm64/armhf
  * hooks/framebuffer:
    - Move adding framebuffer drivers into auto_add_modules
    - Drop looking in $MODULESDIR/initrd/ for kernel modules
    - Support MODULES=dep in framebuffer hook

initramfs-tools (0.142ubuntu22) noble; urgency=medium

  * autopkgtest: update systemd-udevd path from /lib to /usr/lib

initramfs-tools (0.142ubuntu21) noble; urgency=medium

  [ Benjamin Drung ]
  * configure_networking:
    - Increase minimum timeout to 30 seconds
    - Fix configuring BOOTIF when using iSCSI (LP: #2056187)
    - Set interface MTU if provided by the DHCP server (LP: #2056194)
    - log sleep durations before retries
  * Copy /etc/passwd into the initramfs to allow dhcpcd running as dhcpcd user
  * Replace obsolete pkg-config build-dependency by pkgconf

  [ Dan Bungert ]
  * Restore nvdimm and dax pmem-related modules (LP: #1981385)

 -- Benjamin Drung <email address hidden> Thu, 21 Mar 2024 10:57:54 +0100

Changed in initramfs-tools (Ubuntu):
status: Fix Committed → Fix Released
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

No longer in progress. You can get to 100% fixed by adding kernel parameter 'plymouth.use-simpledrm' but I'm not totally sure that's something everyone will want.

Changed in plymouth (Ubuntu):
status: In Progress → Triaged
assignee: Daniel van Vugt (vanvugt) → nobody
Revision history for this message
Mario Limonciello (superm1) wrote :

> No longer in progress. You can get to 100% fixed by adding kernel parameter 'plymouth.use-simpledrm' but I'm not totally sure that's something everyone will want.

The main reasons that can be problematic are rotation right? I wonder if the right way to go about it is a heuristic within plymouth to decide whether it can/should output. For example if there are no rotation sensors on the machine, or by looking at the orientation on them?

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

More than rotated framebuffers, defaulting to simpledrm means Plymouth doesn't know the physical monitor dimensions. So it uses heuristics and that leads to the logo scale not matching the login screen which would be a regression of bug 2054769. Actually it already happens on some slow booting machines occasionally. But that too can be worked around with:

  plymouth.force-scale={1,2}

And no, checking for rotation sensors is not a good idea because it would give the wrong result for laptop/tablet convertibles that don't have rotated framebuffers.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.