Waydroidでブルアカを快適にプレイしたかった

第9回豪華炎/防御演習がどう考えても俺の貧民向け泥タブ(Galaxy Tab S6 Lite)での動作を想定していなさそうな処理の重さであったため, Waydroidでブルアカを動かしてPCで快適にプレイできるようにしたかった. しかし起動自体はできたものの戦闘がクッソ重く, ストーリー読みと戦闘以外のデイリー消化以外には利用できそうになかった. 悲しい. 一応備忘録として書き残しておく.

環境

KDE Plasmaでは正常に起動するもののGNOMEではblack screenになってしまうという報告をTwitterで見かけたが, 俺の環境では特に問題なく起動できた.

やったこと

Kernel Modules

linux-zen を使用している場合は必要なカーネルモジュールが予め含まれているため特に何もしなくてよい.

Install Waydroid

AURからWaydroidをインストールする.

$ paru -S waydroid

Waydroidの開発元が提供しているLineage OSのimageにはGoogle Play Storeが使えるflavourが用意されているためそれを使わせてもらう.

$ sudo waydroid init -s GAPPS

Google Play Certification

$ sudo waydroid shell
:/ # ANDROID_RUNTIME_ROOT=/apex/com.android.runtime ANDROID_DATA=/data ANDROID_TZDATA_ROOT=/apex/com.android.tzdata ANDROID_I18N_ROOT=/apex/com.android.i18n sqlite3 /data/data/com.google.android.gsf/databases/gservices.db "select * from main where name = \"android_id\";"
android_id|xxxxxxxxxxxxxxxxxxx

出力されたAndroid IDを https://www.google.com/android/uncertified で登録する.

Install libhoudini

Arch WikiにはIt is recommended to use libndk on AMD CPUsとあるが, libndkだとログイン画面で「確認しました✅」の表示が出ず「Now Loading...」のままスタックしてしまったためlibhoudiniを使った.

libhoudiniのインストールにあたってはcasualsnek/waydroid_scriptを利用させてもらった.

$ ghq get https://github.com/casualsnek/waydroid_script
$ cd ~/ghq/github.com/casualsnek/waydroid_script
$ python3 -m venv venv
$ venv/bin/pip install -r requirements.txt
$ sudo venv/bin/python3 main.py install libhoudini

ネットワーク設定の修正

Docker/iptables使ってない場合はやらなくていいかも.

参照: https://github.com/waydroid/waydroid/issues/143#issuecomment-1520857943

$ sudo sed -i~ -E 's/=.\$\(command -v (nft|ip6?tables-legacy).*/=/g' /usr/lib/waydroid/data/scripts/waydroid-net.sh

その他メモ

参考文献