Amazon Fire TVでSteam Link使ってパソコン上のSteamゲームを遊べないのかな?とぐぐってみると、開発者モードを有効にしてAPKファイルをインストールする、なんて話が出てくる
が・・・試しにAmazonアプリストアで検索してみると、普通にSteam Linkが出てくる

どうやら、2024年10月9日に登録されたらしい

というわけで、記述が古い開発者モードを有効にして、なんて書いてある記事に騙されないようにしましょう
技術的なことをメインにいろいろ書いてくサイトです
Androidに関することです
Amazon Fire TVでSteam Link使ってパソコン上のSteamゲームを遊べないのかな?とぐぐってみると、開発者モードを有効にしてAPKファイルをインストールする、なんて話が出てくる
が・・・試しにAmazonアプリストアで検索してみると、普通にSteam Linkが出てくる
どうやら、2024年10月9日に登録されたらしい
というわけで、記述が古い開発者モードを有効にして、なんて書いてある記事に騙されないようにしましょう
Orange Pi 5上で動くChromium OSカスタマイズのopenFydeにR108ベース版が登場した。
商用版のfydeOSの方でもFydeOS for YouとしてOrange Pi 5向けがダウンロードできるようになった。
openFydeではR108版ではAndroidアプリが動作するようになった模様(fydeOS v16.1リリースノート にはAndroidに関する記載はない)
Add Android 11 support implemented by project ARCHERO(Alpha test status).
Upgrade Android 11 subsystem ArcHero.
どういう仕組みで動かしているのかな?と調べてみるとFydeOSの「Chromium OS Archero Developer Guide」というページを発見。
Google Chrome OSでのAndroidアプリはGoogle ARC++(Android Runtime for Chrome)を使って動かしているものを、anboxベースで置き換えた、というものであるようだ。
openFyde R102でのインストール手法から変更となっている。
1) orangepi5-openfyde-r108-r1.run をダウンロード
2) orangepi5-openfyde-r108-r1.run をインストール先M.2 SSDに合わせたオプション付きで実行してimgファイルを出力
3) imgファイルをmicroSDに書き込む
4) 書き込んだmicroSDとインストール先のM.2 SSD(NVMe or SATA)をOrange Pi 5に取り付け
5) Orange Pi 5の電源をつないでopenFyde起動してM.2 SSDにインストール
6) インストール完了後、自動的に電源は切れる
7) microSDはさしたままOrange Pi 5の電源を入れるとM.2SSDからopenFydeが起動
最初、Linux環境から直接imgファイルをM.2 SSDに書き込んでみたり、microSDで起動してM.2 SSDにインストールした後はmicroSDを抜くものだと思っていたので、起動してこなくて悩みました。
現状のOrange Pi 5だとオンボードSPIにブートローダ書き込んだ場合の動作調整が面倒なので、どのような設定でも最優先されるmicroSDにブートローダを書き込んでしまうのが確実、ということで、常時microSDをさしたままの状態とする、ということのようです。
現状のAndroid互換レイヤーではストアとして中国CoolAPKのみが登録されているので、中国圏のアプリは簡単にインストールできる状態でした。
原神のアイコンがあったのでインストールしてみたところ、インストールに成功し、ログイン時のあの音楽も流れてきましたが、中国アカウントを求められてそれ以上は進めませんでした。
まあ、実家から、ドコモのらくらくスマートフォン F-52Bを自宅のWiFi環境に繋いでからメールが取れなくなってる、というレスキュー要請があったので見に行った。
その際に、いまのアカウント情報とか聞いて見たんだが、そういうのは店の人にやってもらった、というのだが、アカウントに関する資料をもらっていなかった模様。
これは積んだかな?と思いつつ調べていったらなんとかなったのでメモ書きとして残しておく
まず、これだけは最低必要なことは以下の2つ
・スマホをドコモのSPモード接続で使うこと(WiFiでは駄目)
・ドコモのネットワーク暗証番号(数字4桁)が分かっていること
この状態であれば、スマホからdメニューをたどっていくことで、以下を調べることができる。
・dアカウント名
・dアカウントのパスワード(画面に表示されます)
・IMAP接続用ユーザ名
・IMAP接続用パスワード
Googleアカウントについては、gmailの画面などからメールアドレスを確認することができるかと思います。
パスワードは、まずは、dアカウントのパスワードと同じものを入力して通るか確認します。
通らなかった場合は、パソコンなどからgmailにアクセスし、Googleのメールアドレスを入力して、「パスワード不明」を選び、パスワードの再設定を行います。
そうすると、スマホ側に確認がくるので、はい、と答えると、パソコン側でパスワードの再設定ができるようになるので、新しいパスワードを設定します。
これでなんとかアカウントに関する情報を調べることができました。
で・・・冒頭のメールが取れない、という件は、SPモードメールはdアカウントの登録がちゃんとされていないとWiFi経由で取得出来ないから、という話だったようでした。
なので、dアカウントに関する設定を行うことで、メールは復旧しました。
Orange Pi 5の中国語DownloadページのAndroid镜像リンクをたどってみたところ、SPIFlash-SATA SSDというディレクトリが・・・
え?と思って、ダウンロードしてRKDevToolを使って書き込みを試して見るも「Switch into SATA storage Fail, did not support to switch in」というエラーで成功しない。
改めて中国ページの官方工具にあるマニュアルを確認してみると「OrangePi_5_RK3588S_用户手册_v0.7.pdf」と英語ページにあるマニュアルよりだいぶバージョンが上がっている。
ただ、M.2 SATA SSDからAndroidを起動する場合の書き込み手順について違う点はなく、原因は不明・・・
(注:最終的にはLinux側でSPIFlashを書き換えるとAndroidの書き込みが成功するようになりました。)
その他にないかマニュアルを読み直すとM.2 SATA SSDからLinuxを起動する手順が掲載されているので、そちらを試行してみた。
マニュアル上の重要なポイントは以下
実際にやってみる。
まずSPIFlashの書き換えに使うファイルを確認
orangepi@orangepi5:~$ ls -ld /usr/share/orangepi*
drwxr-xr-x 2 root root 4096 Dec 22 19:36 /usr/share/orangepi
drwxrwxr-x 2 root root 4096 Dec 12 17:58 /usr/share/orangepi5
orangepi@orangepi5:~$ ls -l /usr/share/orangepi
total 4
-rw-r--r-- 1 root root 3269 Dec 22 19:34 boot.cmd
orangepi@orangepi5:~$ ls -l /usr/share/orangepi5/
total 16384
-rw-rw-r-- 1 root root 16777216 Dec 12 17:58 rkspi_loader_sata.img
orangepi@orangepi5:~$
SPIFlashを書き換えます。
orangepi@orangepi5:~$ sudo dd if=/usr/share/orangepi5/rkspi_loader_sata.img of=/dev/mtdblock0
[sudo] password for orangepi:
32768+0 records in
32768+0 records out
16777216 bytes (17 MB, 16 MiB) copied, 244.953 s, 68.5 kB/s
orangepi@orangepi5:~$
現状のM.2 SATA SSD上のブートローダ、パーテーションをddでzeroを書き込んで消します。
orangepi@orangepi5:~$ sudo dd bs=1M if=/dev/zero of=/dev/sda count=2000 status=progress
1754267648 bytes (1.8 GB, 1.6 GiB) copied, 2 s, 877 MB/s
2000+0 records in
2000+0 records out
2097152000 bytes (2.1 GB, 2.0 GiB) copied, 5.5852 s, 375 MB/s
orangepi@orangepi5:~$
orangepi@orangepi5:~$ sudo fdisk -l /dev/sda
Disk /dev/sda: 476.94 GiB, 512110190592 bytes, 1000215216 sectors
Disk model: WT M.2 512G
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
orangepi@orangepi5:~$
次にmicroSD上にコピーしておいたLinuxイメージをM.2 SATA SSDに書き込みます。
orangepi@orangepi5:~$ sudo dd if=Orangepi5_1.0.8_ubuntu_jammy_desktop_xfce_linux5.10.110.img of=/dev/sda bs=1M status=progress
8129609728 bytes (8.1 GB, 7.6 GiB) copied, 119 s, 68.3 MB/s
7800+0 records in
7800+0 records out
8178892800 bytes (8.2 GB, 7.6 GiB) copied, 121.861 s, 67.1 MB/s
orangepi@orangepi5:~$
書き込み完了後のパーテーションはこのようになります
orangepi@orangepi5:~$ sudo sync
orangepi@orangepi5:~$ sudo fdisk -l /dev/sda
GPT PMBR size mismatch (15974399 != 1000215215) will be corrected by write.
The backup GPT table is not on the end of the device.
Disk /dev/sda: 476.94 GiB, 512110190592 bytes, 1000215216 sectors
Disk model: WT M.2 512G
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 58FCCC02-859A-5041-ADA7-14802AADF341
Device Start End Sectors Size Type
/dev/sda1 61440 585727 524288 256M Linux extended boot
/dev/sda2 585728 15974366 15388639 7.3G Linux filesystem
orangepi@orangepi5:~$
書き込んだM.2 SATA SSDの/dev/sda1 にあるorangepiEnv.txtを書き換えるためにマウントします。
orangepi@orangepi5:~$ sudo mount /dev/sda1 /mnt
orangepi@orangepi5:~$ df -h /mnt
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 256M 95M 162M 37% /mnt
orangepi@orangepi5:~$ ls -l /mnt
total 96104
-rwxr-xr-x 1 root root 230456 Dec 22 19:39 boot.bmp
-rwxr-xr-x 1 root root 3269 Dec 22 19:34 boot.cmd
-rwxr-xr-x 1 root root 3341 Dec 22 19:51 boot.scr
-rwxr-xr-x 1 root root 215221 Dec 22 18:24 config-5.10.110-rockchip-rk3588
drwxr-xr-x 3 root root 4096 Dec 22 19:36 dtb
drwxr-xr-x 3 root root 4096 Dec 22 19:36 dtb-5.10.110-rockchip-rk3588
-rwxr-xr-x 1 root root 33915392 Dec 22 18:24 Image
-rwxr-xr-x 1 root root 11119990 Dec 22 19:54 initrd.img-5.10.110-rockchip-rk3588
-rwxr-xr-x 1 root root 154 Dec 22 19:51 orangepiEnv.txt
-rwxr-xr-x 1 root root 1542 Dec 22 19:48 orangepi_first_run.txt.template
-rwxr-xr-x 1 root root 7853912 Dec 22 18:24 System.map-5.10.110-rockchip-rk3588
-rwxr-xr-x 1 root root 11120054 Dec 22 19:54 uInitrd
-rwxr-xr-x 1 root root 33915392 Dec 22 18:24 vmlinuz-5.10.110-rockchip-rk3588
orangepi@orangepi5:~$
orangepiEnv.txtの最後に「overlays=ssd-sata」を追加します。
orangepi@orangepi5:~$ sudo cp /mnt/orangepiEnv.txt /mnt/orangepiEnv.txt.org
orangepi@orangepi5:~$ sudo vi /mnt/orangepiEnv.txt
orangepi@orangepi5:~$ cat /mnt/orangepiEnv.txt
verbosity=1
bootlogo=true
overlay_prefix=rk3588
fdtfile=rockchip/rk3588s-orangepi-5.dtb
rootdev=UUID=5ead0754-b05b-4f29-8170-b0620e7ae6d2
rootfstype=ext4
overlays=ssd-sata
orangepi@orangepi5:~$
書き込んだらumount
orangepi@orangepi5:~$ sudo umount /mnt
orangepi@orangepi5:~$
このあと、microSDを抜いて、M.2 SATA SSDのみで電源を入れると、M.2 SATA SSDから起動しました。
orangepi@orangepi5:~$ sudo fdisk -l /dev/sda
Disk /dev/sda: 476.94 GiB, 512110190592 bytes, 1000215216 sectors
Disk model: WT M.2 512G
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 58FCCC02-859A-5041-ADA7-14802AADF341
Device Start End Sectors Size Type
/dev/sda1 61440 585727 524288 256M Linux extended boot
/dev/sda2 585728 990183423 989597696 471.9G Linux filesystem
orangepi@orangepi5:~$
Linux側でSPIFlashを書き換えたあとであれば成功するかな?と試してみたところ、これまで失敗していたところは問題無く終了し、書き込みが実行されるようになりました。
(microSDをさしっぱなしにしていると途中で失敗するので注意)
Androidの書き込み完了後は自動的に再起動されAndroidが起動します。
なお、起動したAndroidは、WiringOPアプリが追加されている以外はあまり違いがないような感じでした。
2023/01/12追記
新しいM.2 SATA SSDが届いたので、Androidイメージを書き込むべく、とりあえず「sudo dd if=/usr/share/orangepi5/rkspi_loader_sata.img of=/dev/mtdblock0」を行ったあとに、RKDevToolで書き込みを実施してみましたが、書き込みはfailしました。
「sudo dd if=Orangepi5_1.0.8_ubuntu_jammy_desktop_xfce_linux5.10.110.img of=/dev/sda bs=1M status=progress」でLinuxイメージを書き込み、一度起動させたあとで、RKDevTool書き込みを試すと、成功しました。
(このとき、Linuxを書き込んだあとのorangepiEnv.txt 修正を忘れたので、Linux起動が途中で失敗してinitramfsで止まりましたが、電源強制オフのあと、Android書き込みには問題ありませんでした。)
「Orange Pi 5 が届いた」を始めにいろいろOrange Pi 5に関する記事をいろいろ書いていったら探しにくくなってしまっているので、まとめ記事を作成しました。
2023/01/07: 作成
2023/01/13: Chromium OS(openFyde)について追加。microSDとM.2 SSDの優先順位について修正。M.2 SATA SSDの入れ替えに関して追加
・M.2 NVMe SSD(M-key)
M.2 M-keyで使えるSSDには、M.2 NVMe SSDとM.2 SATA SSDの2種類があります。
Orange Pi 5の公式仕様としてはM.2 NVMe SSDが使用できる、ということになっています。
Orange Pi 5ではM.2 NVMe SSDの2242が適切なサイズですが、日本で買うと高いです。
aliexpressでは日本の半額程度で買え、2週間程度で届きます。
私はKingSpecというメーカの512GBを買いました。詳細は「aliexpressでM.2 2242サイズのSATAとNVMeを買ってみた」
・コンバーターボード経由でM.2のA/E-keyのWiFiカード
本来はA/E-keyのM.2はM-keyにさすことが出来ませんが、コンバーターボードを使うことでさすことができます。
詳細については TechnicaLifeさん「Orange Pi 5 で Intel AX200 Wi-Fi を使う」にて
・限定的にM.2 SATA SSD(M-key)
2023/01/07時点ではOrange Pi 純正Ubuntu/Debianで使える手法ですが、microSDからLinuxを起動したあと、ssd-sataというkernelモジュールを読み込むことでM.2 SATA SSDを利用することができるようになります。
詳細「Orange Pi 5でデータディスクとしてならM.2 SATAも使える」
2022/12/23に中国サイトでのみリリースされてたAndroidイメージではM.2 SATAから起動できるイメージなるものがありました。(いま気がついたのでダウンロード中です)
中国サイトのマニュアルにLinux/AndroidでM.2 SATA SSDから起動するための手順が書かれていました。
詳細「Orange Pi 5でAndroid/Linux共にM.2 SATA SSDから起動できるようになった」
microSDとM.2 SSDを両方入れている場合にどちらを優先するか、というあたりはnand領域に書き込んで設定しているようです。 基本的には起動できるmicroSDがあればそちらから起動するようです。
どちらかしかさしていない状態であれば、さしているデバイスから起動するようになっているようです。
このため、うちではM.2 NVMe SSDから起動するように設定した後、他のOS環境を試す際は、一度M.2にさしたSSDを取り外して、microSDのみにして起動しています。
「Androidを書き込んだM.2 NVMe SSD」と「Androidを書き込んだM.2 SATA SSD」をさしなおして環境をかえられるかな?とやってみましたが、無理でした。
SPIFlashの内容を書き換えないと駄目なようですが、RKDevToolで自動化されている作業を手動でできるのかが不明です。
なお、RKDevToolを使って、M.2 SSDをフォーマット/書き換えすれば切り替え自体はできました。
M.2 SATA SSDを2枚用意して、差し替えることで起動を切り替えられるか試してみましたが上手くいきませんでした。どうやらLinux起動用の設定とAndroid起動用の設定は違うようです。
Orange Pi純正のUbuntu/Debianの他に、2022年末にarmbianのベータ版公開が始まりました。
Orange Pi純正は2023年1月にも更新されてv1.0.8(年末はv1.0.6だった)になっていますが、v1.0.6からv1.0.8相当にアップデートする手法がわからない、というのが難点です。
2023/01/07時点ではOrange Pi純正もarmbianも初期設定では、ソフトウェア処理となっていて、SoCに含まれているGPUが有効活用されていません。
Panfrost GPU driverを適用するとSoCのGPUが活用できます。
「Orange Pi 5純正のUbuntuのGPU表示を高速化できるのか?」で試したのですが、確かに数値としては速くなったものの全体的な動きに問題がありました。
armbianの方は、armbianのページにかかれている解説の通りに実行するこで組み込み正常動作はするのですが、あまり変化がなく微妙でした・・・
また、2023/01/03リリースの Orangepi5_1.0.8_ubuntu_jammy_desktop_xfce_linux5.10.110.img で起動した際、初期状態の /etc/chromium-browser/default に対して「CHROMIUM_FLAGS=”-use-gl=egl”」という変更を加えたところ、それだけで、chromiumブラウザ上でのWebアクアリウムがfps:3からfps:60に改善されるという状況に・・・
2023/01/07時点ではGPU周りはまだ混沌としている感じです。
2023/01/07時点で公式から配布されているAndroidイメージにはGoogle Playは含まれていません。
→「Orange Pi 5をAndroid 12で動かす」
中国サイトにあるOrange Pi OS(Droid)にも含まれていませんでした。
→「Orange Piの中国サイトからだとOrange Pi OS(Droid)が入手できる」
じゃあ、Google Playが使えないか、というとそうでもなくて、Androidの開発者向けオプションにあるDSU Loader機能を使うとなんとか使えるようになる、というのを発見しました。
→「Orange Pi 5用Android 12からGSIイメージの汎用Androidを起動する」
また、Orange Piの中国サイトで2022/12/23にリリースされたAndroidイメージはM.2 SATA SSDから起動できるものがあるようです。(いま気がついたのでダウンロード中です…)
ためした限りではAndroid部分はWiringOPというGPIO関連のテストを行うアプリが追加されていましたが、それ以外はあまり差がないようでした。
ChromeBookなどで使われているChromeOSには、オープンソースのみで構成されているChromium OSというものがあります。
このChromium OSをベースとしていろんな機種で動作させるようにするプロジェクトがいくつかあり、その1つのFydeOSという商業ベースのものがあります。
このFydeOSのオープンソース版は以前からあったのですが2022年になってからopenFydeという名称を付けて展開を始めています。このopenFydeで2023/01/07からOrange Pi 5向けの開発と提供が始まっていました。
さっそく導入してみました→「Orange Pi 5でChromium OS(openFyde)を動かす」
ChromeアプリやLinuxについては特に問題無く動いています。音声出力にも問題はありません。