Plymouth-0.9.0 issue with Arch Linux

Padfoot padfoot at exemail.com.au
Thu May 22 03:25:21 PDT 2014


Hi All,

I maintain the Plymouth package for Arch Linux (AUR only) and am having 
problems getting 0.9.0 to work with Arch. 0.8.8 worked perfectly, but 
with 0.9.0, upon boot, Plymouth is falling back to a text splash only. 
This is happening with intel and nouveau drivers (KMS - drm renderer) 
and efi-framebuffer (frame-buffer renderer).

Enabling debugging is not giving me much information (debug log 
attached) as it get as far as opening the frame-buffer renderer and then 
ends there, although I do get quite a lot of debug messages scrolling 
past during boot (much more than is being logged).

Compiling works without a problem, and installing to the initrd is also 
working as expected (inspecting the initrd, all files are present and in 
the correct locations).

Some build info for you:

     LDFLAGS="$LDFLAGS -ludev" ./configure --prefix=/usr \
         --exec-prefix=/usr \
         --sysconfdir=/etc \
         --localstatedir=/var \
         --libdir=/usr/lib \
         --libexecdir=/usr/lib \
         --sbindir=/usr/bin \
         --enable-systemd-integration \
         --enable-drm \
         --enable-tracing \
         --enable-pango \
         --with-release-file=/etc/os-release \
         --with-logo=/usr/share/plymouth/arch-logo.png \
         --with-background-color=0x000000 \
         --with-background-start-color-stop=0x000000 \
         --with-background-end-color-stop=0x4D4D4D \
         --without-rhgb-compat-link \
         --without-system-root-install

pango 1.36.3-2
libdrm 2.4.54-1
systemd 212-3
linux 3.14.4

The only patches applied are to a couple of helper scripts. One of which 
adds the Arch specific initrd generation code (patches attached).

In-case they  may help, I have also attached the kernel hook and install 
scripts.

I have just done a reboot to try and see some more of the debug 
messages, and while the attached log states it has opened the 
frame-buffer renderer, I see the following on screen:

found device /sys/devices/platform/efi-framebuffer.0/graphics/fb0
device is initialised
device doesn't have a seat tag
found device /sys/devices/virtual/graphics/fbcon
it's not initialised
Creating non-graphical seat, since there's no suitable graphics hardware

All help greatly appreciated as I do not want to update the Arch package 
from 0.8.8 to 0.9.0 if I cannot get it working.

Thanks in advance.
Lachlan.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: plymouth-debug.log
Type: text/x-log
Size: 9713 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/plymouth/attachments/20140522/6588d93f/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: plymouth-set-default-theme.in.patch
Type: text/x-patch
Size: 782 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/plymouth/attachments/20140522/6588d93f/attachment-0001.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: plymouth-update-initrd.patch
Type: text/x-patch
Size: 448 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/plymouth/attachments/20140522/6588d93f/attachment-0002.bin>
-------------- next part --------------
run_hook() {
        msg -n ":: Loading plymouth..."

        /bin/mknod /dev/fb c 29 0 &>/dev/null
        #/bin/mount devpts /dev/pts -t devpts

        # plymouth deamon
        #/bin/mkdir -p /run/plymouth
        /usr/bin/plymouthd --mode=boot --pid-file=/run/plymouth.pid

        # plymouth frontend
        /usr/bin/plymouth --show-splash
        msg "done."
}

# vim: set ft=sh:

-------------- next part --------------
build() {
	add_dir /dev/pts
	add_dir /usr/share/plymouth/themes

	DATADIR="/usr/share"
	PLYMOUTH_LOGO_FILE="${DATADIR}/plymouth/arch-logo.png"
	PLYMOUTH_THEME_NAME="$(/usr/bin/plymouth-set-default-theme)"
	PLYMOUTH_MODULE_NAME="$(grep "ModuleName *= *" ${DATADIR}/plymouth/themes/${PLYMOUTH_THEME_NAME}/${PLYMOUTH_THEME_NAME}.plymouth | sed 's/ModuleName *= *//')"
	PLYMOUTH_PLUGIN_PATH="$(plymouth --get-splash-plugin-path)"

	add_binary /usr/bin/plymouthd
	add_binary /usr/bin/plymouth

	add_file ${DATADIR}/plymouth/themes/text/text.plymouth
	add_binary ${PLYMOUTH_PLUGIN_PATH}/text.so
	add_file ${DATADIR}/plymouth/themes/details/details.plymouth
	add_binary ${PLYMOUTH_PLUGIN_PATH}/details.so

	add_file "${PLYMOUTH_LOGO_FILE}"
	add_file /etc/os-release
	add_file /etc/plymouth/plymouthd.conf
    add_file ${DATADIR}/plymouth/plymouthd.defaults

	if [ ! -f ${PLYMOUTH_PLUGIN_PATH}/${PLYMOUTH_MODULE_NAME}.so ]; then
	    echo "The default plymouth plugin (${PLYMOUTH_MODULE_NAME}) doesn't exist" > /dev/stderr
	    exit 1
	fi

	add_binary ${PLYMOUTH_PLUGIN_PATH}/${PLYMOUTH_MODULE_NAME}.so

	add_binary ${PLYMOUTH_PLUGIN_PATH}/renderers/drm.so
	#add_binary ${PLYMOUTH_PLUGIN_PATH}/renderers/x11.so
	add_binary ${PLYMOUTH_PLUGIN_PATH}/renderers/frame-buffer.so

	if [ -d ${DATADIR}/plymouth/themes/${PLYMOUTH_THEME_NAME} ]; then
	    for x in ${DATADIR}/plymouth/themes/${PLYMOUTH_THEME_NAME}/* ; do
		[ ! -f "$x" ] && break
		add_file $x
	    done
	fi

	# suppress a warning in glib (which the label control uses)
	# about uid 0 by building a dummy NSS stack (LP #649917)
	add_file /etc/passwd
	add_file /etc/nsswitch.conf
	add_binary "$(readlink -e /lib/libnss_files.so.2)"
	add_file /lib/libnss_files.so.2

	add_runscript
}

help() {
	echo "This hook includes plymouth in the initramfs image."
}

# vim: set ft=sh:
#EOF



More information about the plymouth mailing list