Android 16的Linux終端機不見得會成為Termux殺手。
Termux是一群開源軟體愛好者開發的Android終端機APP,擁有自己的一套套件庫。
把玩了Pixel手機上的Debian Terminal,暫時得出這個結論。因其使用AVF框架來執行一個Debian環境,用到類似ChromeOS crosvm的技術,是環境完整的、與Android隔離的虛擬機,能執行Systemd與Docker。
不過啟動需要一點時間。而且虛擬機與宿主機的隔離會造成效能下降。
要達成GPU加速雖然有可能,但效率不會比Termux高到哪裡去吧。他們還要處理將Linux的Wayland視窗顯示在Android合成器上的問題。
若只是單純要跑CLI的程式的話,Termux還比較簡單高效,因為它沒有虛擬化這層措施。所有的套件都是針對ARM64編譯的,臨時要開個SSH遠端連線的話,Termux啟動速度最快。
Termux的GPU加速還有Turnip與VriGL能用。
更根本的差異在於兩者的技術架構完全不一樣。Termux始終是Android原生應用,它只是建立一個userspace的程式,直接執行ARM64的ELF二進位檔,並沒有任何真正的虛擬化。它能夠以接近原生的效能存取檔案系統,也能直接利用Android系統提供的資源,因此啟動時間快、I/O延遲低、啟動CLI工具的體驗極佳。
Android 16 Linux終端機則走的是另一條路。就目前的設計來看,它是用完整的pKVM虛擬化 + VirtIO 介面。因此。每次啟動實際上是開機一個Linux虛擬機,I/O都要透過VirtIO執行。GPU圖處理需要處理 guest → host → Android SurfaceFlinger 這一大串資料路徑。虛擬機想使用宿主機的硬體界面(camera、USB、GPU)都需要再做轉接層,或者根本就被禁止存取。這種完整隔離當然安全,但代價就是你很難期待「即點即開、秒進shell」的體驗。
在效能方面,如果只是跑CLI程式,例如 Python scripts、SSH、git、編譯一些中小型程式碼,Termux大概都會比較快吧,因為它直接與Android核心互動,並不會有虛擬化 overhead。GPU加速也是:Termux透過 Turnip/VirGL,使用Android的OpenGL與Vulkan加速。雖然很hacky,但至少能跑,而且繞過虛擬化層後延遲更低。
就安全性方面,Linux虛擬機的客觀優勢很明顯。Termux再怎麼沙盒隔離,本質上還是一個Android APP層運行,其攻擊面跟一般APP差不多。而AVF是硬體等級的隔離,外加pKVM可以限制虛擬機的DMA權限、記憶體可見性、定義哪些 peripheral可使用。這對企業、平板、教育市場應該有很大幫助。
我想這個Linux終端機,更多的是為Android平板ChromeOS化的路上鋪路。這樣AVF的技術能給ARM處理器虛擬化提供一個統一的界面。