快轉到主要內容

樹莓派同時裝Linux與Android APP ~ Waydroid安裝教學

分類   資訊科技 虛擬機與容器技術
標籤   Raspberry Pi Waydroid Android Linux
🗓️ 民國113年 甲辰年
✍ 切換正體/簡體字
目錄

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

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

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

實測影片:

這樣你就可以同時跑Linux環境,又有Android APP輔助啦。不需要將系統完全替換成Android,亦可享受Android APP的便利。

且由於樹莓派本就是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
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」
分類   資訊科技 虛擬機與容器技術
標籤   Waydroid Windows Subsystem for Linux
Waydroid教學:在Arch Linux電腦跑Android APP
分類   資訊科技 虛擬機與容器技術
標籤   Waydroid Arch Linux Android
Darling幫幫我!Linux跑macOS的Xcode程式
分類   資訊科技 虛擬機與容器技術
標籤   Darling Xcode MacOS Linux

留言板

此處提供二種留言板。點選按鈕,選擇您覺得方便的留言板。要討論程式碼請用Giscus,匿名討論請用Disqus。

這是Giscus留言板,需要Github帳號才能留言。支援markdown語法,若要上傳圖片請貼Imgur或Postimages。您的留言會在Github Discussions向所有人公開。

這是Disqus留言板,您可能會看到Disqus強制投放的廣告。為防止垃圾內容,有時留言可能會被系統判定需審核,導致延遲顯示,請見諒。若要上傳圖片請善用圖床網站。