Configuring Waydroid only session on Linux. Turning a Linux tablet into a semi-Android tablet.
WaydroidはAndroid APPの画面をLinuxデスクトップのWaylandコンポジター上に描画します。
では、LinuxにWaydroidをインストールし、ディスプレイマネージャー経由でAndroidシステムへ入ることはできるのでしょうか。
簡単に言えば、Linux PCの起動後にログインすると自動でWaydroidへ入り、Android-x86システムを操作しているような感覚にする、ということです。
これに何の用途があるのか…?私が思いつく用途は、Linuxタブレットを「一時的に」Androidタブレットとして使うことくらいです。
あるいは、Ubuntu TouchやpostmarketOSを入れたPinePhoneを一時的にAndroidスマホに変えるとか?
私はLinuxタブレットのPineTab 2を偽・Androidタブレットにするため、この方法を試しました。
Waydroid公式ドキュメントでは、この操作を"Waydroid only session"と呼んでいます。
厳密に言うと、Waydroidにはコンポジターがありません。起動するにはWaylandコンポジターに依存する必要があります。Waydroidをデスクトップ環境セッションとして起動できるDesktop Entryにして、Linuxのディスプレイマネージャーに認識させ、そこからWaydroidを起動します。
さらにWaydoridはLXCコンテナー内で動作するため、Linuxハードウェアのカメラやホームディレクトリのファイルにはアクセスできません。手動でbind mounutして使う場合は別ですが。
Waydroidにできることは限られています。選んだWaylandコンポジターが簡素すぎる場合、シャットダウンにはコマンドを打つ必要があります。
1. 実用性から考える#
先に結論を言うと、デスクトップ環境と組み合わせないWaydroid only sessionはおすすめしません。Waydroidは完全なAndroidシステムではないため、コンテナー内部から外側のLinuxシステムの音量、輝度、画面向きを制御できず、自力でシャットダウンもできません。画面ロックすら無理です。
結果はこうなります:
Waydroidをできるだけ全画面にしつつ、デスクトップ環境に多くのリソースを使わせたくないなら、Phosh、Sway、SXMO、Gamescopeなどの軽量Waylandコンポジターとの併用がおすすめです。これらはデスクトップ上に表示するコンポーネントを自由に組み合わせられます。
この方がWaydroidの挙動を制御しやすくなります:
2. Cage + Desktop Entryを追加#
Waydroid公式ドキュメントではGNOME Mutter、Weston、Wayfireの方法が紹介されています。KwinやSwayでも多分いけるでしょう?ただ、ここでの目的はできるだけ単純にして、Androidだけを起動し、他のコンポーネントは不要にすることです。
そこで私は、単一のWayland Clientを起動する小さなプログラムであるCageを使い、全画面のWaydroidセッションを起動することにしました。
- 起動後にWaydroidサービスが自動起動することを確認します
sudo systemctl enable waydroid-container- Cageをインストールします
sudo apt install cage- Desktop Entryを新規作成します。これはディスプレイマネージャーのメニューに表示されます
sudo vim /usr/share/wayland-sessions/waydroid.desktop- 以下の内容を入れます:
[Desktop Entry]
Name=WayDroid in Cage
Comment=Android OS in a container
Exec=/usr/bin/cage waydroid show-full-ui
Type=Application- 再起動します。ディスプレイマネージャーの画面でWaydroidのボタンをクリックして起動します。

3. 別の解法:Gamescope + Waydroid#
GamescopeはSteamクライアントのBig Picutre Modeをデスクトップ環境として使えますし、リソースもあまり食いません。つまりSteamにWaydroid起動用のショートカットを追加すれば、そこからWaydroidを起動し、SteamメニューでPCハードウェアを制御できます。
Steamクライアントを開き、ゲーム → 非Steamゲームをマイライブラリに追加、をクリックしてWaydroidを選択します。
その後、Gamescope上でWaydroidを起動します。全画面に入っても、Steamのメニューをクリックして他のゲームへ切り替えられます。ただし私のテストではWaydroidは正常に起動できないようでした。
4. デスクトップログイン後にWaydroidを自動起動する方法#
「デスクトップ環境へログインした後、Waydroidを自動起動してウィンドウを最大化したい」だけなら、XDG Autostartで十分です。WaydroidのDesktop Entryをコピーします:
cp ~/.local/share/applications/Waydroid.desktop ~/.config/autostart/以上の方法はWaylandセッションのデスクトップ環境に限定されます。
一部のWaylandコンポジターは既存のX11セッション上で起動でき、ネストされたWaylandセッションになります:Linux X11 Weston Waydroid


