Ivon將分享在Fedora設定Waydroid的過程。
Waydroid是一款讓你在Fedora電腦跑Android APP的技術。
內建Play商店,支援GPU加速,可以用來玩手機遊戲。
1. 前置條件#
測試版本:Fedora Workstation 42。本文內容亦適用Fedora Silverblue。
要使用GPU加速必須使用支援的顯示卡。目前Nvidia最新驅動版本575,Waydroid尚不支援Nvidia顯示卡。只能使用Intel或AMD顯示卡,內顯也可以。
Waydroid執行所需的binder核心模組,Fedora Linux已經有內建,無須做其他步驟。
Waydroid執行需要Wayland顯示協定。最新版Fedora提供的桌面套件,不論GNOME還是KDE Plasma預設應該都是使用Wayland了。用指令確認目前是否為Wayland工作階段:
echo $XDG_SESSION_TYPE
。
2. 安裝Waydroid#
- Waydroid已收入官方套件庫,用DNF安裝即可(如果是Fedora Silverblue則是要用
rpm-ostree
安裝)
sudo dnf install waydroid
sudo dnf install python3 python3-pip wl-clipboard xclip python-pyclip
在應用程式列表找到Waydroid,開啟初始化面板,第一個網址填入
https://ota.waydro.id/system
,第二個填入https://ota.waydro.id/vendor
,映像檔版本選內建GAPPS的,接著開始下載。下載完成後Waydroid會自己開啟。Waydroid第一次啟動可能會遇到各種SELinux錯誤,雖然已經安裝了
waydroid-selinux
套件不過這些訊息不會自己消失。需要開啟sealert界面,依照畫面指示執行指令,新增SELinux模組。
如果覺得問題太多,就將SELinux完全關閉。
- 設定Firewalld防火牆規則,允許Waydroid上網
sudo firewall-cmd --zone=trusted --add-interface=waydroid0 --permanent
- 不過我發現,如果有安裝Docker,Waydroid的網路會與其發生衝突,這時得編輯Waydroid網路設定:
sudo vim /usr/lib/waydroid/data/scripts/waydroid-net.sh
- 找到以下內容,將LXC的NFT停用,才能解決沒網路的問題。
LXC_USE_NFT="false"
- 重新啟動Waydroid。有時後要Linux重開機才能重新進入Android。
sudo systemctl restart waydroid-container
3. 安裝Play商店與ARM轉譯器#
Waydroid需要註冊裝置才可以使用Google Play商店。
還有,許多APP只有提供ARM架構的APK,對x86架構電腦來說,務必安裝ARM轉譯器,才能正常使用這些APP。
參見:Waydroid使用技巧