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 製作過程 自作ゲーセン筐体を作ろう 外出自粛で家に篭ってます。 時間もあるので、…

携帯するのにぴったりの極小マウス

目次1 なんなんだこれは2 そして購入してみた なんなんだこれは   これなんだと思いますか? 大きさの対比として眼鏡の…

エミュレータランチャーCoinOps導入

目次1 CoinOpsとは2 CoinOps導入基本3 エミュレータの追加3.1 フォルダ構成 CoinOpsとは CoinOpsとは数あるPC用のエミュレー…

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

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

RetroPie4.6がリリース。RaspberryPi4に正式に対応しました。

  RetroPie4.6がリリースされました。 ついにRaspberryPi4に正式に対応です。 RetroPie 4.6 released with Raspberry P…

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

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

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

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

RaspberryPi4にRetroPie4.5.1をインストールしたい

目次1 新型ラズベリーパイ”RaspberryPi4″発売2 RetroPi4.5.1導入手順2.1 ラズベリーパイ4にRetroPi4をインスト…