Plymouth fails to display graphical splash screens on some machines, shows text mode dots animation instead.

Bug #1838725 reported by Daniel van Vugt on 2019-08-02
56
This bug affects 6 people
Affects Status Importance Assigned to Milestone
Plymouth
Unknown
Unknown
plymouth (Ubuntu)
Medium
Daniel van Vugt

Bug Description

Plymouth often (sometimes) fails to display graphical splash screens on some machines, and shows text mode dots animation instead.

ProblemType: Bug
DistroRelease: Ubuntu 19.10
Package: plymouth 0.9.4git20190712-0ubuntu1
ProcVersionSignature: Ubuntu 5.2.0-8.9-generic 5.2.0
Uname: Linux 5.2.0-8-generic x86_64
ApportVersion: 2.20.11-0ubuntu7
Architecture: amd64
BootLog: Error: [Errno 13] Permission denied: '/var/log/boot.log'
Date: Fri Aug 2 11:59:20 2019
InstallationDate: Installed on 2019-07-09 (23 days ago)
InstallationMedia: Ubuntu 19.10 "Eoan Ermine" - Alpha amd64 (20190709)
MachineType: LENOVO 20KGS4XY00
ProcCmdLine: BOOT_IMAGE=/boot/vmlinuz-5.2.0-8-generic root=UUID=2a8c12a3-4d85-478a-8b6c-b31fe3dceae1 ro quiet splash psmouse.synaptics_intertouch=1 vt.handoff=7
ProcFB: 0 i915drmfb
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-5.2.0-8-generic root=UUID=2a8c12a3-4d85-478a-8b6c-b31fe3dceae1 ro quiet splash psmouse.synaptics_intertouch=1 vt.handoff=7
SourcePackage: plymouth
TextPlymouth: /usr/share/plymouth/themes/ubuntu-text/ubuntu-text.plymouth
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 11/08/2018
dmi.bios.vendor: LENOVO
dmi.bios.version: N23ET59W (1.34 )
dmi.board.asset.tag: Not Available
dmi.board.name: 20KGS4XY00
dmi.board.vendor: LENOVO
dmi.board.version: SDK0J40697 WIN
dmi.chassis.asset.tag: No Asset Information
dmi.chassis.type: 10
dmi.chassis.vendor: LENOVO
dmi.chassis.version: None
dmi.modalias: dmi:bvnLENOVO:bvrN23ET59W(1.34):bd11/08/2018:svnLENOVO:pn20KGS4XY00:pvrThinkPadX1Carbon6th:rvnLENOVO:rn20KGS4XY00:rvrSDK0J40697WIN:cvnLENOVO:ct10:cvrNone:
dmi.product.family: ThinkPad X1 Carbon 6th
dmi.product.name: 20KGS4XY00
dmi.product.sku: LENOVO_MT_20KG_BU_Think_FM_ThinkPad X1 Carbon 6th
dmi.product.version: ThinkPad X1 Carbon 6th
dmi.sys.vendor: LENOVO

Daniel van Vugt (vanvugt) wrote :
tags: added: flickerfreeboot
Daniel van Vugt (vanvugt) wrote :

It kind of looks like something is doing a VT switch during boot, changing to text mode, before the Plymouth animation starts. So the plymouth animation then uses the text theme.

It doesn't happen all the time though. Sometimes on a warm boot it works properly and I get a graphical animation.

summary: - Plymouth fails to display graphical splash screens on 2018 ThinkPads,
+ Plymouth fails to display graphical splash screens on some machines,
shows text mode dots animation instead.
shemgp (shemgp) wrote :

It does happen on my machine all the time. I mentioned it here: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1838443, which happens like this: https://youtu.be/1ystyzLhSaw

Launchpad Janitor (janitor) wrote :

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

Changed in plymouth (Ubuntu):
status: New → Confirmed
Adolfo Jayme (fitojb) on 2019-08-05
Changed in plymouth (Ubuntu):
importance: Undecided → Medium
Daniel van Vugt (vanvugt) wrote :

Thanks for the video in comment #3, but it's completely different to what I'm trying to describe here. Here I do see a plymouth animation, but the word Ubuntu and the dots are shown in the middle of the text console.

description: updated
shemgp (shemgp) wrote :

I think plymouth is trying to load the png without it being mounted yet? If you look at the debug log and search for loading lock image you will see that there's an error on the first load but there's another one where it's successful. The first is when booting, the second is when I press esc, so maybe at boot, /usr/share/plymouth/themes/spinner was still not mounted but on pressing esc it can find it already.

Thanks for looking into this.

tags: added: champagne focal
Steve Langasek (vorlon) wrote :

> I think plymouth is trying to load the png without it being mounted yet?

If loading from the rootfs, /usr is mounted before systemd executes.

If loading from the initrd, these bits should all be included in the initrd.

Daniel van Vugt (vanvugt) wrote :
Download full text (3.9 KiB)

I'm not sure comment #6 is the same bug. Here's what one of my affected ThinkPads does. Plymouth can't find working graphics (race condition with something??) and reverts to text mode:

00:00:07.541 ply-device-manager.c:917:create_devices_from_udev : Timeout elapsed, looking for devices from udev
00:00:07.541 ply-device-manager.c:331:create_devices_for_subsystem : creating objects for drm devices
00:00:07.542 ply-device-manager.c:351:create_devices_for_subsystem : found device /sys/devices/pci0000:00/0000:00:02.0/drm/card0
00:00:07.542 ply-device-manager.c:374:create_devices_for_subsystem : it's not initialized
00:00:07.542 ply-device-manager.c:351:create_devices_for_subsystem : found device /sys/devices/pci0000:00/0000:00:02.0/drm/card0/card0-DP-1
00:00:07.542 ply-device-manager.c:374:create_devices_for_subsystem : it's not initialized
00:00:07.542 ply-device-manager.c:351:create_devices_for_subsystem : found device /sys/devices/pci0000:00/0000:00:02.0/drm/card0/card0-DP-2
00:00:07.542 ply-device-manager.c:374:create_devices_for_subsystem : it's not initialized
00:00:07.542 ply-device-manager.c:351:create_devices_for_subsystem : found device /sys/devices/pci0000:00/0000:00:02.0/drm/card0/card0-HDMI-A-1
00:00:07.542 ply-device-manager.c:374:create_devices_for_subsystem : it's not initialized
00:00:07.542 ply-device-manager.c:351:create_devices_for_subsystem : found device /sys/devices/pci0000:00/0000:00:02.0/drm/card0/card0-HDMI-A-2
00:00:07.542 ply-device-manager.c:374:create_devices_for_subsystem : it's not initialized
00:00:07.542 ply-device-manager.c:351:create_devices_for_subsystem : found device /sys/devices/pci0000:00/0000:00:02.0/drm/card0/card0-eDP-1
00:00:07.542 ply-device-manager.c:374:create_devices_for_subsystem : it's not initialized
00:00:07.542 ply-device-manager.c:351:create_devices_for_subsystem : found device /sys/devices/pci0000:00/0000:00:02.0/drm/renderD128
00:00:07.542 ply-device-manager.c:374:create_devices_for_subsystem : it's not initialized
00:00:07.542 ply-device-manager.c:331:create_devices_for_subsystem : creating objects for frame buffer devices
00:00:07.542 ply-device-manager.c:351:create_devices_for_subsystem : found device /sys/devices/pci0000:00/0000:00:02.0/graphics/fb0
00:00:07.542 ply-device-manager.c:374:create_devices_for_subsystem : it's not initialized
00:00:07.542 ply-device-manager.c:351:create_devices_for_subsystem : found device /sys/devices/virtual/graphics/fbcon
00:00:07.542 ply-device-manager.c:374:create_devices_for_subsystem : it's not initialized
00:00:07.542 ply-device-manager.c:925:create_devices_from_udev : Creating non-graphical devices, since there's no suitable graphics hardware
00:00:07.542 ply-device-manager.c:786:create_devices_for_terminal_and_rende: creating devices for (renderer type: 4294967295) (terminal: /dev/tty1)
00:00:07.542 main.c:1001:on_keyboard_added : listening for keystrokes
00:00:07.542 main.c:1005:on_keyboard_added : list...

Read more...

Daniel van Vugt (vanvugt) wrote :

But if you repeat the process many times *sometimes* you will get a working graphical plymouth on startup, not often. But always graphical on shutdown.

Daniel van Vugt (vanvugt) wrote :

I guess there's probably some dependency we're missing? Plymouth would have to start after DRM devices are created and working. That doesn't seem to be guaranteed right now.

Daniel van Vugt (vanvugt) wrote :

Here's the patch that needs refreshing.

Changed in plymouth (Ubuntu):
assignee: nobody → Daniel van Vugt (vanvugt)
status: Confirmed → In Progress
Daniel van Vugt (vanvugt) wrote :

And here's a full debdiff to fix the bug.

Sebastien Bacher (seb128) wrote :

Thanks Daniel, the corresponding upstream commit is
https://gitlab.freedesktop.org/plymouth/plymouth/-/commit/75204a251

The description indeed matches what is described on this bug

'The amdgpu driver needs up to 5 seconds to initialize / boot some
AMD GPUs, which makes our 5 second timeout much too close to the actual
needed time, leading to systems where sometimes the boot is fine and the
next boot we fallback to a text based splash because we won the race from
the GPU probe code.

This commit bumps the default DeviceTimeout to 8 seconds giving us a
decent marging here without making it overly long.'

Changed in plymouth (Ubuntu):
status: In Progress → Fix Committed
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package plymouth - 0.9.4git20200323-0ubuntu6

---------------
plymouth (0.9.4git20200323-0ubuntu6) focal; urgency=medium

  * debian/patches/ubuntu-default-devicetimeout.patch: Increase the graphics
    probing timeout to 8 seconds to match upstream. This also fixes missing
    graphics when booting some ThinkPads. (LP: #1838725)

 -- Daniel van Vugt <email address hidden> Wed, 01 Apr 2020 17:49:08 +0800

Changed in plymouth (Ubuntu):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

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