快轉到主要內容

Linux跑Android APP,Ubuntu安裝Waydroid教學

· 民國114年乙巳年
·
切換繁體/簡體
分類   資訊科技 虛擬機與容器技術 Linux玩遊戲
標籤   Waydroid Ubuntu Android
目錄

「Waydroid」是一個讓您在Linux系統跑Android APP的軟體。

Waydroid可以登入Google Play商店下載APP,安裝許多常用APP。而且Waydroid支援GPU硬體加速,所以可以玩許多款Android手機遊戲。

使用Waydroid下載Play商店的通訊軟體Line
透過Waydroid在Linux玩手機遊戲FGO

Waydroid的系統基於LineageOS建置,背後技術源自Canonical的容器技術「Anbox」,由新的開發團隊將其功能變得更加完善。因為Waydroid使用LXC容器技術,再加上能使用GPU加速,所以執行效能比Android-x86 QEMU/KVM虛擬機更加高效。

就Waydroid的設計來看,這個專案很像Windows 11的Android子系統(WSA),讓使用者可以一邊操作Linux,一邊使用Android APP。在眾多的Linux系統Android模擬器解決方案中,Waydroid算是能跟桌面系統整合比較好的。

本文讓Ivon說明如何在Ubuntu安裝Waydroid。

1. 前置條件
#

請確認符合以下條件之後再安裝Waydroid。

CPU架構
#

電腦架構部份,Waydroid支援x86與ARM架構的Ubuntu電腦,安裝套件時程式會自己判斷。

不過要注意的是,許多手遊只提供ARM架構的APK,沒辦法在x86電腦使用。x86架構的電腦在安裝Waydroid之後,還要手動安裝ARM轉譯器,用於將ARM指令翻譯為x86,但這可能會增加APP執行時出錯的機率。因此,理想上ARM架構的Ubuntu電腦更好,這樣就不需要裝ARM轉譯器了。

GPU型號
#

確保您不是用Nvidia顯示卡,目前Waydroid只支援Intel和AMD的顯示卡(內顯也可以)。根據開發者說法,由於Nvidia閉源驅動不照圖形驅動程式標準走的緣故,Nvidia顯示卡會黑畫面。現在最新Nvidia閉源驅動版本575,此問題尚未解決,進度可到Github查詢

因此Nvidia顯示卡的用戶有三種解決方法:一、使用內顯跑Waydroid 二、使用軟體渲染(不推薦) 三、使用其他Android模擬器方案

部份Intel與AMD的CPU是有內顯的,但或許你沒有在用。使用vulkaninfo --summary指令印出目前電腦的主顯示卡型號。

如何確認電腦是否有內顯?使用sudo lshw -C display指令印出電腦所有的顯示卡,看看有無Nvidia以外的GPU型號,例如我Intel i5-7400 CPU的就是UHD 630,這個內顯跑一些輕度手遊是夠的。到電腦主機板設定,切換為內顯開機就可以使用Waydroid了。

註解:有人做了一個waydroid-choose-gpu.sh指令稿能夠選取Waydroid使用的GPU,似乎能解決Nvidia + Intel配置的顯示卡問題,在Nvidia作為主顯示卡的情況下強制使用Intel顯示卡渲染,但因為Waydroid需要桌面合成器協助,執行時使用的GPU必須跟桌面合成器是同一個,因此這個指令稿似乎只在Intel + AMD的配置有效。

Linux核心版本
#

Waydroid執行依賴Linux核心的binder模組。Ubuntu 24.04以上安裝的Linux 6.0核心應該都有啟用,無需做其他設定。

如果不放心,使用以下指令確認binder模組是否有載入:

sudo lsmod | grep binder

Wayland顯示協定
#

Waydroid需要使用Wayland顯示協定的桌面才可以啟動。

Ubuntu預設桌面環境是GNOME,請確保現在的桌面環境使用Wayland工作階段,開啟終端機,輸入以下指令查看:

echo $XDG_SESSION_TYPE

若顯示的不是wayland代表您還在用X11,請登出Ubuntu,在輸入密碼的時候點選右下角齒輪,選擇Ubuntu或者不帶Xorg的選項登入。

註解:如果不方便或者不想使用Wayland工作階段,你也可以安裝Weston合成器套件,並打weston指令,在X11環境啟動巢狀Wayland工作階段,再開啟Weston的終端機,達成在X11工作階段跑Waydroid的作法。

2. 安裝Waydroid
#

此處的指令只適用Ubuntu與Debian,其他Linux發行版請參考官方文件

  1. 安裝以下套件,包含Waydroid以及後續指令稿會用到的套件
sudo apt install curl ca-certificates lzip python3 python3-pip
  1. 安裝以下套件,讓Linux與Waydroid共享剪貼簿,其中一個Python套件因為Ubuntu套件庫沒有收,所以要用pip強制安裝
sudo apt install wl-clipboard xclip

sudo pip install pyclip --break-system-packages
  1. 執行Waydroid官方套件庫的指令稿,安裝Waydroid。安裝指令稿應會自動偵測系統版本
curl https://repo.waydro.id | sudo bash

sudo apt install waydroid
  1. 初始化Waydroid,下載內建GAPPS的映像檔。如果不加入-s GAPPS參數的話,Waydroid就會下載不含GMS服務的vanilla映像檔。
sudo waydroid init -s GAPPS -f
  1. 啟動Waydroid容器服務
sudo systemctl start waydroid-container

# 開機自動啟動
sudo systemctl enable waydroid-container
  1. 在應用程式列表點選「Waydroid」的圖示,啟動Waydroid。這個圖示的功用等同執行waydroid show-full-ui指令。

  2. Waydroid預設界面是英文的,請到Android系統設定修改語言,拉動滑桿將繁體中文放到頂端,並調整時區。

  3. 如果Waydroid無法連上網路,請嘗試開放UFW防火牆通訊埠,再重新啟動Waydroid:

sudo ufw allow 53

sudo ufw allow 67

sudo ufw default allow FORWARD

sudo ufw reload

sudo systemctl restart waydroid-container

3. 安裝後建議做的事情
#

Ivon在此強烈建議您安裝Google Play商店並通過裝置認證,還有安裝ARM轉譯器。

參見Waydroid使用技巧

參考資料
#

Waydroid官方文件

回報bug請到Waydroid的Github儲存庫

相關文章

Waydroid使用技巧:解決沒網路、觸控沒反應、註冊Play商店、安裝ARM轉譯器
分類   資訊科技 虛擬機與容器技術
標籤   Waydroid Linux Android
Waydroid教學:在Arch Linux電腦跑Android APP
分類   資訊科技 虛擬機與容器技術
標籤   Waydroid Arch Linux Android
樹莓派同時裝Linux與Android APP ~ Waydroid安裝教學
分類   資訊科技 虛擬機與容器技術
標籤   Raspberry Pi Waydroid Android Linux

此處提供二種留言板。點選按鈕,選擇您覺得方便的留言板。

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