Ambernic RG505をGammaOSにアップデートする
2023年7月23日毎日必ず持ち歩いているPCバッグのポケットにしまい込んではいるものの、あんまり引っ張り出して使うことがなくなっていたAmbernic RG505。Android端末で4.0GB RAM、Android12端末なレトロゲームコンソールです。
今日はそんなRG505向けにリリースされたGammaOSにアップデートっていうか、書き換えしてみたいと思います。
GammaOSとは?
GammaOS は LineageOS 19.1 (Android 12) に基づいています。
Anbernic RG405M および RG505 を最大限に活用したいと考えているユーザーに、無駄を省いてパフォーマンスが最適化されたエクスペリエンスを提供します。
だそうです。
致命的なバグがあるなんて全然しらなかったよ!
ちょっと昔懐かしいゲームするにはお手軽で結構気に入っていたRG505。サイトによると、結構致命的ともいえるバグがあったそうで。
- 実はディスプレイ周波数が61.2hz
- 美しくないオーバーシャープ
- LRボタンが機能しないゲームがある
- etc.
使っていてまったく気付きませんでしたw
うーん、一時はヘビーに使い倒していたんだけどなぁ。
特徴
- 削除されたクリーンな LineageOS 19.1 ビルドに基づいており、よりスムーズなエクスペリエンスを実現する Android 12。 GammaOS には Google サービスと Play ストアが含まれています。 GammaOS Lite では、パフォーマンスの余裕を高めるために Google のアプリとサービスが除外されています。
- フロントエンドとしてのDAIJISHOランチャー。一部のシステムでは RetroArch で事前設定されています。 (GB、GBC、GBA、NES、SNES、Genesis、PSX 用に最適化された設定) (BIOS ファイルはお客様が提供する必要があります)。
Auroraストアが含まれます。 - Adguard 広告ブロックがデフォルトで含まれています (プライベート DNS 設定で無効にできます)。
- Magisk/root が含まれています。 追加のセットアップが必要であるという警告は無視してください。これは誤ったフラグです。 Magiskは正常に動作しています。
- ディスプレイのリフレッシュ レートを 60hz に修正しました (ストックは 61.2hz で、エミュレーションでフレーム ペーシングの問題が発生する可能性があります)。
- オーバーシャープ表示が修正されました。
- より厳密なコントロールのためのアナログスティックキャリブレーション。
- CPU、GPU、メモリは、パフォーマンスをさらに向上させるためにパフォーマンス ガバナーを使用するようになりました。
- Retroid Pocket 3+ から取得した実験的な GPU ドライバー。
- L2/R2 ボタンに関する問題のあるアプリやゲームを修正しました。 L3+L1+R1を押し続けることで、XBOXとNSのボタン配置を切り替えます。 設定は再起動しても保存されます。
- R3+L1+R1を押し続けると、パフォーマンスモードを切り替えることができます。 オプションは次のとおりです: 最大パフォーマンス (すべてが最大周波数に設定され、バッテリー寿命を最大限に使用します)、通常パフォーマンス (負荷に応じて周波数を調整します)、省電力 (バッテリー寿命を最大にするためにすべての周波数を最小値に下げます。GBA 以下に役立ちます)。 RetroArch の省電力モードでスレッド ビデオを有効にするか、エミュレータを負荷の低いものに変更することをお勧めします。
- SafetyNet 修正、Pixel スマートフォンとして表示: TMNT などの修正用 (Magisk > 設定 > Zygote を有効にするを切り替えてデバイスを再起動することでアクティブ化されます)。 追加のセットアップが必要であるという警告は無視してください。これは誤ったフラグです。 Magiskは正常に動作しています。
ライン引いておきましたが、これだけでもう導入した方が良いって予感しています。
その他の情報
- RetroArch ホットキー: (RG405M) ホーム/BACKボタン / (RG505) SELECTボタン。
- RetroArch メニューの切り替え: (L3 + R3)。 「コンテンツを閉じる」オプションを選択すると、ゲームが終了し、DAIJISHOに戻ります。
- RetroArch ショートカット (ホットキーを押し続ける) + L1 = スローモーション | L2 = ロード状態 | R2 = 状態を保存 | R1 = 早送り | X = FPS を表示 | Y = スクリーンショット。
足りないもの
ストックで内蔵されていた、ボタンをオンスクリーンにマッピングするソフトウェアはないそうです。代替ソリューションはアプリ ストアで見つけることができます。
※オススメアプリありましたらお教えください。
インストラクション
新規インストール (ストック Anbernic ファームウェアからフラッシュ。ブートローダーは以前にロック解除されておらず、fastbootd 経由でフラッシュ)を行う方法です。
前提条件(準備編)
GammaOS(GooglePlayStoreが不要な方はLiteを)
https://github.com/TheGammaSqueeze/GammaOS
ページの右側に「Rereaces」を見つけてください。「Latest」(右のコラムの一番上)が最新版です。
GammaOS/GammaOSLite フォルダーとそのファイルを解凍します。
ADB および Fastboot ツール + ドライバー。必ず Universal ADB Driver をインストールしてからコンピューターを再起動してください
https://github.com/K3V1991/ADB-and-FastbootPlusPlus
InstallがおわってFinishの画面が出ます。引き続き「Install Universal Adb Driver」にチェックを入れ、同ドライバーのインストールを始めます。
一応PCを再起動しておきましょう。
Unisoc ドライバー (UnisocDrivers フォルダー内のリリース zip に含まれています) をインストールします。
関連する OS フォルダーで DPInst64.exe プログラムを実行します。 (Win10 ドライバーは Win11 でも動作します。こちらから入手可能ですhttps://github.com/TheGammaSqueeze/GammaOS/releases/download/GammaOS_v1_RG405M/UnisocDrivers.zip )
ダウンロードしたファイルはzipなので展開してください。
私はWin11なのでWin10版を使います。
RGM405/RG505を用意してください。
RG405M/RG505 の「開発者向けオプション」を有効にし、さらに USB デバッグを有効にします。
https://developer.android.com/studio/debug/dev-options?hl=ja
※開発者向けオプションを有効にする方法
設定→デバイス情報(一番下)→ビルド番号(一番下)を7回連続タップ。画面にはメッセージがでます。
※USBデバッグを有効にする方法
設定→システム→開発者向けオプション→USBデバッグをオン。「USBデバッグを許可しますか?」とダイアログがでるので、OK。
リカバリ/高速ブート モードで起動する際の潜在的な問題を回避するために、続行する前にデバイスから SD カードを取り外してください。
※私はSDカードを外部ストレージとしてではない使い方をしていましたので、安全に外す際にこちらのリンクを参考にしました。
またPCを用意してください。
vbmeta_a でフラッシュが停止するなど、フラッシュに関する問題を防ぐために、PC 上に存在する既存の fastboot.exe アプリケーションを削除または名前変更します。
コマンド プロンプトを開き、コマンド where.exe fastboot.exe を入力します。 これにより、fastboot.exe がどこから呼び出されているかがわかります。C:\Program Files (x86)\ADB および Fastboot++\fastboot.exe の場所にないものは、別の名前に変更する必要があります。 oldfastboot.exe のような名前に変更します。
※コマンドプロンプトをサクッと起動する方法はいろいろあると思いますが、スタート→検索欄→「cmd」で候補にあがるので「コマンドプロンプト」をクリックして起動が早いと思います。
コマンドプロンプトを終了するには、右上の「X」をクリックするか、「exit」と入力してEnterです。
ブートローダーのアンロック(導入編)
- Android で起動している間に RG405M/RG505 を USB ケーブル経由で PC に接続し、コマンド プロンプト ウィンドウを開いて、次のコマンドを実行します: adb reboot bootloader
- RG405M/RG505 が再起動し、画面の Anbernic ロゴの横に「fastboot モード」というテキストが表示されます。
- このサイトを Google Chromeで開きます: https://thegammasqueeze.github.io/subut-rehost/
- 「Connect」をクリックします。
- 「fastboot Gadget」をクリックして接続します。
- 「Unlock」をクリックします。
- デバイスには、「警告: デバイスのロックを解除すると、ユーザー データが消去される可能性があります。確認するには、音量を下げるボタンを押してください。キャンセルするには、音量を上げるボタンを押してください。」という警告が表示されます。
- RG405M/RG505 のホーム / 戻るボタンを押して先に進みます。 音量ダウン ボタンは押さないでください。RG405M の前面または RG505 の右側にある戻るボタンのみを押してください。
※これに気付かずRG505の画面に出ている通りに音量ボタンを押してエラーを繰り返してしまいました。エラーの際は、ブラウザをリロードしてConnectからやり直せます。
- 完了するまで待ちます。 RG405M/RG505 には「Unlock bootloader success!」というメッセージが表示されます。
- 続行する前に、thegammasqueeze.github.io/subut-rehost サイトのある Google Chrome ウィンドウが閉じられていることを確認してください。閉じられていないと、次のコマンドが機能しません。
- コマンド プロンプト ウィンドウで、次のコマンドを実行します。 fastboot reboot fastboot
- astboot モードで起動します。続行する前に、RG405M/RG505 に fastboot テキストが表示されていることを確認してください。
カスタムファームウェアのフラッシュ
- 以前のコマンド プロンプト ウィンドウをすべて閉じます。
- 抽出した GammaOS/GammaOSLite フォルダーに移動します。
- デバイスに応じて RG405-FlashPartitions.bat または RG505-FlashPartitions.bat スクリプトを開くと、ファームウェアのフラッシュが開始されます。 この手順には最大 10 分かかる場合があるので、しばらくお待ちください。
- EraseUserData.bat スクリプトを開くと、GammaOS の準備としてデバイスの出荷時設定へのリセットが開始されます。 この手順には最大 10 分かかる場合があるので、しばらくお待ちください。 スクリプトが完了すると、コマンド プロンプト ウィンドウは 60 秒後に自動的に閉じます。
- 電源ボタンを 1 回押すことで、RG405M/RG505 を再起動できるようになります。
- デバイスが再起動し、新しいファームウェアを初めて起動する前に、約 2 分間 Anbernic ロゴが表示されます。 この後の再起動ははるかに速くなります。 ロック解除と検証スキップに関するデバッグ メッセージが表示されても心配しないでください。これは、ブートローダーのロックを解除した後の正常な動作です。
- おめでとうございます。GammaOS をご利用になりました!
- GammaOS ではなく標準ファームウェアで起動し直す場合は、パーティション レイアウトに互換性がない可能性があります。 これを確認するには、GammaOS フォルダー内の log.txt ファイルで障害を検索します。 これを解決するには、unbricker ツールを使用してストック ファームウェアをフラッシュし、GammaOS を再度フラッシュする必要があります。
参考リンク: Help! My device is no longer booting! Or I want to go back to Stock OS!
Credits
TheGammaSqueeze – Author – https://github.com/TheGammaSqueeze/
TacoPizza#4158 – Testing and Support
Andy Yan – Providing GSI builds: https://sourceforge.net/projects/andyyan-gsi/files/lineage-19.x/
GammaOS起動
Android端末としての「いつもの」設定を終えると、Daijishoが起動します。
まだ操作方法とかよくわからないままで恐縮ですが、画面上部にあるタブはL1R1で切り替えです。Aボタンで選択、Bボタンで戻る。
(これが基本動作)
導入前に外してあった、SDカード(512GB)は、再読み込みできずでして、結局フォーマットをするハメになりました。今度は外部SDカードとして運用してみたいと思います。
Daijisho
デフォルトでGB、GBA、GBC、GENESIS、MASTER、NES、PSX、SNSのエミュレーターが利用できるよう登録されています。Daijishoはフロントエンド。多分検索すればその設定方法なども紹介されていると思いますから、デフォルト以外のゲームシステムもDaijishoから始められるよう設定したいと思っています。
設定(Daijishoのタブ)→ライブラリに入ると、「ゲーム機をダウンロード」という項目があるので、そこからゲーム機を追加できます。
追加したら「+フォルダ」で該当するフォルダを指定すれば読み込めるかと。フォルダを指定したら、「同期する」をタップしてライブラリに追加しましょう。
Daijishoで無いものは、アプリタブにPlayストアがありますから、追加インストールすれば良いのでしょう。RetroArchもアプリの一つとしてプレインストールされていました。
RetroArch
RetroArchはアプリの一つとしてアプリページに鎮座していました。こちらはフロントエンドというよりも、各種エミュレーターをコアとし、コアとROMファイルとを紐付けてゲームシステムを実行するためのもの(なんだと思う)。
ほぼまたイチから環境を作り直さなきゃならないので、結論を出すにはまだ早いのでしょうけど。
んー。私的には「前のままで別に良かった」という印象。Ambernicも次々新製品だすもんだから、RG505のファームウェアアップデートなんてもう考えてもいないのかも知れませんが、もしかしたら、現状確認されている不具合(私は特に不具合がわかるほど使い倒していない)をFIXしたファームが今後登場するかも知れない。
デフォルトのRG505にもフロントエンドはありましたし、それとAndroidとの切り替えといった使い方で、不具合の事をしらなかったら何も不満ありませんでしたからね。
ただ、やりたかったゲームで幾つも「遅い」を経験してしまっていて、それがAOKZOE A1では遅くないに変わったので、だったら、AOKZOE A1で一元化って考えになってしまってまして。
今回GammaOSを導入することで、もしかしたら、遅かったPS2が普通に動くかもしれないと、真っ先に試してみましたが、全然遅かったですw
というわけで、GammaOS、無理して入れる必要もなかったのかなーというオチでした。
何か新発見でもあれば、記事更新で反映させていただこうと思っています。