SteamOSにてAndroidエミュレーターを動かしてみた

ROG AllyにSteamOSを入れてみて、非常に満足なのですがAndroidのゲームも動かせたらなぁと思いしらべてみると、WayDroidと呼ばれるLinux用のAndroidエミュレータがかなりイケてるという情報。そして、それはつまりChrome OS FlexのLinuxコンテナ上でも動くのでは?

と考え、今回は取り敢えずROG Ally上のSteamOSにて、Androidエミュレータを動かしてみようと考えチャレンジしています。

今回利用するツール等

今回はインストールにあたっては、インストールスクリプトを使ってみたいと思います。ROG Allyの場合はデスクトップモードで、Chromebookの場合はLinuxコンテナ上にインストールして動作させることとなります。

Steam運営のValveが2024年7月にWaydroidをSteamに統合みたいなニュースもあり、注目のエミュレータなのですが、どこまで進展していることやら。WindowsならばBluestacksなどが使えるのですが、LinuxではWaydroidやAnboxが使える。Chrome OS FlexはAndroid実行機能が備わっていないので、この選択肢は大きなポイントになるのではないでしょうか?

マウスやキーボードがあるとセットアップしやすいです。

図:こんな感じで動きます

Chrome OS Flexで古いPCを蘇らせる

ROG Allyに本物のSteamOSを入れて使ってみた

ASUS Chromebook flip C436FAを業務で使ってみるテスト

SteamOSにインストールしてみる

今回、手持ちのROG AllyにすでにSteamOSがインストール済みであるので、この環境に対してWaydroidをインストールし使えるかチャレンジしてみます。Android環境そのものをエミュレーションする仮想環境なので、アプリはその中で動作する感じです。もちろんタッチパネル対応です。OSはLineageOSを利用しているようです。

実際スクリプトでインストールしてみたら、過去にあったGoogle Playの手動インストールや、ARM対応のトランスレーションのインストール、Android IDの登録などは不要でインストールしてすぐ使える状態でした。

図:Android13が動作してる

Waydroidのインストール

まずはインストールするためにSteamOSにて以下の手順で本体をインストールします。あらかじめ、SteamOSのkonsoleにてpasswdから管理者のパスワード設定は済ませておく必要があります。

  1. デスクトップモードに移行する
  2. ターミナルであるkonsoleを起動する
  3. 以下のコマンドを実行してスクリプトをダウンロードする
    cd ~/
    git clone https://github.com/ryanrudolfoba/steamos-waydroid-installer
  4. ダウンロードはすぐ終わる
  5. 次に以下のコマンドをターミナルから入力して実行する
    cd ~/steamos-waydroid-installer
    chmod +x steamos-waydroid-installer.sh
    ./steamos-waydroid-installer.sh
  6. 管理者パスワードを入力して実行する
  7. 色々とスクリプトが実行されて、SteamOS Waydroid Installerというのが起動する
  8. デフォルトで表示されてるA13_GAPPSを選んで、OKをクリックする。OpenGAPPSが入ってるAndroid13環境がインストールされます(Google Play Storeが入っています)
  9. 5分程度でインストールが完了します
  10. Gaming Modeに戻るか?というダイアログが出るので、Yesをクリックする
  11. Steamメニューをクリックし、ライブラリを開き、非Steamアプリを開く
  12. Waydroidというのが登録済みなので、これをタップするとWaydroidが起動します。

これで、本体のインストールは完了しました。

アンインストールする場合は以下のターミナルコマンド実行で可能です

cd ~/Android_Waydroid
./uninstall.sh

図:Waydroidインストーラが起動する

図:無事に起動しました

Google Play Store

タッチパネルやマウスで下から上に向けてスワイプすると、アプリ一覧が出てきます。その中にGoogle Play Storeが既に存在してるので起動します。

起動したら普通にGoogleアカウントでログイン、二段階認証を通過したら、I Agreeをクリックする。あとは画面の指示にしたがってセットアップを進めていくだけです。英語なので先に日本語セットアップしたほうがやりやすいかもしれません。

するとそのアカウントでインストールしてるものなどリストが表示され、次の画面はいつものGoogle Play Store画面となります。

猫あつめやウマ娘は取り敢えず問題なく動き、サウンドもバッチリでした。操作はマウスやタッチパネルがそのまま使えるので非常に便利。ここまで動くならば、Fire TV Stickのリモコン使ってHDMIで映像出力すれば、Fire TV Stick要らないかもしれない。

Google Play Booksで漫画もコントローラ操作で快適に読めました。野良アプリのWinlatorは動作せず。

図:何事もなくGoogle Playが起動しました

図:ねこあつめをインストールしてみた

注意点

バージョンアップで消滅する

SteamOSの仕様上、SteamOSのバージョンアップを実行すると、Waydroidの実行環境が消滅してしまいます。故にアップデート後は再度インストール作業が必要になります。

恒常的に使えるように、今後のSteamがWaydroidを統合してくれることを願います。あえてアップデートをせずでも良いのですが、セキュリティ面や性能向上などがSteamOSもあるので、こういったものであることは頭に置いておく必要があります。

ゲームコントローラーについて

当初、Asphalt Legends UniteでプレイしたときにはROG Allyのコントローラーが認識しませんでした。ただし、BluetoothやUSB接続のPS5コントローラーはバッチリ認識。タッチパネル操作も問題なし

一時、なぜかROG Allyのコントローラーでも操作できたのですが、故に現状は、据え置き機として割り切って使う必要があるようです。どうも以下の設定で起動して操作すると、なぜかROG Allyのコントローラが認識するようです。

  • コントローラーレイアウトは「高度のカメラ/エイムを持つゲームパッド」に変更する
  • 拡張ボタンを有効化はスイッチをオフにする
  • プロパティのコントローラーでは「Steam入力を無効にする」の設定にする
  • この状態でWaydroidを起動したら、Asphalt Legends Uniteを起動してコントローラー設定画面を開く
  • この状態ではタッチパネルのみの状態で、一旦Steamメニューキー(▶のキー)を押す
  • 再度、Waydroidに戻ると音が出て「コントローラーに接続」が出てきて、ROG Allyのコントローラーが何故か認識する
  • ここで操作設定をコントローラーに指定する

といった状態。但しSteam入力をオフにしてるので、スクショとかは取ることができません。

以下のスクショはAsphalt Legends Uniteの画面ですが、このゲームもかなり重量級のゲームなのですが、仮想環境内でバッチリ動作していました。もちろんGoogle Play Gamesからスマフォのデータを引き継げました。

図:ゲームパッドのレイアウトを変更してみたのだけれど認識せず

図:2つのコントローラはバッチリ認識

PS5のコントローラを他のデバイスで使う方法

シャットダウン方法

アプリとして動いてるWaydroid。どうやって終わらすのか?といったら、結構単純です。

画面上から下にスワイプすると、通知やその他の機能のオンオフなどが出てきますが、この画面内に下部に電源ボタンが付いています。そして、そこで電源を切るをクリックすれば、Waydroidが終了してSteamOSの画面に戻ってこれます。

もちろん▶キーを押してSteamに戻ってからアプリ終了という方法でも問題ありませんが、内部的にきちんとシャットダウンしたい場合はこの手法を使いましょう。

図:電源ボタンはここについています。

ネットワークが不安定

使っていて時々発生するのが「ネット接続が消える」という点。Androidエミュレータ側から見たら、Ethernetで接続してることになってるのですが、これが消滅するケースがある。結果ネット接続ができなくなる。特に起動直後は前述のゲームコントローラーが認識しないというケース同様に「▶メニュー」を一旦押して、ゲームに戻ることでコントローラー認識同様ネットが認識されます。

ネットできてなんぼのOSであるので、このあたりの不安定さが時期バージョンで改善してくれるとありがたいなと。一度認識さえされれば、SteamOSに戻らない限り特に障害はないものの、一度戻るとまた消えるというケースも遭遇してるので、このあたりは意識して利用する必要がありそうです。

Android環境のセットアップ

Android環境は英語版としてインストールされるため、UIの言語や仮想キーボードはすべてEnglishの状態です。その他の設定も含めて初期設定を行う必要があります。

UIの言語を日本語に変更する

まずはこの英語UIをどうにかしないと使いにくいです。以下の手順で変更します。

  1. 設定アプリを開く(Settingsというアプリがそれです)
  2. System→Languages & Inputを開く
  3. Languagesをタップして、Add a languageをタップする
  4. 一番下の方に「日本語」というのがあるので選択する
  5. Englishと日本語の順番を逆にすると、画面のUIが日本語化されます。」

図:言語を追加しておく

図:順番を変えると日本語化されます

キーボードレイアウトを日本語に変更する

続けて、仮想キーボードを日本語レイアウトに変更します。

  1. 設定アプリを開く(Settingsというアプリがそれです)
  2. システム→言語と入力を開く
  3. キーボードのところにある「画面キーボード」をタップする
  4. Gboardのスイッチをオンにする
  5. Gboardをタップする
  6. 日本語をタップして、12キーを外してQWERTYに自分は変更しています。
  7. 完了をクリックします

SteamOS側の仮想キーボードでの入力はできないので要注意。

図:Gboardの日本語QWERTYに変更

図:日本語入力中の様子

サウンドの音量

Youtubeアプリを開いてみて妙に音量が低い。SteamOS側音量はマックスなのに・・・と思って、設定アプリを開いてみてサウンドの設定を開いてみたら半分以下の音量がデフォルトになっていました。音量そのものはSteamOS側(つまりROG Ally)で音量の上下をコントロールするので、ここはすべてMaxの音量になるようにセットし直しました。

図:音量はマックスにしておく

開発者向けオプション

ADBデバッグなどを使えるようにしたい場合には、開発者向けオプションを有効化する必要があります。

  1. 設定アプリを開く
  2. デバイス情報をタップして、ビルド番号を連続タップし続ける
  3. すると有効化される
  4. 設定→システム→開発者向けオプションが使えるようになる

図:開発者向けオプションが有効化された

NASへ接続

仮想環境なのでちょっと不安だったローカルのNASに接続できるか問題。Google Play StoreからCX File Explorerをインストールして、普通にSMBにて探索。IPアドレス、ID, PWを入れて接続。

なんの問題もなく接続し、ラズパイで作ったローカルNASに接続できました。ネットワークのセグメントが違っていてNATになっていたらどうしようか?と思っていたのですが、普通にブリッジ接続されてるようです。

もちろん、CX File Explorer上からAPKを実行して、野良アプリのインストールも実行することができました。

図:無事にNAS接続できました

Raspberry Pi 4でファイルサーバを作成する

タイムゾーンの設定

タイムゾーン設定が米国のままになっているので、時間表記がおかしな状態になっています。これを直しておきましょう。

  1. 設定アプリを開く
  2. システム→日付と時刻を開く
  3. タイムゾーンを自動的に設定のチェックをオフにします
  4. タイムゾーンをクリックします
  5. タイムゾーンの地域を日本、タイムゾーンを東京 GTM+9:00にセットします。
  6. 自動的に日時が修正されます。

図:日本のタイムゾーンに指定し直します

色々アプリを試してみる

電子書籍を読む

Google Play Booksが自分の基本となる電子書籍アプリです。殆どこちらに寄せています。一部をAmazon Kindleで読んでいる状態です。これらの書籍データをダウンロードして、ROG Ally + Waydroid上で読めるかテスト。前述の注意点のネット接続が不安定な面があるので、そこは注意が必要です。タッチパネルは問題なく利用可能。

Google Play Booksに関しては問題なし。快適に読書が出来ています。しかし、Kindleはちょっと厄介です。

  • ゲームや他のアプリでは通信出来てるのに、このアプリ単体で通信が出来なくなるケースがある
  • Waydroid開始直後であれば安定して通信が可能。
  • 購入済みのライブラリもバッチリダウンロード可能。また対応してる書籍であれば追加でこの画面上から追加も可能
  • どうやら▶メニューで一旦SteamOSに戻ると通信が出来なくなることがある
  • コントローラーでページ送りなどの操作が可能です

図:Kindleで読書も可能です

図:Google Play Booksは安定

Gemini

Geminiアプリはどうでしょうか?生成AIアプリをROG Allyで使うというシーンは少ないかもしれませんが、実際に起動してみてマイクアイコンをクリックし、声で入力して実行してみました。もちろん仮想キーボードで手入力も可能です。

問題なくマイクからの音声が文字起こしされて、問い合わせや今日の天気など取得することが出来ました。Alexa的な使い方が可能ですね。ちなみに、アシスタント設定がデフォルトでGeminiになっているので、ウェイクワード設定VoiceMatchを設定すると、Alexaは完全に必要なくなります

一応、Gemini Liveも使えました。

図:Geminiアプリ上で音声入力で問い合わせ

図:OK Googleでもきちんと起動します

ゲームをプレイ

Waydroid上に割と重量級のゲームであるAsphalt Legends Uniteをインストール。Google Play Gamesのセーブデータもきちんと引き継いでプレイしてみました。

結論から言えば非常に快適。ROG Allyの物理コントローラもきちんと認識させることが出来たので、外部コントローラではないのですが、非常に操作性が良く、十分処理が追いついてるのでもっさり感もありません。これなら殆どのAndroidゲーム類は問題なく動作させることができるでしょう。

ROG Ally上のSteamOS上で、Waydroidを動かしAsphalt Uniteをプレイ

環境をバックアップする

SteamOSの場合、OSアップデートをすると環境が上書きされて消滅してしまいます。Waydroidの再インストール自体はそこまで手間がかからないですが、その中のVM環境は再構築は手間が掛かります。

そこで、事前にこのVM環境をバックアップしておいて、OSアップデート後に戻せるようにしておくと捗ります。通常は「/var/lib/waydroid/」の場所にイメージ類が格納されているようですが、SteamOSにインストールした場合は以下の場所に格納されています。

/Home/waydroid/custom

このディレクトリごとNASなどにコピーしておけばオッケーです。但し、Waydroidが起動状態でコピーすると壊れますので、事前にターミナルからセッションを止めるなり、SteamOS側でゲーム終了で終わらせておく必要があります。

sudo waydroid session stop

公式サイトではAndroidの設定アプリ上からSeedvault backupを使ってバックアップする手段を使ってねと書いてあります。12のバックアップコードを作るので若干面倒です。この時のパスフレーズと共に以下の場所のファイルをUSBメモリにでも格納しましょう。

この時バックアップ先はUSBメモリを選択して、右上の「⋮」をクリックし、今すぐバックアップを実行すると、作成されます。

関連動画

📌 #android on Steam Deck Waydroid Install Guide SteamOS | Steam Deck #Android #Waydroid OLED LCD

関連リンク

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)