meta-raspberrypi icon indicating copy to clipboard operation
meta-raspberrypi copied to clipboard

Revert "psplash: Make psplash wait for the framebuffer to be ready"

Open Renaud-Barrau opened this issue 7 months ago • 9 comments

Hi, Due to a confused commit history between poky (https://github.com/yoctoproject/poky) and meta-raspberrypi (https://github.com/agherzan/meta-raspberrypi) both on branch scarthgap, it seems that's there is still an issue between psplash and systemd, which is explained in this issue #1313 .

I propose in my fix to revert commit 98349bb367418866e008ba22ca75f4ab2984561a.

- What I did My project aim to build raspberry pi 3B+ Yocto image using Kas. I'm fetching Poky on branch scarthgap, as well as meta-raspberrypi on branch scarthgap When starting the rasp, the same error as #1313 shows up. As mentioned in this issue, it seems to be fixed in #1268, but I can't find any of it in scarthgap

I believe this way to fix the issue might not be the best one but it's the most simple and efficient I found, in my particular configuration detailled above.

I also want to apologize in advance for obvious mistakes I may have done, I 'm fairely new to the meta-raspberrypi and Yocto environnement :)

Renaud-Barrau avatar May 20 '25 14:05 Renaud-Barrau

Can you also backport https://github.com/agherzan/meta-raspberrypi/commit/e9e5efa750490cd0dac853eb65640d0cb337b03e to scarthgap with this same PR

kraj avatar Jul 17 '25 15:07 kraj

I believe the error in CI is due to the transition from ${WORKDIR} to ${UNPACKDIR} in 6e0bae7, which is supported from stylehead version, but not in scarthgap ? https://docs.yoctoproject.org/next/migration-guides/migration-5.1.html

Renaud-Barrau avatar Jul 31 '25 07:07 Renaud-Barrau

Can you rebase once again please ?

kraj avatar Aug 10 '25 16:08 kraj

@kraj This seems to fail on the cherry-picked udev rules commit.

agherzan avatar Aug 19 '25 11:08 agherzan

@Renaud-Barrau maybe its no more a simple revert+backport anymore can you rework it

kraj avatar Aug 19 '25 15:08 kraj

I have done some tests today and in my case, the revert alone works well on my rpi3. I can't find any differencies in the behaviour of the system with or without the udev rules commit e9e5efa. But since @kraj mention it, I believe this is important so I fixed the UNPACKDIR -> WORKDIR issue in it (which exists because of the scarthgap branch). Now the CI should run fine :smile:

Renaud-Barrau avatar Aug 22 '25 10:08 Renaud-Barrau

Done

Renaud-Barrau avatar Aug 22 '25 10:08 Renaud-Barrau

Hi @Renaud-Barrau i've been using your branch (that is supposed to contain the fixes?) but I still don't get a splash using core-image-weston as an image.

Moreover, I have a very weird behavior:

  • When I use agherzan/meta-raspberrypi scarthap or when I use your scarthgap branch with the updated psplash_%.bbappend
    • No splash is displayed at all
    • The psplash binary (/usr/bin/pslash) is NOT present on the filesystem
  • When I remove meta-raspberrypi's psplash_%.bbappend (rename it to psplash_%.bbappend.ignore)
    • Poky's default splash is correctly displayed
    • The psplash binary (/usr/bin/pslash) is present on the filesystem

So I added the following to your version of psplash_%.bbappend (your fixes are needed but are not enough, as I said, for some reason the psplash binary /usr/bin/pslash is not present on the filesystem):

do_install:append() {
    install -m 0755 ${B}/psplash ${D}${bindir}/psplash
}

And now I correctly have the splash being displayed at boot time.

I'm really not sure what is going on here.

azsde avatar Aug 26 '25 10:08 azsde

Hello @azsde, I have done some research about your issue.

First, I can say with certainty that your issue is not related to this PR's commits.

Indeed, as you said, /usr/bin/pslash is not installed in the target rootfs, but this is the "normal" behaviour of the main psplash recipe, as you can see in the psplash_git.bb of openembedded-core layer line 119 (https://github.com/openembedded/openembedded-core/blob/scarthgap/meta/recipes-core/psplash/psplash_git.bb)

	install -d ${D}${bindir}
	for i in ${SPLASH_INSTALL} ; do
		install -m 0755 $i ${D}${bindir}/$i
	done
	rm -f ${D}${bindir}/psplash

As far as I understand, this is done to "clean" the psplash binaries, as only the ones that are suffixed (/usr/bin/psplash-raspberrypi for example) are installed.

BUT, I found a user with a similar issue in the mail archive, saying that the transition between Kirkstone and Scarthgap broke the old outsuffix ! (I cannot understand why :sweat_smile: ) : https://www.mail-archive.com/[email protected]/msg193752.html

So one solution should be to set the outsuffix to "default" in your custom psplash_git.bbappend with the variable SPLASH_IMAGES, at the same time as you change the psplash image :

SPLASH_IMAGES = "file://my-custom-psplash-image.png;outsuffix=default"

Another solution could be to keep your

do_install:append() {
    install -m 0755 ${B}/psplash ${D}${bindir}/psplash
}

in your custom layer psplash_git.bbappend. (which is also the solution I use in my project btw)

Theses workaround should work well, but this means there might be another issue with outsuffix in scarthgap.

Maybe @agherzan and @kraj could enlighten us ? :smile:

Renaud-Barrau avatar Aug 27 '25 07:08 Renaud-Barrau