AMBERNIC とは?
どの誤家庭にも転がっている中華エミュ機。
我が家にも RG35XXSP が転がっているので、なんかを動かしてみる。
カスタム ファームウェアのインストール
標準のファームウェア(Stock OS というらしい)は不安定らしいし、また資料(ソース)があるなど とっかかりやすいという点で カスタム ファームウェアを入れたほうが良いと思う。
選択肢は色々あるが、ここでは muOS を選択した。
インストール自体は簡単で ラズパイ如く .img をダウンロードして、Micro SD カードに flash して、実機でブートすれば良い。
- muOS の [Downloa Latest Here] から Download Full Image [Download from GoFile] を選択して、所持している機種の .img.gz をダウンロードする
- balenaEtcher などで 上記 .img.gz を SD カードにフラッシュ
- フラッシュが完了したら SD カードを AMBERNIC に挿入して、セットアップする
開発環境
クロス コンパイル環境が用意されている。
GLIB の依存関係があり、Debian での構築は諦めた。
Ubuntu 24.04.1 をインストールしたほうが早い。
Ubuntu インストール
ISO をダウンロードしてインストールする。
sshd
ssh を入れとく。
$ sudo apt-get install ssh
クロス コンパイル環境のインストール
Batocdra Lite SDK Toolchain for RG35XX plus & H - 20240207 からダウンロードし、解凍して relocate-sdk.sh を実行する。
$ wget https://github.com/rg35xx-cfw/rg35xx-cfw.github.io/releases/download/rg35xx_plus_h_sdk_20240207/arm-buildroot-linux-gnueabihf_sdk-buildroot.tar.gz
$ tar zxvf arm-buildroot-linux-gnueabihf_sdk-buildroot.tar.gz
$ mv arm-buildroot-linux-gnueabihf_sdk-buildroot toolchain
$ cd toolchain
$ ./relocate-sdk.sh
make
make がないので インストール
$ sudo apt install make
ビルド
- SDL2 が使える
- 実機 OS は aarch64 (64bit) だが、この Toolchain は arm 用 (32bit) なので、実行時に注意する(後述)。
サンプル コード
サンプル コード
SDL2 のイベントを表示するやつ
実行まで
muOS の起動、設定
- muOS を起動する
- Configuration を選択
- Wi-Fi Network で LAN に接続する
- 接続すると IP アドレスが表示される
- Web Service で Secure Shell を Enabled にする
- root/root でログイン可能
- Wi-Fi Network で LAN に接続する
アプリケーションに登録
/mnt/mmc/MUOS/application/ に .sh を作成することで、ランチャの Applications から実行可能である。
アイコンは /mnt/mmc/MUOS/theme/active/glyphy/muxapp/ に .png を入れておく。
lib32
aarch64 で arm を動かすので、LD_LIBRARY_PATH を設定する。
LD_LIBRARY_PATH=/usr/lib32
Audio
PipeWire を利用しているので、設定しておく。
PIPEWIRE_MODULE_DIR="/usr/lib32/pipewire-0.3"
SPA_PLUGIN_DIR="/usr/lib32/spa-0.2"
サンプル モジュール
実行モジュール
SDL2 のイベントを表示するやつ