Boot animation and login screen use different display scales

Bug #2054769 reported by Daniel van Vugt
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Plymouth
New
Unknown
mutter (Ubuntu)
Won't Fix
Low
Daniel van Vugt
plymouth (Ubuntu)
Fix Released
Low
Daniel van Vugt

Bug Description

Boot animation and login screen use different display scales, on some (not many) machines.

For example on a Microsoft Surface Laptop 4, Plymouth seems to use scale 2 for the boot screen while GNOME selects scale 1 for the login screen. This means the Ubuntu logo shrinks.

I've tried a few laptops and so far it's only the Surface Laptop 4 that has the problem: 13.5" 2256x1504, 201 PPI

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

See also bug 1872594.

Changed in mutter (Ubuntu):
importance: Undecided → Low
status: New → Triaged
Changed in plymouth (Ubuntu):
status: New → Triaged
Changed in plymouth (Ubuntu):
assignee: nobody → Daniel van Vugt (vanvugt)
Changed in mutter (Ubuntu):
assignee: nobody → Daniel van Vugt (vanvugt)
Revision history for this message
Daniel van Vugt (vanvugt) wrote (last edit ):

It looks like plymouth's threshold for scale 200% is 192 DPI. And mutter's threshold is 135 DPI. Since my laptop with the bug is 201 DPI (or 198.6 according to the code) then it should be scale 200% for both mutter and plymouth. But a fudge factor was introduced in mutter 44.0 (https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2880) which means it doesn't actually honour 135 as the target DPI despite the source code saying it does.

Changed in plymouth (Ubuntu):
status: Triaged → Invalid
status: Invalid → Opinion
Changed in mutter (Ubuntu):
status: Triaged → In Progress
Changed in plymouth (Ubuntu):
status: Opinion → In Progress
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Turns out we don't need to change mutter at all. I just failed to understand its complicated scale selection rules. I've proposed a simplification to mutter anyway:

https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/3616

but it's no longer required to fix this bug.

Changed in mutter (Ubuntu):
status: In Progress → Won't Fix
Revision history for this message
Daniel van Vugt (vanvugt) wrote :
Changed in plymouth (Ubuntu):
status: In Progress → Fix Committed
tags: added: fixed-upstream
Changed in plymouth:
status: Unknown → New
Changed in plymouth (Ubuntu):
status: Fix Committed → In Progress
tags: added: mantic
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Here's the fix for Noble.

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

It looks like this will need fixing again in future :(

While working on bug 1970069 I've found simpledrm causes Plymouth to choose a different default scale again.

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

I was wrong. You only get the wrong scale in Plymouth if you blacklist your native DRM driver as I had for testing. Otherwise Plymouth will wait for a preferred driver instead of using SimpleDRM immediately.

So bug 2054769 is still fixed by the patch in comment #5.

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

And now there's a new cause of this bug. If I simplify the framebuffer drivers installed in initrd then it causes i915 to take 10 seconds to start, whereas Plymouth stopped waiting for it at the 8 second mark and so fell back to using SimpleDRM.

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

Let's ignore comment #9 because it only affects my desktop with a 27" 4K monitor. The original laptop this bug was about still works with the latest proposed fix (which will be rolled into bug 1970069).

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package plymouth - 24.004.60-1ubuntu6

---------------
plymouth (24.004.60-1ubuntu6) noble; urgency=medium

  * Cherry-pick upstream fixes for consistent default scale selection
    that matches what Mutter chooses on the login screen (LP: #2054769)
  * plymouth.hook: Stop automatically re-installing DRM kernel modules in
    initrd. initramfs-tools already does this for us in hooks/framebuffer and
    should be the authority for which drivers to include.
  * Install a /usr/share/initramfs-tools/conf-hooks.d/plymouth with
    FRAMEBUFFER=y to make it clear to initramfs-tools that we always want
    framebuffer support when Plymouth is installed. (LP: #1970069)

 -- Daniel van Vugt <email address hidden> Thu, 21 Mar 2024 14:46:56 +0100

Changed in plymouth (Ubuntu):
status: In Progress → Fix Released
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.