Need help with slow boot on NESPi4 build
-
@raymonte did you try disabling wait for wifi on startup? I believe the setting is in raspi-config menu.
-
@quicksilver No, but I’ll give it a try later this evening and let you know. Thanks for the reply.
-
@quicksilver I don’t see anything specific to WiFi but I set “Select wait for network connection on boot” to “No” and the boot time clocked in at 1:09. That’s me timing it with the clock app on my phone so accounting for human error that really didn’t change anything. Thanks for the suggestion though.
-
@raymonte This is partly solved. I set “Parse Gameslists Only” to “On” and now my boot time is much improved. With a static image splash screen it boots in under 30 seconds and with my long video it’s around a minute. There is still a long pause with a black screen before the splash screen but maybe that can’t be helped.
There are two, new, minor issues though.
- Sometimes it doesn’t play my custom splash screen startup video.
- Sometimes I get this text about 20 seconds or so into the startup process:
I’ve been holding off on this post while experimenting with it and I don’t seem to be seeing those new issues anymore. The only thing that would make it perfect is if the splash screen startup video would start sooner but if this is how it has to be then it’s much better anyway.
-
@raymonte said in Need help with slow boot on NESPi4 build:
Sometimes it doesn’t play my custom splash screen startup video.
If the splashscreen is on your external drive, it might not be available (i.e. the disk is not mounted) when the splashscreen service starts. You can work around by modifying the
asplashscreen
service and make it depend ondev-sda1.device
, but if you have a static splashscreen it's better to keep the file on the sdcard (somewhere in/home/pi
) and configure the splashscreen to use it.See if solving this will solve 2.
-
@mitu said in Need help with slow boot on NESPi4 build:
dev-sda1.device
Thanks for your help on this.
It's interesting because now that you mention it, the splashscreen video played every time I rebooted and now that I think of it I don't think it played on a fresh startup. So it makes sense that it's because the external disk is not yet mounted and it was already mounted when I was rebooting.
I had asplashscreen.sh open in Notepad++ but I couldn't figure out how to edit it to depend on dev-sda1.device so I moved my video to /opt/retropie/supplementary/splashscreen . That's the directory where the stock Retropie splashscreens are stored and it resides on my sd card so it should solve the disk mounting issue. Only difference is, when choosing my video from the Retropie splashscreen menu I have to look in "RetroPie splashscreens" not "Own/Extra splashscreens".
I don't seem to be seeing the text message at startup now either.
Only thing now is it takes 20 seconds before the splashscreen video starts, but it's been doing that all along. Is there a way to make it launch earlier so it runs during all the startup scripts? That was why I made it so long in the first place.
-
@raymonte said in Need help with slow boot on NESPi4 build:
I had asplashscreen.sh open in Notepad++ but I couldn't figure out how to edit it to depend on dev-sda1.device...
That's not how it's done,
asplashscreen.sh
is the script run by the service, the service itself is configured with asystemd
unit file. You can edit the unit file withsudo systemctl edit asplashscreen.service
which opens up and editor. You can then add
After=local-fs.target
and save the file, instructing
systemd
to start the splashscreen service after all filesystems have been mounted.But the other method is easier and I'd recommend to use it.
Only thing now is it takes 20 seconds before the splashscreen video starts, but it's been doing that all along
Use
systemd-analyze critical-chain asplashscreen.service
to see which services are needed and starting before the splashscreen. The only hard dependency is onconsole-setup
, but it will wait fordbus
to start becauseomxplayer
needs it.
Looking at thecritical-chain
output you posted, I think the mounting of the disk is the biggest contender. -
@mitu Here's the output:
pi@retropie:~ $ systemd-analyze critical-chain asplashscreen.service
The time after the unit is active or started is printed after the "@" character.
The time the unit takes to start is printed after the "+" character.asplashscreen.service +16ms └─console-setup.service @4.397s +35ms └─local-fs.target @4.377s └─run-user-1000.mount @10.536s └─local-fs-pre.target @1.884s └─systemd-tmpfiles-setup-dev.service @1.805s +70ms └─systemd-sysusers.service @1.705s +84ms └─systemd-remount-fs.service @1.498s +200ms └─systemd-fsck-root.service @1.116s +374ms └─fake-hwclock.service @974ms +127ms └─systemd-journald.socket @938ms └─-.mount @919ms └─systemd-journald.socket @938ms └─...
Sorry, I don't know how to post like the cool kids :(
-
-
Looking at the dependency chain startup, mounting of the media is taking the most, delaying the
console-setup
start.
You can try to disable the auto-mounting of the external disc and manually add themount
command in/opt/retropie/configs/all/autostart.sh
, before ES starts. This way the splashscreen service will start sooner.
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.