I tried the plymouth-theme-spinner package to test the flicker free vendor logo boot process.
When shutting down the machine, everything works as expected. On my XPS 9380 system, the DELL shows and the white spinner spins until the machine shuts down.
At boot, the Dell logo is shown by the UEFI firmware then grub switches immediatly (without timeout) the linux kernel. Then Plymouth blanks the screen leaves an empty black screen until the graphical session starts.
Here is the relevant portion of the plymouth debug log:
---
00:00:03.245 ./plugin.c:934:create_plugin : Using '/usr/share/plymouth/themes/spinner' as working directory
...
00:00:03.246 main.c:1718:load_theme : attaching plugin to event loop
00:00:03.246 main.c:1721:load_theme : attaching progress to plugin
00:00:03.246 ply-boot-splash.c:138:ply_boot_splash_add_pixel_display : adding 1920x1080 pixel display
00:00:03.246 ./plugin.c:1480:add_pixel_display : adding pixel display to plugin
00:00:03.246 ply-device-manager.c:1029:ply_device_manager_activate_renderer: activating renderers
00:00:03.246 ply-boot-splash.c:486:ply_boot_splash_show : showing splash screen
00:00:03.246 ./plugin.c:1538:show_splash_screen : loading lock image
00:00:03.246 ply-boot-splash.c:492:ply_boot_splash_show : can't show splash: No such file or directory
00:00:03.246 ply-boot-splash.c:390:ply_boot_splash_free : freeing splash
00:00:03.246 main.c:489:show_default_splash : Could not start default splash screen,showing text splash screen
---
note that i uninstalled plymouth-text. If it is installed then the dummy plymouth text is shown instead of the spinner one.
My hypothesis is the following :
- the bgrt theme used contains in its theme file :
ImageDir=/usr/share/plymouth/themes/spinner
- the initramfs hook for plymouth only copies the theme directory (bgrt) not the one referenced in the theme file. I checked it using lsinitramfs on the newly generated initramfs image.
- At boot, when plymouth tries to find files under /usr/share/plymouth/themes/spinner, my real root is not mounted yet, plymouth cannot find the files an bails.
If I modify the bgrt theme as follows:
- change the line ImageDir to reference
ImageDir=/usr/share/plymouth/themes/bgrt
- copy all the image files from the spinner directory to the bgrt directory
- regenerates the initramfs
Then plymouth works as expected, I have the Dell logo and spinner at boot, or the resume message when exiting from hibernate [*].
I have a ZFS root partition on an nvme disk (might explain why my root partition is not up at that time ?).
[*] Small caveat, on my system it seems there is a mode change between grub and plymouth hence my boot is not "flicker free" but this seems like a driver related issue.
I tried the plymouth- theme-spinner package to test the flicker free vendor logo boot process.
When shutting down the machine, everything works as expected. On my XPS 9380 system, the DELL shows and the white spinner spins until the machine shuts down.
At boot, the Dell logo is shown by the UEFI firmware then grub switches immediatly (without timeout) the linux kernel. Then Plymouth blanks the screen leaves an empty black screen until the graphical session starts.
Here is the relevant portion of the plymouth debug log: c:934:create_ plugin : Using '/usr/share/ plymouth/ themes/ spinner' as working directory 1718:load_ theme : attaching plugin to event loop 1721:load_ theme : attaching progress to plugin splash. c:138:ply_ boot_splash_ add_pixel_ display : adding 1920x1080 pixel display c:1480: add_pixel_ display : adding pixel display to plugin manager. c:1029: ply_device_ manager_ activate_ renderer: activating renderers splash. c:486:ply_ boot_splash_ show : showing splash screen c:1538: show_splash_ screen : loading lock image splash. c:492:ply_ boot_splash_ show : can't show splash: No such file or directory splash. c:390:ply_ boot_splash_ free : freeing splash 489:show_ default_ splash : Could not start default splash screen,showing text splash screen
---
00:00:03.245 ./plugin.
...
00:00:03.246 main.c:
00:00:03.246 main.c:
00:00:03.246 ply-boot-
00:00:03.246 ./plugin.
00:00:03.246 ply-device-
00:00:03.246 ply-boot-
00:00:03.246 ./plugin.
00:00:03.246 ply-boot-
00:00:03.246 ply-boot-
00:00:03.246 main.c:
---
note that i uninstalled plymouth-text. If it is installed then the dummy plymouth text is shown instead of the spinner one.
My hypothesis is the following : /usr/share/ plymouth/ themes/ spinner plymouth/ themes/ spinner, my real root is not mounted yet, plymouth cannot find the files an bails.
- the bgrt theme used contains in its theme file :
ImageDir=
- the initramfs hook for plymouth only copies the theme directory (bgrt) not the one referenced in the theme file. I checked it using lsinitramfs on the newly generated initramfs image.
- At boot, when plymouth tries to find files under /usr/share/
If I modify the bgrt theme as follows: /usr/share/ plymouth/ themes/ bgrt
- change the line ImageDir to reference
ImageDir=
- copy all the image files from the spinner directory to the bgrt directory
- regenerates the initramfs
Then plymouth works as expected, I have the Dell logo and spinner at boot, or the resume message when exiting from hibernate [*].
I have a ZFS root partition on an nvme disk (might explain why my root partition is not up at that time ?).
[*] Small caveat, on my system it seems there is a mode change between grub and plymouth hence my boot is not "flicker free" but this seems like a driver related issue.
ProblemType: Bug theme-spinner 0.9.4git2019071 2-0ubuntu4. 1 ature: Ubuntu 5.3.0-25.27-generic 5.3.13 dules: zfs zunicode zavl icp zcommon znvpair plymouth/ themes/ bgrt/bgrt. plymouth /BOOT/ubuntu_ 5to4s3@ /vmlinuz- 5.3.0-25- generic root=ZFS= rpool/ROOT/ ubuntu_ 5to4s3 ro plymouth:debug resume= UUID=136e5fef- 7afe-4cb4- a996-e2d01f1977 38 quiet splash vt.handoff=1 /BOOT/ubuntu_ 5to4s3@ /vmlinuz- 5.3.0-25- generic root=ZFS= rpool/ROOT/ ubuntu_ 5to4s3 ro plymouth:debug resume= UUID=136e5fef- 7afe-4cb4- a996-e2d01f1977 38 quiet splash vt.handoff=1 :bvr1.8. 0:bd10/ 01/2019: svnDellInc. :pnXPS139380: pvr:rvnDellInc. :rn0KTW76: rvrA00: cvnDellInc. :ct10:cvr:
DistroRelease: Ubuntu 19.10
Package: plymouth-
ProcVersionSign
Uname: Linux 5.3.0-25-generic x86_64
NonfreeKernelMo
ApportVersion: 2.20.11-0ubuntu8.3
Architecture: amd64
BootLog: Error: [Errno 13] Permission denied: '/var/log/boot.log'
CurrentDesktop: ubuntu:GNOME
Date: Tue Dec 17 14:49:09 2019
DefaultPlymouth: /usr/share/
EcryptfsInUse: Yes
InstallationDate: Installed on 2019-10-19 (58 days ago)
InstallationMedia: Ubuntu 19.10 "Eoan Ermine" - Release amd64 (20191017)
MachineType: Dell Inc. XPS 13 9380
ProcCmdLine: BOOT_IMAGE=
ProcFB: 0 i915drmfb
ProcKernelCmdLine: BOOT_IMAGE=
SourcePackage: plymouth
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 10/01/2019
dmi.bios.vendor: Dell Inc.
dmi.bios.version: 1.8.0
dmi.board.name: 0KTW76
dmi.board.vendor: Dell Inc.
dmi.board.version: A00
dmi.chassis.type: 10
dmi.chassis.vendor: Dell Inc.
dmi.modalias: dmi:bvnDellInc.
dmi.product.family: XPS
dmi.product.name: XPS 13 9380
dmi.product.sku: 08AF
dmi.sys.vendor: Dell Inc.