Gadget Goods・Gadget・Tool

RetroPie4.5.1に起動時のSplashscreenを入れる方法

 

下記の記事でラズベリーパイ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にフルパスのファイル名を記入するだけです。

-Gadget, Goods・Gadget・Tool


comment

メールアドレスが公開されることはありません。

関連記事

このブログの記事が紹介されました!

目次1 自分の書いた記事が・・2 紹介されました 自分の書いた記事が・・   表題のままなのですが、このブログの記事が…

RetroPieでスクリーンショットを撮る設定

  RetroPieの小ネタ(超簡単) スクリーンショットを取る為の設定です。 ゲーム中でもコマンドラインの状態でも取得でき…

中国製の怪しいエミュレータ機を買ってみた

目次1 PocketGoをAMAZONで購入2 想像よりはるかに小さい3 romの追加方法4 総評 PocketGoをAMAZONで購入 Pocket Go(海外ではB…

3MダイノックシートをMDFに貼ってみた

  現在アーケード筐体(テーブル筐体)を製作中で、MDFにダイノックシートを貼ってみました。 ダイノックシートは壁紙な…

WiFiの信号が強いのにネットに繋がらなくなるのは?

目次1 Wifiの調子が悪い2 Wifiの調子の悪い原因は・・・ Wifiの調子が悪い うちのネット環境はnuro光なのですが、 数か月前…

そうだ、ゲーセン筐体を作ろう

  目次1 自作ゲーセン筐体を作ろう2 製作過程 自作ゲーセン筐体を作ろう 外出自粛で家に篭ってます。 時間もあるので、…

GoProサブスクで交換対応な話

目次1 GoPro7破損2 さっそくサブスクに加入3 自分の場合 GoPro7破損 Gopro7のバッテリー部のカバーが変形しました。 カバー…

旭精工のコインセレクター720-A/Bを入手しました。

中国製ノーブランドのコインセレクターを購入し、 RetroPieで動作し、一先ず満足したのですが、どうにも安っぽい。 前面パネ…