第9回豪華炎/防御演習がどう考えても俺の貧民向け泥タブ(Galaxy Tab S6 Lite)での動作を想定していなさそうな処理の重さであったため, Waydroidでブルアカを動かしてPCで快適にプレイできるようにしたかった. しかし起動自体はできたものの戦闘がクッソ重く, ストーリー読みと戦闘以外のデイリー消化以外には利用できそうになかった. 悲しい. 一応備忘録として書き残しておく.
環境
- Distro: Arch Linux
- Kernel: 6.9.3.zen1-1
- DE: GNOME (Mutter 46.2-1)
- CPU: Ryzen 9 7950X
- GPU: RX 6800 XT
- Waydroid 1.4.2
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
その他メモ
- Ctrl + 右クリ + マウス上下でカフェのズームイン/アウト.
- キーマッピングしたい場合はXtMapperを使うのが良さそう? (どうせまともに戦闘はできないので試してない)