Fwd: Plymouth falling back to text mode

Enrico Tagliavini enrico.tagliavini at gmail.com
Sun Jun 1 04:20:19 PDT 2014


Hi everybody,

sorry to send this message again, but was held due to the log attached
(about 100KB)

I'm the maintainer of the plymouth package for gentoo. I'm trying to
update to plymouth 0.9.0 and I found a strange issue, so I subscribed
to this list hoping I can get some help.

First of all this is a brief description of my system, if more
information is needed, feel free to ask

 - OS is gentoo, mostly from the stable branch
 - the initramfs is generated with dracut version 037 (gentoo package revison 2)
 - kernel is 3.14.4
 - video card: intel HD 4000 (IVB)
 - normal kernel command line: BOOT_IMAGE=/vmlinuz-3.14.4-gentoo
root=/dev/mapper/vg_schroedingers-lv_gentooroot ro ro rd.md=0
rd.lvm.lv=vg_schroedingers/lv_gentooroot rd.lvm.vg=vg_schroedingers
vconsole.keymap=uk locale.LANG=en_IE.UTF-8 quiet splash rd.info
resume=/dev/mapper/luks-swap init=/usr/lib/systemd/systemd
 - systemd dracut module is NOT enabled
 - udev is from systemd-208
 - init system used IS systemd

The problem in short is:

[/var/tmp/portage/sys-boot/plymouth-0.9.0/work/plymouth-0.9.0/src/libply-splash-core/ply-device-manager.c:713]
                       create_seats_from_udev:Creating non-graphical
seat, since there's no suitable graphics hardware

but the graphic card is correctly detected:

[/var/tmp/portage/sys-boot/plymouth-0.9.0/work/plymouth-0.9.0/src/libply-splash-core/ply-device-manager.c:705]
                       create_seats_from_udev:Looking for devices from
udev
[/var/tmp/portage/sys-boot/plymouth-0.9.0/work/plymouth-0.9.0/src/libply-splash-core/ply-device-manager.c:284]
                   create_seats_for_subsystem:creating seats for drm
devices
[/var/tmp/portage/sys-boot/plymouth-0.9.0/work/plymouth-0.9.0/src/libply-splash-core/ply-device-manager.c:303]
                   create_seats_for_subsystem:found device
/sys/devices/pci0000:00/0000:00:02.0/
drm/card0
[/var/tmp/portage/sys-boot/plymouth-0.9.0/work/plymouth-0.9.0/src/libply-splash-core/ply-device-manager.c:311]
                   create_seats_for_subsystem:device is initialized
[/var/tmp/portage/sys-boot/plymouth-0.9.0/work/plymouth-0.9.0/src/libply-splash-core/ply-device-manager.c:329]
                   create_seats_for_subsystem:device doesn't have a
seat tag

but misses a seat tag, so plymouth ingnores it (had a very quick
glance at the code, hope I understood it correctly)

I can't attach the full log, message with be held for approval (and
usually this means it will never be delivered). If you need it, let me
know and I'll host it.

Falling back to plymouth 0.8.8 works. During shutdown plymouth 0.9.0
works as expected showing the splash (udev / systemd probably added
the tag).

Once the system is booted the card has the correct seat tag:
root at schroedingerscat ~ # udevadm info
/sys/devices/pci0000:00/0000:00:02.0/drm/card0 | grep seat
E: TAGS=:seat:uaccess:

I checked the generated initramfs and the file
/lib/udev/rules.d/71-seat.rules is missing. Dracut includes this file
only if the systemd module is enabled, and indeed the problem is
solved if I enable the systemd module in the dracut config.

The problem is in gentoo systemd is not the default init system. It is
very well supported (and this is what I use for the record), but the
default is still openrc. Moreover it would be nice to use plymouth
even when not using systemd. As far as I understand plymouth doesn't
demand systemd, so this is probably just a bug, correct me if I'm
wrong.

But is this a plymouth bug or a dracut one? Dracut provides the
plymouth modules, but it calls the plymouth-populate-initrd script.
Both of them are not including the needed udev rule to properly mark
seats.

And, if I can digress for a moment, why not include the dracut
plymouth module in plymouth? That way it is granted they are in sync.

Looking forward to hear yours about this.

With kind regards
Enrico Tagliavini


More information about the plymouth mailing list