內容目錄

樹莓派同時裝Linux與Android APP

Waydroid安裝教學

2024年3月31日·民國113年甲辰年
·
[切換繁體/簡體](javascript:loadJS())

分類 資訊科技虛擬機與容器技術

標籤 Raspberry Pi Waydroid Android Linux

目錄

想要把樹莓派變成Android遊戲機嗎?在你洗掉系統,準備安裝完整的Android系統之前,可以先試試Waydroid的解決方案。

img

Waydroid的作法是跑一個LXC容器,跟Linux主機共享核心,跑一個LineageOS系統,藉以執行Android APP。

Waydroid內建Google Play商店,支援3D硬體加速。實測在樹莓派5玩時下熱門的手遊《蔚藍檔案》,開中等畫質完全沒問題。

img

實測影片:

這樣你就可以同時跑Linux環境,又有Android APP輔助啦。不需要將系統完全替換成Android,亦可享受Android APP的便利。樹莓派5B (8GB) 透過Waydroid在Linux環境玩Android遊戲

且由於樹莓派本就是ARM架構,不用像x86 Linux PC需要libhoudini轉譯器才能玩遊戲,亦不會有x86轉譯ARM出現的不相容情況。

不過,Waydroid的取向比較像「遊戲模擬器」,適合執行文書程式和遊戲,雖然可以用滑鼠、鍵盤、手把操控,但無法存取樹莓派的相機和麥克風這類硬體裝置。如果你想要全功能的Android系統,請還是將樹莓派系統刷成LineageOS吧。(參見:樹莓派安裝LineageOS

1. 環境#

建議使用樹莓派4以後的板子跑,太老的板子可能會很卡。

硬體:樹莓派5,8GB版本,Raspberry Pi OS Bookworm

Waydroid版本:LineageOS 18 Android 11

你需要準備鍵盤和滑鼠,並將樹莓派連接到實體螢幕。Waydroid支援觸控,所以觸控螢幕也行。

或者你可以用Sunshine遠端桌面的方式遊玩。

2. 桌面環境與系統方面的調整#

  1. Waydroid需要Wayland協定才可以跑。但Raspberry Pi OS的預設桌面環境LXDE-pi-wayfire不穩定,Waydroid畫面出不來,所以我改為安裝標準的GNOME桌面。
sudo apt install  task-gnome-desktop
sudo systemctl enable gdm
  1. 重開機,登入時點右下角齒輪切換為GNOME工作階段
  2. 確認目前是Wayland工作階段:
echo $XDG_SESSION_TYPE
  1. 這版的Raspberry Pi OS設計比較特殊,需要啟用4K PageSize才可以讓Waydroid跑起來。以下指令是將kernel=kernel8.img加入到/boot/firmware/config.txt

!! NOTE: Only for Rasberry Pi OS Bookworm, not for Ubuntu!!

echo '# 4k pages
kernel=kernel8.img
'| sudo tee -a /boot/firmware/config.txt
  1. 再啟用PSI
sudo sed --follow-symlinks -i 's/quiet/psi=1 quiet/g' /boot/firmware/cmdline.txt
  1. 重開機,確認4K PageSize和PSI已經啟用
getconf PAGESIZE
ls /proc/pressure

3. 安裝Waydroid#

  1. 執行官方指令稿安裝
sudo apt install curl ca-certificates -y
curl https://repo.waydro.id | sudo bash
sudo apt install waydroid
  1. 安裝後的Waydroid會更新Linux核心模組,請重開機。
  2. 接著初始化系統,下載GAPPS版本的映像檔
sudo waydroid init -s GAPPS -f
  1. 如果你有啟用UFW防火牆,記得允許通過
sudo ufw allow 53
sudo ufw allow 67
sudo ufw default allow FORWARD
sudo ufw reload
  1. 啟動Waydroid
sudo systemctl enable --now waydroid-container
waydroid show-full-ui
  1. 初次啟動後請到系統設定把語言調成中文,並設定時區。

  2. 回到Linux宿主機,執行以下指令,取得Waydroid的裝置ID

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\";"
  1. Google官網註冊尚未驗證的裝置,等30分鐘後才可以使用Play商店。

  2. 有些遊戲可能會遇到無法讀取儲存空間的問題,請執行以下指令修正

sudo waydroid shell
chmod 777 -R /sdcard/Android
chmod 777 -R /data/media/0/Android
chmod 777 -R /sdcard/Android/data
chmod 777 -R /data/media/0/Android/obb
chmod 777 -R /mnt/*/*/*/*/Android/data
chmod 777 -R /mnt/*/*/*/*/Android/obb
  1. 其餘Waydroid技巧請參閱Waydroid使用技巧

參考資料#

相關文章

Windows 11用WSL跑Linux的Android容器「Waydroid」2024年3月14日分類 資訊科技虛擬機與容器技術標籤 WaydroidWSL

Waydroid教學:在Arch Linux電腦跑Android APP2023年6月6日分類 資訊科技虛擬機與容器技術標籤 WaydroidArch LinuxAndroid

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *