Plymouth to GDM transition

Daniel Drake drake at endlessm.com
Tue Mar 4 05:22:58 PST 2014


On Tue, Mar 4, 2014 at 6:56 AM, Ray Strode <halfline at gmail.com> wrote:
> On Fri, Feb 28, 2014 at 8:57 AM, Daniel Drake <drake at endlessm.com> wrote:
>> On our Debian-based setup, during boot we're seeing that the plymouth
>> animation finishes, then console log messages are displayed, then X
>> launches and starts gdm. We'd like to have this transition smoother.
> It sounds like "plymouth quit" is getting called.  try putting:
>
> plymouth.debug=stream:/dev/kmsg
>
>  on the kernel command line, and then running
>
> journalctl -b -a -l
>
> after boot.  That should give you an idea if GDM is starting before or
> after plymouth quits.

Thanks. I investigated further and found that "plymouth show-splash"
is being called 3 times during boot:
First time from the initramfs.
Second time right after switching root, systemd starts
plymouth-start.service again. It very quickly moves into 'dead' state
because plymouthd exits noting that it is already running.
Third time, when systemd is bringing up networking it does a sanity
check of 'are all core services running OK?', notes that
plymouth-start.service is dead, and starts it again.

Is that normal? Or should there be some mechanism for preventing
plymouth-start.service from running on the real root when it was
already started in the initramfs?

Anyway, the 2nd and 3rd times were causing a new renderer to be
created without closing/freeing the old one (via "plymouth
show-splash"). At the end, when deactivate is called, the final fd in
the drm plugin does not have DRM master rights so fails to drop. That
was screwing things up.

You already fixed this in commit
a6129abfc527ac247685d80fc5c20144be1badca, but that's not currently
included in the Debian package.

The rest is now clear, thanks for the clarifications. And things are
working fine with that fix in place.

Daniel


More information about the plymouth mailing list