下記の記事でラズベリーパイ4にRetroPie4.5.1をインストールしましたが、
ラズベリーパイ4には正式対応していない為、起動時にSplashscreenが表示されません。
英語サイトから情報を集めた所、「insserv」が必要なパッケージの1つがRaspberryPi44で使用できなくなった為だそうです。
詳細は良くわかりませんが、サービスの問題なのでしょうかね。
RetroPie起動時のSplashScreenは、かなり好きなので、どうしても導入したく、
英語サイトで情報収集し、
下記の方法でSplashscreenが使えるようになりました。
sudo apt-get install fbi omxplayer -y sudo nano /etc/systemd/system/asplashscreen.service
上記nanoコマンドからの編集モードになるので下記内容を記入。
[Unit] Description=Show custom splashscreen DefaultDependencies=no Before=local-fs-pre.target Wants=local-fs-pre.target ConditionPathExists=/opt/retropie/supplementary/splashscreen/asplashscreen.sh [Service] Type=oneshot ExecStart=/opt/retropie/supplementary/splashscreen/asplashscreen.sh RemainAfterExit=yes [Install] WantedBy=sysinit.target
保存し(ctrl+O)nano編集モードから抜け(ctrl+X)、下記コマンド実行。
sudo mkdir /opt/retropie/supplementary/splashscreen sudo nano /opt/retropie/supplementary/splashscreen/asplashscreen.sh
上記nanoコマンドからの編集モードになるので下記内容を記入。
#!/bin/sh
ROOTDIR="/opt/retropie"
DATADIR="/home/pi/RetroPie"
RANDOMIZE="disabled"
REGEX_VIDEO="\.avi\|\.mov\|\.mp4\|\.mkv\|\.3gp\|\.mpg\|\.mp3\|\.wav\|\.m4a\|\.aac\|\.ogg\|\.flac"
REGEX_IMAGE="\.bmp\|\.jpg\|\.jpeg\|\.gif\|\.png\|\.ppm\|\.tiff\|\.webp"
do_start () {
local config="/etc/splashscreen.list"
local line
local re="$REGEX_VIDEO\|$REGEX_IMAGE"
case "$RANDOMIZE" in
disabled)
line="$(head -1 "$config")"
;;
retropie)
line="$(find "$ROOTDIR/supplementary/splashscreen" -type f | grep "$re" | shuf -n1)"
;;
custom)
line="$(find "$DATADIR/splashscreens" -type f | grep "$re" | shuf -n1)"
;;
all)
line="$(find "$ROOTDIR/supplementary/splashscreen" "$DATADIR/splashscreens" -type f | grep "$re" | shuf -n1)"
;;
list)
line="$(cat "$config" | shuf -n1)"
;;
esac
if $(echo "$line" | grep -q "$REGEX_VIDEO"); then
# wait for dbus
while ! pgrep "dbus" >/dev/null; do
sleep 1
done
omxplayer -o both -b --layer 10000 "$line"
elif $(echo "$line" | grep -q "$REGEX_IMAGE"); then
if [ "$RANDOMIZE" = "disabled" ]; then
local count=$(wc -l <"$config") else local count=1 fi [ $count -eq 0 ] && count=1 [ $count -gt 20 ] && count=20 local delay=$((20/count)) if [ "$RANDOMIZE" = "disabled" ]; then fbi -T 2 -once -t $delay -noverbose -a -l "$config" >/dev/null 2>&1
else
fbi -T 2 -once -t $delay -noverbose -a "$line" >/dev/null 2>&1
fi
fi
exit 0
}
case "$1" in
start|"")
do_start &
;;
restart|reload|force-reload)
echo "Error: argument '$1' not supported" >&2
exit 3
;;
stop)
# No-op
;;
status)
exit 0
;;
*)
echo "Usage: asplashscreen [start|stop]" >&2
exit 3
;;
esac
:
保存し(ctrl+O)nano編集モードから抜け(ctrl+X)、下記コマンド実行。
sudo chmod a+x /opt/retropie/supplementary/splashscreen/asplashscreen.sh mkdir /home/pi/RetroPie/splashscreens sudo chmod 777 /home/pi/RetroPie/splashscreens
2行目のmkdirはデフォルトで既に存在しているので実行は不要かと思います。
下記のサイトでデフォルトのSplashScreenが公開されています。
同一無線LANにあるWindowsPCから下記のようにsplashscreenフォルダが見えるので、
そこにpngファイルをコピーするのが楽です。
下記コマンドでsplashscreen.listファイルを作成。
sudo nano /etc/splashscreen.list
編集モードでsplashscreenフォルダにコピーしたファイルのフルパスを記入
(例)
/home/pi/RetroPie/splashscreens/retropie-2015.png
保存し(ctrl+O)nano編集モードから抜け(ctrl+X)、下記コマンドを実行。
sudo systemctl enable asplashscreen.service
これで完了です。
youtubeなどで自作のSplashScreenVIDEOなども使用できます。
youtubeの動画をオンラインで変換してダウンロードできるサイト等を使用し、
ダウンロードしたmp4をsplashscreenフォルダにコピーし、
splashscreen.listにフルパスのファイル名を記入するだけです。
