メインコンテンツへスキップ

WaydroidをLinuxデスクトップ環境として使い、起動後そのままAndroidシステムに入る

·
カテゴリー スマートフォン 真のLinuxスマホ
タグ Waydroid Wayland
目次

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セッションを起動することにしました。

  1. 起動後にWaydroidサービスが自動起動することを確認します
sudo systemctl enable waydroid-container
  1. Cageをインストールします
sudo apt install cage
  1. Desktop Entryを新規作成します。これはディスプレイマネージャーのメニューに表示されます
sudo vim /usr/share/wayland-sessions/waydroid.desktop
  1. 以下の内容を入れます:
[Desktop Entry]
Name=WayDroid in Cage
Comment=Android OS in a container
Exec=/usr/bin/cage waydroid show-full-ui
Type=Application
  1. 再起動します。ディスプレイマネージャーの画面でWaydroidのボタンをクリックして起動します。

3. 別の解法:Gamescope + Waydroid
#

GamescopeはSteamクライアントのBig Picutre Modeをデスクトップ環境として使えますし、リソースもあまり食いません。つまりSteamにWaydroid起動用のショートカットを追加すれば、そこからWaydroidを起動し、SteamメニューでPCハードウェアを制御できます。

  1. Steamクライアントを開き、ゲーム → 非Steamゲームをマイライブラリに追加、をクリックしてWaydroidを選択します。

  2. Gamescope Desktop Session

  3. その後、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

関連記事


最後までお読みいただきありがとうございます。本サイトでは公開コメント欄を設けていません。私はソーシャルな反応やアクセス数を追い求めるためではなく、自分の考えを誠実に探求するために文章を書いています。記事を丁寧にお読みいただいたうえで、ご感想やご意見をお寄せいただければ幸いです。誤字・誤り・技術的な問題などを見つけた場合、またはフィードバックを共有したい場合は、Aboutページに記載しているメールアドレスまでお気軽にご連絡ください。