這是一款無廣告的Android「模擬器」,或許可以作爲WSA替代品。
現在,Waydroid可以透過WSL在 Windows 11上執行。你甚至可以玩一些輕量級的Androiod遊戲。

在Windows跑Android模擬器有很多種做法,曾經Microsoft也有官方的「WSA」方案出現。
2024年,Microsoft宣佈,將於2025年中止支援WSA子系統,正式宣告系統內建的Android模擬器流產。只剩下第三方開源社群維護的WSABuilds還在運作。
Ivon想尋找一些WSA替代方案,因為WSA系統相對其他Android模擬器還滿乾淨的,沒有太多商業廣告置入。
所以這篇文章我要試試在Windows跑「Waydroid」。

Waydroid是Linux系統上的輕量Android容器(container),內建Play商店。概念上很像Windows的WSA Android子系統,目的是要讓Linux電腦能夠無縫執行Android APP。由於採用LXC容器技術,Waydroid執行時的性能開銷比虛擬機(virtual machine)要小很多。
那麼Waydroid能否在Windows執行?Microsoft有開發WSL技術,本質上是輕量Linux虛擬機,我們就能在裡面跑Waydroid。
Waydroid on WSL是在虛擬機裡面跑容器,而非是虛擬機裡面跑虛擬機。效率會比KVM的Android-x86要好些,效能不會損失太多。
加上WSL實現了WSLg的圖形介面,背後使用的是Wayland合成器,所以理論上可以讓Waydroid的畫面顯示在Windows。且有機會吃到Windows宿主機的GPU加速!
1. 測試環境 #
- Windows 11 26H1
- WSL Ubuntu 26.04
- 8GB以上RAM
- 10GB以上可用空間
根據我各種測試結果,目前Waydroid還沒有辦法達成GPU加速,不論是Intel還是Nvidia GPU都一樣。儘管WSLg為Linux虛擬機提供了D3D12轉譯層可是Waydroid讀不到(可以在Android安裝AIDA64查看GPU)。我猜缺少Vulkan支援?只有OpenGL。故Waydroid是用CPU渲染的Swiftshader,效能不彰。
2. 更換特製WSL核心 #
-
首先,在Windows安裝WSL
-
接著,Waydroid需要Linux核心支援Android binde才能運作。WSL的核心沒有啟用這選項。Waydroid開發者有提供預先編譯好的核心可以直接用,在Telegram頻道裡面。可是很久沒更新了。我這裡是自行編譯WSL核心。開啟Android Binder支援:Device Drivers –> Android –> Select “Android Binder IPC Driver” -> Save。
-
更換核心後,重新啟動WSL
3. 設定Wayland合成器 #
WSL透過WSLg提供基於Weston的Wayland合成器,並用PipeWire提供音訊。但是Waydroid的畫面不能直接顯示在上面,所以需要跑一個巢狀Wayland合成器來跑Waydroid,例如Weston或Cage。Cage因為啟動後沒有視窗邊框所以不推薦。
- 安裝Weston
sudo apt install weston- 新增Weston設定檔
vim ~/.config/weston.ini- 規範預設視窗大小。等會啟動Waydroid的時候不能任意調整視窗大小所以這裡要定義好。
[output]
name=X1
mode=1280x7204. 安裝Waydroid #
- 開啟WSL終端機,加入Waydroid官方套件庫,安裝Waydroid套件
sudo apt install curl ca-certificates lzip python3 python3-pip
curl https://repo.waydro.id | sudo bash
sudo apt install waydroid- 下載含有GAPPS的Waydroid映像檔
sudo waydroid init -s GAPPS -f
sudo systemctl start waydroid-container- 編輯Waydroid設定檔
sudo vim /var/lib/waydroid/waydroid_base.prop- 強制啟用軟體渲染
ro.hardware.gralloc=default
ro.hardware.egl=swiftshader- 啟動Weston,創造一個Wayland的畫布視窗
weston- 在Weston的視窗開啟終端機,啟動Waydroid主界面
waydroid show-full-ui- 參照Ubuntu設定Waydroid的過程,把libndk安裝,和將Google Play認證完成。
