psplash: Make psplash wait for the framebuffer to be ready

Especially with systemd its seen that psplash-start service starts
before /dev/fb0 is created by kernel which results in

[FAILED] Failed to start Start psplash boot splash screen.

this is quite frequent race now with kernel 6.1

Add device dependency on sys-devices-platform-gpu-graphics-fb0.device
via a unit file drop-in

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
This commit is contained in:
Khem Raj 2023-03-23 14:52:10 -07:00 committed by Andrei Gherzan
parent c40c6e21ed
commit 8bad47eba3
2 changed files with 14 additions and 0 deletions

View File

@ -0,0 +1,4 @@
[Unit]
Requires=sys-devices-platform-gpu-graphics-fb0.device
After=sys-devices-platform-gpu-graphics-fb0.device

View File

@ -1,2 +1,12 @@
FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
SPLASH_IMAGES:rpi = "file://psplash-raspberrypi-img.h;outsuffix=raspberrypi"
SRC_URI:append:rpi = " file://framebuf.conf"
do_install:append:rpi() {
if [ "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" ]; then
install -Dm 0644 ${WORKDIR}/framebuf.conf ${D}${systemd_system_unitdir}/psplash-start.service.d/framebuf.conf
fi
}
FILES:${PN}:append:rpi = " ${systemd_system_unitdir}/psplash-start.service.d"