QEMU Setup Guide
Run these commands to install QEMU. Note that KVM support is required to run our images (check that /dev/kvm exists).
sudo apt-get install qemu-system-arm ipxe-qemu seabios
sudo gpasswd -a $USER kvm
This is sufficient for running the Android images that use software rendering. The instructions in the rest of this page are only required for running the Android image with GPU support.
Building QEMU with virtual GPU support
QEMU in Debian/Ubuntu does not support GPU virtualization out of the box, so you will need to recompile it yourself.
Note that this is only necessary to run our reference image which uses hardware GPU support; it is not required for the image using software rendering.
A physical GPU isn't necessary to actually run the image, the virtual GPU will be emulated in software if no physical GPU is present. Note that QEMU GPU emulation works best with desktop OpenGL; OpenGL ES is poorly supported and will most likely not work.
sudo apt-get build-dep qemu
sudo apt-get install libvirglrenderer-dev
tar xvJf qemu-3.1.0.tar.xz
./configure --enable-gtk --target-list=aarch64-softmmu --enable-virglrenderer --enable-opengl
sudo make install
We recommend the Marvell MACCHIATObin development board for testing Android VMs with hardware GPU support, mainly because it has a PCI-E slot into which a GPU can be installed. Our setup is based on Debian Buster and uses an NVIDIA GT710 GPU.
- MACCHIATObin board
- 12V power supply or PSU
- USB keyboard and mouse
- PCI-E GPU, and a compatible screen
- SATA HDD or SSD
- Micro-USB cable for the serial console
- Ethernet cable for network connection
Step 1: Build and flash UEFI bootloader
Step 2: Install Debian
Flash Debian to a USB stick and boot it from the UEFI menu. Follow the Debian install guide and install a desktop environment (we recommend Xfce).
Install any additional firmware packages that may be required depending on your GPU.