Android 7.0 (Nougat) の対象外になった Nexus 5 ですが、MaruOS が動くらしいので入れてみました。HDMI 経由でモニタを接続すると Desktop PC として使えるようになります。

Maru OS

中央の小さい画面が Nexus 5 16GB model です。後ろのモニタは 11inch (OnLap 1101H)

maruos01.jpeg


↓ 起動すると普通の Android の画面。OS は Android 5.1.1。アプリは最小限

maruos03.jpeg


SlimPort 経由で HDMI 接続すると Debian の Desktop になります。Keyboard や Mouse は予め Bluetooth で接続しておく必要があります。

maruos04.jpeg


Nexus 5 以外に必要な物は下記の通り

・SlimPort の HDMI アダプタ
・Bluetooth Keyboard
・Bluetooth Mouse

Bluetooth のペアリングは Android 側で行います。ペアリングと接続が完了しても Android 画面の操作が出来ないので注意が必要です。Desktop 側の操作だけマウスとキーボードが有効になっているようです。Bluetooth 接続後の動作確認のために HDMI を先に繋いでおくことをおすすめします。

Desktop は Linux そのままです。開発環境を整えてアプリケーションビルドなども普通にできます。HDMI ケーブルを外しても状態は残っているので、再びケーブルを繋ぐと以前の画面のまま復帰できるようです。Android 側の操作で終了させることも出来ます。

Nexus 5 本体の電源ボタンを押す (Sleep する) と Desktop 側も Sleep してしまうようです。使うときは Nexus 本体側の画面も常時点灯状態にしておく必要あり。

Mobile 端末で動く Desktop 環境としては思ったよりもレスポンスが良く十分使えそうです。RAM が多い上に CPU 世代も違うので当然ですが、以前使っていた Nexus 7 (2012) の Linux (Ubuntu) や NetWalker、古い Raspberry Pi よりも快適でした。

下記はビルド時間の比較。

                    real   user      CPU         clock  core
-------------------------------------------------------------
Nexus 5 + MaruOS    3:29   4:42      Krait 400   2.3GHz  4
Raspberry Pi 2      5:51  20:08      Cortex-A7   0.9GHz  4
Raspberry Pi 3      2:18   6:57      Cortex-A53  1.2GHz  4

real, user 共に実行時間。(分:秒) 値が小さい方が高速。

実際の時間 (real) では Raspberry Pi 3 に敵いませんが Raspberry Pi 2 よりは早く完了しています。user 時間が最も短いため core 自体の能力は高いことがわかります。Thread の恩恵が少ないのでストレージが遅いか描画に取られているのかもしれません。

OpenGL API に対応しており GL 2.1 + ES 2.0 が使えます。ソフトウエア描画なので GPU は用いられていません。かなり低速ですが一応 3D 描画できました。1~2 fps 程度。

maruos05.jpeg


関連エントリ
Nexus 7 上に開発環境をつくる (4) Ubuntu 13.04
Nexus 7 上に開発環境をつくる (3) Ubuntu
Nexus 7 上に開発環境をつくる (2) Bluetooth と OpenGL ES 2.0
Android Tablet Nexus 7 上に開発環境をつくる (Ubuntu)
NetWalker PC-Z1 i.MX515 OpenGL ES 2.0 (2)