Scheduled Maintenance: We are aware of an issue with Google, AOL, and Yahoo services as email providers which are blocking new registrations. We are trying to fix the issue and we have several internal and external support tickets in process to resolve the issue. Please see: viewtopic.php?t=158230

 

 

 

[resolved]Trying to understand Plymouth slow to show splash

If none of the specific sub-forums seem right for your thread, ask here.
Post Reply
Message
Author
User avatar
ticojohn
Posts: 1284
Joined: 2009-08-29 18:10
Location: Costa Rica
Has thanked: 21 times
Been thanked: 44 times

[resolved]Trying to understand Plymouth slow to show splash

#1 Post by ticojohn »

I have two computers. One is an Intel NUC5i5RYH (5th gen i5) and the other is a desktop with Gigabyte h81m-h motherboard and a 4th gen i5. The NUC has a m.2 pciex4 SSD and the desktop has a SATA3 SSD. I use
lightdm
on both machines. The Plymouth splash screen displays almost immediately on the NUC but there is a 3 second delay on the desktop. Both machines boot pretty fast; the NUC about 3 seconds and the desktop about 4-5 seconds. I have done
lsmod
and
lsinitramfs
on both machines and they are virtually identical. I have executed the following script from a terminal.

Code: Select all

# plymouthd; plymouth --show-splash; for ((I=0; I<12; I++)); do plymouth --update=test$I; sleep 1; done; plymouth quit
The splash screen appears within 0.5 seconds on the NUC and takes 3 seconds on the desktop. The only other major difference between the machines is that I use HDMI on the NUC and VGA on the desktop.

I obviously don't know what much about Plymouth but would like to understand the disparity in load time, if possible. I have done a LOT of searching and can't find anything other than on machines that boot fast you might not see the splash screen. But why does my NUC, that boots faster than the desktop, show rhe splash screen for almost the entire boot sequence? Just doesn't make sense to me.

Any enlightenment, including directions to a good explanation, would be appreciated. And YES, I know I can disable the splash screen but then I don't have a quiet boot. Why is THAT?

And my opinion is that Plymouth is bloatware. :lol:

UPDATE: One other difference is that the NUC is connected to a 43" plasma TV and the desktop to a 4:3 LCD monitor.
Last edited by ticojohn on 2019-11-16 17:44, edited 1 time in total.
I am not irrational, I'm just quantum probabilistic.

User avatar
ticojohn
Posts: 1284
Joined: 2009-08-29 18:10
Location: Costa Rica
Has thanked: 21 times
Been thanked: 44 times

Re: Trying to understand Plymouth slow to show splash:UPDATE

#2 Post by ticojohn »

Here is a bit more info. On my desktop I added plymouth:debug at the grub screen grub and have the log file. Here is everything up to

Code: Select all

show_splash_screen:starting boot animation
As the reader can see there is a heck of a lot going on before starting the splash screen and there are some errors. I include the log up to the point where it starts the animation. Maybe there is a clue for the better initiated. In particular is a missing file, /run/plymouth/plymouthd.defaults, although that file is also missing on the NUC so probably not the issue.

Code: Select all

[main.c:1928]                                 check_logging:checking if console messages should be redirected and logged
[main.c:1937]                                 check_logging:logging will be enabled!
[main.c:2006]                        initialize_environment:source built on Apr  8 2019
[main.c:2016]                        initialize_environment:Making sure /run/plymouth exists
[ply-utils.c:718]                          ply_create_directory:directory '/run/plymouth' already exists
[main.c:2020]                        initialize_environment:initialized minimal work environment
[main.c:1784]                     attach_to_running_session:creating new terminal session
[ply-terminal-session.c:362]                   ply_terminal_session_attach:ptmx not passed in, creating one
[ply-terminal-session.c:236]                           open_pseudoterminal:opening device '/dev/ptmx'
[ply-terminal-session.c:242]                           open_pseudoterminal: opened device '/dev/ptmx'
[ply-terminal-session.c:244]                           open_pseudoterminal:creating pseudoterminal
[ply-terminal-session.c:252]                           open_pseudoterminal:done creating pseudoterminal
[ply-terminal-session.c:254]                           open_pseudoterminal:unlocking pseudoterminal
[ply-terminal-session.c:261]                           open_pseudoterminal:unlocked pseudoterminal
[ply-terminal-session.c:372]                   ply_terminal_session_attach:redirecting system console to terminal device
[ply-terminal-session.c:381]                   ply_terminal_session_attach:done redirecting system console to terminal device
[ply-terminal-session.c:511]            ply_terminal_session_start_logging:logging incoming console messages
[main.c:1660]                 tell_systemd_to_print_details:telling systemd to start printing details
[main.c:712]                       get_cache_file_for_mode:returning cache file '/var/lib/plymouth//boot-duration'
[main.c:295]                                 load_settings:Trying to load /etc/plymouth//plymouthd.conf
[ply-key-file.c:171]                       ply_key_file_load_group:trying to load group Daemon
[ply-key-file.c:259]                      ply_key_file_load_groups:key file has no more groups
[main.c:309]                                 load_settings:Checking if /run/plymouth/themes/spinfinity/spinfinity.plymouth exists
[main.c:312]                                 load_settings:/run/plymouth/themes/spinfinity/spinfinity.plymouth not found, fallbacking to /usr/share/plymouth/themes/
[main.c:325]                                 load_settings:Splash delay is set to 0.000000
[ply-key-file.c:352]                        ply_key_file_get_value:key file does not have entry for key 'DeviceTimeout'
[ply-key-file.c:352]                        ply_key_file_get_value:key file does not have entry for key 'DeviceScale'
[main.c:446]                    find_system_default_splash:System configured theme file is '/usr/share/plymouth/themes/spinfinity/spinfinity.plymouth'
[main.c:295]                                 load_settings:Trying to load /run/plymouth/plymouthd.defaults
[ply-key-file.c:83]                        ply_key_file_open_file:Failed to open key file /run/plymouth/plymouthd.defaults: No such file or directory
[main.c:456]              find_distribution_default_splash:failed to load /run/plymouth/plymouthd.defaults, trying /usr/share/plymouth//
[main.c:295]                                 load_settings:Trying to load /usr/share/plymouth//plymouthd.defaults
[ply-key-file.c:171]                       ply_key_file_load_group:trying to load group Daemon
[ply-key-file.c:259]                      ply_key_file_load_groups:key file has no more groups
[main.c:309]                                 load_settings:Checking if /run/plymouth/themes/futureprototype/futureprototype.plymouth exists
[main.c:312]                                 load_settings:/run/plymouth/themes/futureprototype/futureprototype.plymouth not found, fallbacking to /usr/share/plymouth/themes/
[main.c:337]                                 load_settings:Device timeout is set to 5.000000
[ply-key-file.c:352]                        ply_key_file_get_value:key file does not have entry for key 'DeviceScale'
[main.c:463]              find_distribution_default_splash:Distribution default theme file is '/usr/share/plymouth/themes/futureprototype/futureprototype.plymouth'
[main.c:873]           plymouth_should_show_default_splash:checking if plymouth should show default splash
[main.c:901]           plymouth_should_show_default_splash:using default splash because kernel command line has option "splash"
[ply-device-manager.c:785]                 create_devices_from_terminals:checking for consoles
[ply-device-manager.c:563]                        add_consoles_from_file:opening /sys/class/tty/console/active
[ply-device-manager.c:571]                        add_consoles_from_file:reading file
[ply-device-manager.c:609]                        add_consoles_from_file:console /dev/tty1 found!
[ply-device-manager.c:385]                         watch_for_udev_events:watching for udev graphics device add and remove events
[ply-device-manager.c:286]                  create_devices_for_subsystem:creating objects for drm devices
[ply-device-manager.c:303]                  create_devices_for_subsystem:found device /sys/devices/pci0000:00/0000:00:02.0/drm/card0
[ply-device-manager.c:310]                  create_devices_for_subsystem:device is initialized
[ply-device-manager.c:319]                  create_devices_for_subsystem:found node /dev/dri/card0
[ply-device-manager.c:233]                create_devices_for_udev_device:device subsystem is drm
[ply-device-manager.c:236]                create_devices_for_udev_device:found DRM device /dev/dri/card0
[ply-device-manager.c:698] create_devices_for_terminal_and_renderer_type:creating devices for /dev/dri/card0 (renderer type: 1) (terminal: /dev/tty1)
[ply-renderer.c:236]                      ply_renderer_open_plugin:trying to open renderer plugin /usr/lib/x86_64-linux-gnu/plymouth/renderers/drm.so
[./plugin.c:799]                                create_backend:creating renderer backend for device /dev/dri/card0
[./plugin.c:178]                     should_use_preferred_mode:should_use_preferred_mode: 0
[./plugin.c:892]                                   load_driver:Opening '/dev/dri/card0'
[ply-terminal.c:603]                             ply_terminal_open:trying to open terminal '/dev/tty1'
[ply-terminal.c:396]                 ply_terminal_refresh_geometry:looking up terminal text geometry
[ply-terminal.c:410]                 ply_terminal_refresh_geometry:terminal is now 160x64 text cells
[ply-terminal.c:447]                                 get_active_vt:Remembering that initial vt is 1
[./plugin.c:987]                   find_controller_for_encoder:Found already lit monitor
[./plugin.c:1086]                      get_index_of_active_mode:Looking for connector mode index of active mode 1280x1024
[./plugin.c:1050]                            find_index_of_mode:Found connector mode index 0 for mode 1280x1024
[./plugin.c:478]               ply_renderer_head_add_connector:Adding connector with id 52 to 1280x1024 head
[./plugin.c:541]                         ply_renderer_head_new:Creating 1280x1024 renderer head
[./plugin.c:257]                       ply_renderer_buffer_new:returning 1x1 buffer with stride 64
[ply-renderer.c:256]                      ply_renderer_open_plugin:opened renderer plugin /usr/lib/x86_64-linux-gnu/plymouth/renderers/drm.so
[main.c:993]                             on_keyboard_added:listening for keystrokes
[main.c:997]                             on_keyboard_added:listening for escape
[main.c:1001]                             on_keyboard_added:listening for backspace
[main.c:1005]                             on_keyboard_added:listening for enter
[ply-device-manager.c:635]            create_pixel_displays_for_renderer:Adding displays for 1 heads
[ply-terminal.c:396]                 ply_terminal_refresh_geometry:looking up terminal text geometry
[ply-terminal.c:410]                 ply_terminal_refresh_geometry:terminal is now 160x64 text cells
[ply-device-manager.c:671]             create_text_displays_for_terminal:adding text display for terminal /dev/tty1
[ply-device-manager.c:303]                  create_devices_for_subsystem:found device /sys/devices/pci0000:00/0000:00:02.0/drm/card0/card0-HDMI-A-1
[ply-device-manager.c:310]                  create_devices_for_subsystem:device is initialized
[ply-device-manager.c:303]                  create_devices_for_subsystem:found device /sys/devices/pci0000:00/0000:00:02.0/drm/card0/card0-VGA-1
[ply-device-manager.c:310]                  create_devices_for_subsystem:device is initialized
[ply-device-manager.c:303]                  create_devices_for_subsystem:found device /sys/devices/pci0000:00/0000:00:02.0/drm/renderD128
[ply-device-manager.c:310]                  create_devices_for_subsystem:device is initialized
[ply-device-manager.c:323]                  create_devices_for_subsystem:device doesn't have a devices tag
[main.c:2310]                                          main:entering event loop
[ply-boot-server.c:352]             print_connection_process_identity:connection is from pid 220 (/bin/plymouth --show-splash) with parent pid 215 (/bin/sh /scripts/init-premount/plymouth)
[ply-boot-server.c:449]                ply_boot_connection_on_request:got show splash request
[main.c:843]      plymouth_should_ignore_show_splash_calls:checking if plymouth should be running
[main.c:942]                                on_show_splash:at least one display already available, so loading splash
[main.c:873]           plymouth_should_show_default_splash:checking if plymouth should show default splash
[main.c:901]           plymouth_should_show_default_splash:using default splash because kernel command line has option "splash"
[main.c:472]                           show_default_splash:Showing splash screen
[main.c:480]                           show_default_splash:Trying system default splash
[main.c:1712]                                    load_theme:Loading boot splash theme '/usr/share/plymouth/themes/spinfinity/spinfinity.plymouth'
[ply-key-file.c:171]                       ply_key_file_load_group:trying to load group Plymouth Theme
[ply-key-file.c:171]                       ply_key_file_load_group:trying to load group throbgress
[ply-key-file.c:259]                      ply_key_file_load_groups:key file has no more groups
[ply-key-file.c:352]                        ply_key_file_get_value:key file does not have entry for key 'BackgroundStartColor'
[ply-key-file.c:352]                        ply_key_file_get_value:key file does not have entry for key 'BackgroundEndColor'
[main.c:1727]                                    load_theme:attaching plugin to event loop
[main.c:1730]                                    load_theme:attaching progress to plugin
[ply-boot-splash.c:138]             ply_boot_splash_add_pixel_display:adding 1280x1024 pixel display
[./plugin.c:621]                             add_pixel_display:adding pixel display to plugin
[ply-device-manager.c:950]         ply_device_manager_activate_renderers:activating renderers
[ply-boot-splash.c:481]                          ply_boot_splash_show:showing splash screen
[./plugin.c:676]                            show_splash_screen:loading logo image
[./plugin.c:680]                            show_splash_screen:loading lock image
[./plugin.c:684]                            show_splash_screen:loading box image
[./plugin.c:175]                                     view_load:loading entry
[./plugin.c:179]                                     view_load:loading throbber
[./plugin.c:697]                            show_splash_screen:starting boot animation
I am not irrational, I'm just quantum probabilistic.

User avatar
ticojohn
Posts: 1284
Joined: 2009-08-29 18:10
Location: Costa Rica
Has thanked: 21 times
Been thanked: 44 times

Re: Trying to understand Plymouth slow to show splash:UPDATE

#3 Post by ticojohn »

I am beginning to think that the only way to resolve my frustration with something that doesn't work the way I expect it to work is to remove it.
I am not irrational, I'm just quantum probabilistic.

User avatar
ticojohn
Posts: 1284
Joined: 2009-08-29 18:10
Location: Costa Rica
Has thanked: 21 times
Been thanked: 44 times

Re: Trying to understand Plymouth slow to show splash:UPDATE

#4 Post by ticojohn »

My conclusion on Plymouth is is that it bloatware and, FOR ME, provides no useful purpose. It uses system memory and CPU clock cycles and still doesn't display the splash screen in a useful manner. In my opinion, 0.5 seconds of splash during a 4 second boot is pretty much useless. So I did what I would do with any other package that I downloaded and didn't perform as expected. I removed it! I used extreme caution to very that no other package was dependent on Plymouth, and once I convinced that nothing else would be effected, I purged Plymouth. Boot time was reduced by almost one second.

One might ask why I didn't just remove splash from the grub command line. Without splash in grub, Plymouth is still running and I did not get a quiet boot. Maybe I am too fussy, but I want thing to be the way I want them. Not the way somebody else wants it.

I am NOT RECOMMENDING that anybody else do what I did. And if someone decides to do it, PLEASE USE CAUTION and be sure of what you are doing.

I am marking this [resolved] as I didn't really solve anything, just resolved it to my satisfaction.
I am not irrational, I'm just quantum probabilistic.

Post Reply