Stuck at Plymouth splash when booting with two displays

Finally I found some time to do some experiments. So lets sum up the solutions worked in my case:

1. Solution - Remove Plymouth

Already described in detail at the top

2. Solution - Use Smooth transition

by creating a Drop-in file for the display-manager.service as described in the ArchWicki Plymouth.

sudo systemctl edit display-manager --drop-in=plymouth and add

[Unit]
Conflicts=plymouth-quit.service
After=plymouth-quit.service rc-local.service plymouth-start.service systemd-user-sessions.service
OnFailure=plymouth-quit.service

[Service]
ExecStartPre=-/usr/bin/plymouth deactivate
ExecStartPost=-/usr/bin/sleep 30
ExecStartPost=-/usr/bin/plymouth quit --retain-splash

at the opening editor. Exit, save, reboot, worked.

3. Solution - Slow down boot to show the full animation

for those how really love to see the animation in full beauty :wink: .
There are two possibility’s described at ArchWiki. Only the second with creating a new service instead of adding a delay to the plymouth-quit.service worked in my case.

  1. Create new service file by sudo touch /etc/systemd/system/plymouth-wait-for-animation.service
  2. Edit the file e.g. sudo nano /etc/systemd/system/plymouth-wait-for-animation.service and add
    [Unit]
    Description=Waits for Plymouth animation to finish
    Before=plymouth-quit.service display-manager.service
    
    [Service]
    Type=oneshot
    ExecStart=/usr/bin/sleep <duration_of_your_animation>
    
    [Install]
    WantedBy=plymouth-start.service
    
    I used 15 and 2 seconds to try.
  3. Enable service by sudo systemctl enable plymouth-wait-for-animation
3 Likes