起動の高速化=液晶の表示待ちの短縮

ラズパイの電源通電から液晶HATの表示開始まで、一瞬で始まるわけではありません。
液晶の表示は、OSのブートアップからドライバー読み込みまで若干の時間を要します。

ラズパイの設定を調整することで、起動時間の短縮を図ります。

作業方針は

  • Retro Pieが動作する
  • 液晶HATが動作する
  • SSHによるリモート接続を行う

以上の要件に対して不要な機能を無効化していきます。

設定変更

/boot/cmdline.txt

cmdline.txtは、システム開始直後に読み込まれる設定ファイルで、ソフトウェア設定について記載されています。

変更の際は、以下のコマンドを入力します。

sudo nano /boot/cmdline.txt

デフォルト例

dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=PARTUUID=<パーティションID> rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait loglevel=3 consoleblank=0 plymouth.enable=0

修正例

dwc_otg.lpm_enable=0 console=tty1 root=PARTUUID=<パーティションID> rootfstype=ext4 elevator=deadline fsck.repair=yes ipv6.disable=1 rootwait logo.nologo quiet

この記載のまま、コピペしないこと!
パーティションIDは環境ごとにユニークな情報です

パラメータの意味

項目名デフォルト値変更例 説明
dwc_otg.lpm_enable0USBのOTGモード使用の時に変更、通常は0のまま
consoletty1仮想コンソールの使用、SSHで使う
consoleserial0,115200削除シリアルコンソールの使用、削除可能
root<パーティションID>rootマウントされるパーティションの指定、変更しない
rootfstypeext4rootで使用するファイスシステムタイプ、変更しない
elevatordeadlineI/Oスケジューラの定義、変更しない
fsck.repairYESファイルシステムが実行する修復機能の有効化、変更しない
rootwaitSDカードやMMCデバイス使用時に必要なrootデバイスのカーネルウェイトの定義、変更しない
loglevel3削除ログレベルの定義 後述のquietで代用
quiet追加ログレベルを2:起動時メッセージを抑制する
consoleblank0削除コンソール上でのブランク化設定、0でブランク化しない 削除可能
plymouth.enable0削除グラフィカルなブートスプラッシュ機能の提供
logo.nologo追加起動時のラズベリーマークの非表示。ラズベリーマークの数がプロセッサのコア数を意味する
ipv6.disable=1追加IP v6を使用しない



/boot/config.txt

config.txtは、主にハードウェア関連の設定ファイルです。
こちらの項目にて、ラズパイの動作クロックを高速化することでパフォーマンス向上を図ります。
下記手順では、標準700Mhzから900Mhzへの変更としました。
数値は任意に数値を指定できますが、大きすぎるとシステムが不安定になったり、最悪システムが動作しないなどの不具合が発生します。

arm_freq=900
force_turbo=1

パラメータの意味

項目名デフォルト値変更例 説明
arm_freqコメントアウト(700)900CPU・Armプロセッサの動作クロック。900Mhzは無理のないクロックアップ値
force_turbo1負荷に応じて動作クロックを可変するのがデフォルトであるが、これを常に最大パフォーマンスで動作するように強制するオプション



Retro Pie の スプラッシュ削除

Retro Pie起動時にグラフィカルな起動メッセージ「スプラッシュ」が表示されます。
スプラッシュ表示されるステップに入ると、すでに液晶HATは表示状態にあるので、スプラッシュの非表示は液晶表示の高速化に寄与はしません。

しかしゲーム画面表示に早く移行したい意図でスプラッシュの非表示、あるいは起動画面を変更手順を示します。

sudo ./RetroPie-Setup/retropie_setup.sh

「C Configuration / tools」-> 「837 splashscreen」にて、スプラッシュスクリーン関連の設定を行います。

スプラッシュの有効/無効化


「2 Enable splashscreen on boot」
上記メニューで有効/無効を切り替えます。

スプラッシュの変更

「5 Manually edit splashscreen list」
スプラッシュスクリーンに使用するファイルを指定します。

独自の画像・動画をスプラッシュスクリーンとして使用する際は下記ディレクトリへ配置してください。

/home/pi/RetroPie/splashscreens

ファイルの配置方法は、SFTPなどを利用してください。

更に起動時間を短縮させたい

サービスプログラムのうち、起動に時間がかかっているプログラムを特定し、ランレベル変更で停止してしまうのも手です。
目立って時間がかかるのはネットワーク系サービス(のタイムアウト待ち)なので、SSHなどの外部メンテナンス性を諦めれば、より高速起動が期待できます。