Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Plymouth shows black screen instead boot splash in some non supported devices #2

Open
berbascum opened this issue Oct 22, 2022 · 7 comments

Comments

@berbascum
Copy link

Some devices had stopped showing boot splash while booting since plymouth was intruduced in last bullseye snapshot, and the problem persists until current bookworm nightly.

I'm testing in lavender. I have compared the initrd pylmouth files from fxtec pro1 initram and the one i'm using for lavender (generated by kernel build process using releng droidian method) and seems to be fine.

There is any verification that can i do?

Best Regards.

@g7
Copy link
Member

g7 commented Oct 23, 2022

Hello,

plymouth is the software responsible to show the boot splash, so if it stopped working it must be some other thing.

Does the boot splash work during offline updates? An offline update is the one triggered via the built-in Software app, where it asks you to reboot to install the updates. If the boot splash shows there, plymouth is working.

@berbascum
Copy link
Author

Hello,

Thanks for quick response in weekend!

I have tried a software update from GUI. When device restarts to install updates also black screen is showed.

I guess the problem i'sn it stop working at some time point, it seems plymouth never worked in my non officially supportd device (lavender) The problem about not showing the boot splash was started just when plymouth package was added for first time in Droidian. This is my conclusion after some tests. I have defined this issue reproduction:

  • In Droidian Snapshot 22 the package plymouth is not instaled yet and the boot splash is showed during all boot process.
  • Only installing plymouth on Droidian Snapshot 22, after rebooting device, a black screen is showed instead the boot splash.

Worth mentioning that boot splash is showed for 2 first seconds of the boot process, and then the blank screen is showed.
May be plymouth is working in the erarly stage from initrd and then fails when rootfs.img is mounted and the root target is changed to it?

Another observation is that i need to add some additional udev rules to the rootfs.img to get desktop image after boot.
May be this rules need to be added on initrd image too?

I'm using a recent initrd image generated by releng kernel build process.

If there are some tests that can be done i will be pleased to do it!

Thanks in advance.

@g7
Copy link
Member

g7 commented Oct 29, 2022

Hello,

Worth mentioning that boot splash is showed for 2 first seconds of the boot process, and then the blank screen is showed.
May be plymouth is working in the erarly stage from initrd and then fails when rootfs.img is mounted and the root target is changed to it?

Could be. Plymouth is indeed embedded in the initramfs as well, so if you're running a recently-generated boot.img and snapshot 22 (which didn't have the bootsplash at all, since our version of plymouth wasn't shipped yet) then the bootsplash would be shown anyways.

The current flow is this:

On devices running the Droidian initramfs:

  1. Initramfs init script starts
  2. Plymouth starts (as it's embedded)
  3. If there is encryption configured, plymouth quits (to show the unlocker)
  4. Regardless if encryption is configured, if there is a system update schedule, plymouth quits
  5. Once control switches to the actual installed system, systemd will restart plymouth if needed

On devices not running the Droidian initramfs:

  1. Initramfs init script starts
  2. Once control switches to the actual installed system, systemd starts plymouth

Worth mentioning that boot splash is showed for 2 first seconds of the boot process, and then the blank screen is showed.

On normal boots (i.e Droidian initramfs, no encryption, no system updates) it should last for a couple of seconds more. But indeed having a blank screen between the boot splash and the actual shell is normal, currently.

Another observation is that i need to add some additional udev rules to the rootfs.img to get desktop image after boot.
May be this rules need to be added on initrd image too?

No, but they should go to an adaptation package.

@berbascum
Copy link
Author

Hello,

Ok, really thanks for the detailed description.

So if i am getting a black screen while system updates are installed during boot process, i can undertand that is not a plymouth issue? It may also avoid the unlocker to be showed on screen?

Thanks again!

@g7
Copy link
Member

g7 commented Dec 10, 2022

Hello, apologies for replying this late. Yes, it's indirectly a plymouth issue (meaning that it probably is an issue of the minui backend we use, but indeed the system update progress is drawn by plymouth).

Perhaps these steps can help in debugging: droidian/porting-guide#9 (reply in thread)

@berbascum
Copy link
Author

Hello Eugenio,

Thanks you! Don't worry. Your answer is wellcome. I will try your debug proposal in the porting guide issue that you have linked.

Thanks for your time and help!

@arpio23
Copy link

arpio23 commented Dec 13, 2022

Maybe this will help: droidian/porting-guide#9 (reply in thread)
On my device plymouth is working now

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants