市面上已经有很多Android模拟器,花样很多,不外乎就是能在x86电脑上玩x86/ARM架构的
手机游戏,甚至多开、挂机都不是难事,多半也支援键盘映射。
但他们只支援Windows,有些可能还有MacOS,但支援Linux的是少之又少。在比较有名的模
拟器中,只有面向开发人员的Genymotion和Android Studio模拟器有提供Linux版。
所以,Linux用户想在电脑上跑Android甚至打游戏,可以找开源软件组成的解决方案,达成
类似“模拟器”的效果,顺便摆脱常规模拟器的各种业配和广告置入。
下表是目前2022年,在x86 Linux电脑跑Android游戏的3个开源方案,支援GPU加速和ARM转
译,有些方案Windows和MacOS也可以使用。
https://i.imgur.com/mbfxwRu.png
主要在Gentoo和Arch上测试,且Nvidia对Wayland和VirGL相性不好,使用Intel内显测试图
形效能。
## 1. Android-x86 + QEMU VirGL
https://i.imgur.com/oqxvnaY.jpg
用QEMU安装Android-x86的虚拟机,虚拟出完整环境。透过Linux的KVM核心模组,加上独显G
PU直通可大幅改善虚拟机的效能。或者编译支援VirGL的QEMU让虚拟机使用半虚拟化的GPU加
速。
此外Android 9的ARM转译器还算稳定,要执行手游是没问题的。ROM还可以尝试BlissOS团队
修改的版本。
由于QEMU可以只靠指令运作,写个指令稿多开是有可能的。Windows和MacOS也能执行QEMU,
甚至有人在Windows上成功跑过VirGL。
有些游戏虚拟机鼠标按了没反应,可以用QtScrcpy解决。
缺点同样明显,VirGL跟Nvidia(目前的)显示卡相性不合,且不一定每个发行版都有提供Vir
GL。不然一般发行版提供的QEMU就剩内建的QXL显示卡可以用,效能很差。
## 2. Waydroid
https://i.imgur.com/rfulVs3.jpg
从Anbox修改而来的容器方案,需要桌面环境使用Wayland显示协定才能运作。透过指令稿可
安装Magisk和GApps。
Waydroid比较省资源,玩游戏也最流畅。Waydroid甚至可以用在ARM架构的Linux装置上(如P
inePhone),使其支援Android APP。
缺点是Waydroid还在Android 10,ARM转译器问题一堆,导致目前只能稳定运作x86架构的AP
K,其架构也不适合多开。此外Waydroid不支援Nvidia显示卡也是个大问题。
## 3. ReDroid
https://i.imgur.com/FQXt3GC.jpg
透过Docker执行Android容器,再用Scrcpy连线到桌面,提供x86/ARM架构的映像档,可用来
架设云手机。其支援使用Nvidia的GPU加速,再用dockefile方式安装ARM转译器。
Docker容器的特性使其能够快速部署在服务器上,要多开也是有可能的。算是大部份Linux
发行版比较能正常运作的方案。
缺点是目前没有内建Google框架(专有软件),作者给的Google框架编译过程又有问题。某些
游戏在转译ARM指令时会吃掉大量RAM。
结论,Android-x86最稳固但难度高,Waydroid跨架构又省资源,ReDroid只差Google框架就
完美了。