Smooth Plymouth transition with EGL build?
#1
Before I start, I realize this is a fairly unimportant problem. My HTPC is fully functioning and this is mostly for aesthetics for my wife and I.

Ideally, I want a polished boot into Kodi. In my search for a solution, I came across this blog post. --retain-splash was exactly what I was looking for, but I don't know where to put the -nr option to keep X from clearing the screen to black.

I have the EGL build installed on Ubuntu 15.04 server from this thread.

In the current boot, there's about 10 seconds of black, followed by 2 seconds of splash, and then another 6 seconds of black, the openbox "desktop," and finally Kodi opens. Now, there probably isn't much that can be done to start plymouth sooner, or hide the openbox desktop, but I'm hoping if I can keep X from clearing the splash screen, the whole thing will appear more polished. So, can this be done with this setup?

If there isn't a solution, I'll just disable the splash and keep a black screen until the "desktop" boots, but I thought I would ask.

Thanks.
Reply
#2
I've followed Fritsh excellent how-to with 14.04, and also have a stock Kodibuntu install, which is also based on 14.04.

I'm not sure why openbox is needed in the EGL how-to. In Kodibuntu I just run the RGB full script from Lightdm (or some other dm), and then it will be universal for both Kodi and X desktop.
If using a standalone install on 14.04, you could always edit the Kodi upstart file to include DISPLAY=:0 xrandr --output HDMI1 --set "Broadcast RGB" "Full".

Since 15.10 is using Systemd you'd need a systemd service instead, which I think can be found over at Archlinux.

It's strange you're getting a 10 seconds of black, though. My Chromebox with Kodibuntu goes straight into Splash. It boots so quickly that the --retain-splash and --nr isn't really needed.
Reply
#3
Quote:I'm not sure why openbox is needed in the EGL how-to.

I use it so that users can start a browser and other things which needs a window manager. Also it comes in handy for setting the full range. But as pointed out by soli, you can easily change the systemd file to directly start: /usr/bin/kodi --standalone instead of the openbox one.

Concerning your 10 seconds delay: journalctl -a and dmesg | pastebinit and also some systemd debug logging is needed. If you wait for network, that might be the issue.
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#4
Plymouth gets integrated into initrd so ideally it should be one of the first things starting. Even my Apple TV 1 pops up plymouth as the first thing and boots right into Kodi. On occasional cases getting an IP addr takes a bit longer than usual, then it will just say "waiting for network etc." on the splash screen itself.
Ther are a couple of things you want to google: vt.handoff=7, framebuffer=y, and or other things. Specifying video driver video=vesafb or efifb/simplefb if you're booting in EFI mode. I think it should be possible to get the splash early on in your case. And If I'm right, Intel hardware doesnt need to use uvesa and it's required userspace packages.
Reply
#5
Don't ever specify video=vesafb! This is bad for all intel, amd radeon, whatever cards ... only nvidia might need it (but not want it).
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#6
Thanks Fritsch.

OP: Maybe you could also specify only the needed modules to get integrated into initrd. That could also be the reason for the 10 second pause.
For the typical user that means, efifb/uvesa/simplefb (all or one of them, but they are typically built inside the kernel itself), scsi module (sd_mod i think), sata driver and filesystem module. Write "lsmod" on the command line for an overview. Check the kernel config file if you are unsure if the module is built as a module or into the krrnel itself.

Google Is your friend.
Reply
#7
10 seconds (!) pause has nothing to do with modules. This is a timeout. systemd has nice tools to visualize the startup, please use them. Hint: systemd-analyze blame
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#8
Wow, thanks fritsch and Soli. Since this has become about the initial ~10s of black, I'll give you all the hardware information as well. The box is the new Celeron Braswell NUC (NUC5CPYH) and is booting from a SanDisk Extreme 95MB/s SD card. The internal 2.5" HDD is just used for storage. That is likely contributing partly to the slow initialization. I don't mind that openbox is used, since that most likely is what allows me to switch to mythfrontend when I need to schedule recordings, etc. I just wish I didn't see it during the boot.

Quote:Concerning your 10 seconds delay: journalctl -a and dmesg | pastebinit and also some systemd debug logging is needed. If you wait for network, that might be the issue.

I imagine that you're probably correct. Here's the output of the things you suggested (sorry, an image seemed the easiest way):

Image

http://paste.ubuntu.com/12137504/

Is there anything else you need?
Reply
#9
I cannot see the image.
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#10
My apologies, try this:
https://www.dropbox.com/s/qc2z20wl41iiv0...t.png?dl=0
Reply
#11
What do you expect?

Your network needs 7 seconds to go up and your mysql another 3 seconds - that's 10 seconds in sum.
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#12
To be fair, I wasn't initially trying to fix the first period of black, I just wanted to know if there was a way to keep X from clearing the screen after the plymouth splash so that there wasn't a second black screen. At the moment, retain-splash can't do it's job because X clears it away.

I only provided the logs because you asked for them, but I appreciate that you took the time to look at them.
Reply
#13
Half the point is having the splash up while you're waiting of those processes to complete. If you are booting with "quiet splash" (as you need to do to have the splash display) and the splash isn't initiated before later, then you will stare at a black screen until the splash comes up. And if that is the case you should have been able to fix this already by googling one of the things I told you to google.
Furthermore the retain-splash option would only be useful if the console framebuffer is the same resolution as the on in Kodi, which means you' need to edit the grub payload to support 1080p (which I'm guessing is the resolution you use in Kodi)
Reply
#14
(2015-08-20, 16:54)fritsch Wrote: Don't ever specify video=vesafb! This is bad for all intel, amd radeon, whatever cards ... only nvidia might need it (but not want it).

I just dmesg my kodibuntu on chromebox, and yes vesafb is loaded with a 1080p payload. Plymouth works fine.

[ 0.888352] vesafb: mode is 1920x1080x32, linelength=7680, pages=0
[ 0.888353] vesafb: scrolling: redraw
[ 0.888356] vesafb: Truecolor: size=8:8:8:8, shift=24:16:8:0
[ 0.888383] vesafb: framebuffer at 0xd0000000, mapped to 0xffffc90000800000, using 8128k, total 8128k
[ 2.182169] fb: switching to inteldrmfb from VESA VGA
[ 2.219345] fbcon: inteldrmfb (fb0) is primary device
[ 2.300749] i915 0000:00:02.0: fb0: inteldrmfb frame buffer device
Reply

Logout Mark Read Team Forum Stats Members Help
Smooth Plymouth transition with EGL build?0