I *believe* I found the problem. /usr/lib/systemd/system/plymouth-start.service: > [Unit] > Description=Show Plymouth Boot Screen > DefaultDependencies=no > Wants=systemd-ask-password-plymouth.path systemd-vconsole-setup.service > After=systemd-vconsole-setup.service systemd-udev-trigger.service systemd-udevd.service > Before=systemd-ask-password-plymouth.service > ConditionKernelCommandLine=!plymouth.enable=0 > > [Service] > ExecStart=/usr/sbin/plymouthd --mode=boot --pid-file=/run/plymouth/pid --attach-to-session > ExecStartPost=-/usr/bin/plymouth show-splash > Type=forking > KillMode=none > SendSIGKILL=no By replacing ExecStart and ExecStartPost with > ExecStart=/bin/sh -c "(/usr/sbin/plymouthd --mode=boot --pid-file=/run/plymouth/pid --attach-to-session &); sleep 5; /usr/bin/plymouth show-splash; sleep 3" it starts to work. My theory: "plymouth show-splash" is invoked too early, so it fails. This is ignored due to the "-" in the ExecStartPost line and all requests end up ignored. Now: 1. Why did it work before? (Before systemd v228. maybe?) 2. What's the best solution here? My idea is to make it a "Type=notify" service.