Android 16 の Pixel 付属の機能で GPU 対応の Linux Desktop を使う

Google Pixel シリーズ用 Android 16 には試験機能として Linux のコマンドライン開発環境が入っています。2025年 12月の更新で Linux の GUI アプリケーションも実行できるようになっていたので試してみました。機種依存ですが GPU によるハードウェアアクセラレーションにも対応しているようです。

Android Developers Blog: Android 16 QPR2 is Released

↓ Pixel 10 Pro 上で Firefox, gimp, vscode を起動してみたところ。外部ディスプレイではなく Pixel の実機画面です。

Pixel 10 Pro 上で Firefox, gimp, vscode を起動してみたところ

↓ Pixel 10 Pro は GPU アクセラレーションに対応

Pixel 9a にはこの設定が無く、ソフトウエアレンダラが使われているようです。Linux の GUI アプリケーション自体は 9a でも実行できます。

Linux ターミナルのインストール

  1. 画面自動消灯の時間を 30分に変更
    • 設定 → ディスプレイとタップ → 画面自動消灯 → 30分を選択
    • ※ インストールが完了したら元の時間に戻しておいてください
  2. 開発者向けオプションを有効化
    • 設定 → デバイス情報 → ビルド番号 の欄を 7回タップ
  3. 開発者向けオプションから Linux ターミナルを有効化
    • 設定 → システム → 開発者向けオプション → Linux開発者環境 (試験運用版) を有効化
    • これで Pixel に「ターミナル」アプリが追加されます
  4. Linux のインストール
    • 「ターミナル」アプリを起動して「インストール」をタッチ
    • ホーム画面には自動的に追加されないので、アプリケーションドロワーから「ターミナル」のアイコンを探してください
  5. ターミナルが起動したら以下のコマンドを実行
sudo apt update
sudo apt upgrade -y
sudo apt install fonts-noto-cjk

これで Linux ターミナルが使えるようになります。GUI アプリケーションも利用可能です。

また以前のバージョンとは異なり、Linux 向けストレージの容量制限がなくなっていました。そのため設定からストレージサイズをいちいち拡張する必要はなく、そのまま利用することができます。

※ 画面の自動消灯時間を元に戻しておくのを忘れないようにしてください。

GUI アプリケーションの利用

ターミナルアプリの右上 (赤枠部分) に GUI アプリケーション用のボタンがあります。

最初は真っ黒で何も表示されていませんが、GUI アプリケーションを起動するとこのエリアに表示されます。CLI ターミナルとは別物で、ソフトキーボードの仕様も違います。Adnroid の「戻る」操作でターミナルに戻ります。

右端にマウスらしきアイコンがありますが、ソフトウエアマウスではないので注意。これは外部接続した Bluetooth / USB マウスを Linux 側でキャプチャするかどうかの切り替えです。

デフォルトでは Android 側のマウスカーソル(↓下の画像)が表示されます。この場合左ボタンしか反応せず、カーソルも Linux 画面外に移動可能で Android の操作ができます。

マウス切り替えのボタンをタッチすると Linux VM のマウスカーソル(↓下の画像)の直接操作になり、右ボタン、中ボタンが使えるようになります。カーソル移動範囲も Linux GUI 画面内に制限されます。GUI アプリケーションの操作時はこちらに切り替えておくことをお勧めします。

横全画面に切り替えた場合はソフトウエアキーボードが使えないので、Bluetooth / USB のキーボードやマウスが必要です。Android の「戻る」操作で元の画面に戻ります。

Linux 版 firefox を使ってみる例

ターミナル側で以下のコマンドを実行します。

sudo apt install firefox-esr -y
firefox-esr

これだけでは何も表示されないので右上のアイコンから GUI アプリケーション画面を開きます。以下のように起動できていることがわかります。

画面タッチでも使えますがマウスがないと細かい操作ができません。GUI 画面上で Firefox のウィンドウを閉じられない場合は、ターミナル側から Ctrl + C で止めてください。

Linux Desktop を試す

例にあげた firefox のように、そのまま起動すると全画面になります。複数のアプリケーションを実行できるように設定を変えてみます。

(1) /etc/systemd/user/weston.service を編集

「ExecStart=」の行があるので、--shell= 以降行末までを desktop に置き換えます。

ExecStart=/usr/bin/weston --modules=systemd-notify.so --xwayland --shell=kiosk-shell.so --continue-without-input

↓以下のように変更

ExecStart=/usr/bin/weston --modules=systemd-notify.so --xwayland --shell=desktop

(2) ~/.config/weston.ini を以下の内容で作成

[shell]
locking=false
panel-position=bottom
panel-height=32
fullscreen=false

panel の位置を下に移動したのは、一部のアプリケーションでタイトルバーに重なってウィンドウ操作ができなくなるためです。

(3) 一旦ターミナルアプリを終了します

すべてのターミナルで exit を実行して Linux ターミナルアプリを閉じます。Android の通知領域に以下のように「ターミナルを閉じています」と表示されている場合は、この通知が消えるまで待ってください。

(4) ターミナルアプリを再起動します

通知が消えて完全に終了したことを確認したら、再びターミナルを起動して GPU アプリケーション画面を開きます。しばらくすると weston のシンプルな Linux デスクトップ画面が表示されています。

  • 最初画面が真っ暗で何も表示されていない場合はしばらく待ってみてください。
  • それでも表示されない場合は画面のタッチ、外部接続マウスの操作やマウス切り替えボタンのタッチ、横全画面に切り替えてから「戻る」などの操作を行ってみてください。一定時間操作が無いために画面が暗転していることがあります。

画面が表示されたら、以下のようにタスクバー左端のアイコンから GUI 版ターミナルを開くことができます。

これで Linux の GUI アプリケーションをウィンドウモードで起動することができるようになります。

気がついたことなど

「GPU アクセラレーテッド レンダラ」の場合、アプリケーションによっては表示が崩れることがあります。Firefox など。「ソフトウエアレンダラ」に切り替えると安定します。

ソフトウエアレンダラの場合は Linux 側のマウスカーソルの追従が悪くなるようです。少々操作しづらいですが、ウィンドウの移動や範囲のドラッグなどマウス左ボタン押しながらの操作はスムーズなので描画が遅いわけではないようです。

ストレージ容量の制限はなくなりましたが、Linux VM 側で利用可能な RAM は以前と変わらず 4GB のままのようです。Pixel 10 Pro (RAM 16GB) でも Pixel 9a (RAM 8GB) でも同じ 4GB でした。

GUI アプリケーション側のソフトキーボードは、ターミナル側と操作方法が若干違います。Ctrl などの修飾キーがロックされずに同時押しです。

以下は Pixel 9a で firefox, gimp, vscode, blender を起動してみたところです。(ソフトウエアレンダラ)

Pixel 9a で firefox, gimp, vscode, blender を起動してみたところ

まだ不安定な部分もありますが、今後いろいろと改良されていくものと思われます。使用できるアプリケーションも増えますし、Pixel スマートフォン単体だけで PC のように使えるのは魅力的です。

コメントを残す

CAPTCHA