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 しかしラズパイ4には対応していない…3 無理やり搭載してみよう ラズベリーパ…

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

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

脱獄していないIPHONEにRetroArch(エミュレーター)をインストールする方法【IOS13.5】【脱獄不要】~IOS14.0でも動作確認

PCを使う方法になりますが、これまではCydiaImpactorというツールを使っていたのですが、 現在使用できなくなっています。 …

GeekBuyingでGPD Pocket2を購入してみた

目次1 あまり評判は良くないGeekBuying.com2 不安ながらもポチってみた あまり評判は良くないGeekBuying.com GeekBuying ネ…

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

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

RetroPieにシャットダウンボタンを実装する

  Raspberry Pi RetroPie Shutdown Button 超簡単   STARTボタンからシャットダウンするより、ボタンでシャット…

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

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

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

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