先看下效果:
可以看到运行很流畅,由于gif压缩小了尺寸,Aida64的信息界面看不清,显卡是virtGL,支持OpenGL,3D加速由宿主机Intel UHD 630提供,最后的游戏演示可看出很流程。
1. 前言 1.1 为什么需要Android 我日常使用的是一个直通了RTX2060s(矿卡)的Win11虚拟机,众所周知,在虚拟机里使用模拟器性能巨差,我试过夜神模拟器,启动慢不说,游戏电竞帧数,连抖音都卡顿明显。所以一个能在Hypevision中运行的安卓系统就是一个很好的选择。
1.2 选择哪一种 现阶段能作为选择的有3种方案:
ChromeOS:
首当其冲的就是基于Chromium OS的ChromeOS及其他发行版如国内的FydeOS,这系统号称老电影福音,具有完整的桌面环境并兼容Android应用,可惜对于显卡的兼容性不是很好,而虚拟机能使用3D加速的显卡,除了显卡直通外还有一种就是最近一两年积极维护的VirtualGL,所以ChromeOS在VirtualGL下运行是否可行还得画个问号,后面再折腾。
容器化方案 -Waydroid or Redroid:
第二种方案就是借助容器化cgroups,namespace 等内核技术的容器化方案,这种方案启动快速,可使用宿主机硬件资源,也能使用宿主机GPU进行3D加速, 但是对于Nvidia的显卡兼容性很差。运用pve创建一个lxc容器来运行docker redroid容器也能运行,后续折腾一下这个方案。
Android-x86:
Android-x86 在AOSP的基础上增加x86平台的支持,可通过native-bridge转义arm指令从而运行arm应用,同样称为老电脑福音,GPU兼容性较好,兼容VirtualGL ,今天我们就来在pve中尝试一下这个系统有什么妙处。
2. 安装Android-x86 2.1 镜像下载 打开Android-x86 官网,官网提供了2个下载分流,按需选择,我这里选择SourceForge
共有一下版本:
最新版本Release 9.0 基于Android 9.0 Pie,也是下载次数最多的版本,我们选择此版本。
选择 64 位ISO版本
2.2 创建虚拟机 创建虚拟机
选择刚才下载的镜像
选择 q35 机型和 OVMF 安装,显卡选择VirGL GPU
VirGL GPU 需要宿主机有有效的render节点设备,也就是说你的显卡需要正确的驱动了才能运行,通过ls /dev/dri 查看是否有 render* 字样。
存储给到32G即可,如果需要安装大型游戏可以给多一点。
安卓比较依赖CPU资源,如果运行的是arm应用更需要CPU的转译,所以这里给到 10 vCPU 。
内存给到 8G
Android-x86做了虚拟机的兼容,所以这里网卡选择效能最高的 VirtIO 。
点击完成之后选择“硬件” -> “添加音频设备”, 后端驱动器选择 “无”...