Android Genericbuilds on Qemu. Bliss 14 at the current moment does not work. Gearlock causes resizefs errors that do not occur in the current Project Sakura build. There is a version of Bliss 11.13 that does have a working Gearlock in the BLISS OS telegram group.
qemu-3dfxproject to get virgl working on windows. but at this current time. it has not been tested with any android generic project.
qemu-img, Navigate to the folder you want your image installed in and run the following command.
qemu-img create -f qcow2 Bliss14.qcow2 20G
qemu-img createis used to tell the program we want to create.
-f qcow2is used to tell it we want to create the image using qcow2 format.
qemu-imgsupports many formats so we want to specify this one.
Bliss14.qcow2is the name of the image
20Gis the image size.
-cdromwith the proper disk image, and cdrom image for your use.
qemu-system-x86_64is used to launch the program, there are various other commands that can launch different versions of Qemu, but this is the one we want in the majority of cases.
-enable-kvmtells Qemu to use KVM hypervisor, this is how we get near native CPU performance from our VM
-M q35This tells Qemu what Machine type to run as, we need to specify this as
i440fxwill not work it is simple too old.
-m 4096 -smp 4tells Qemu How much ram to use, and how many cores to add the the VM
-cpu hostThis tells Qemu what CPU it should be trying telling the guest it is. Generally it is the preferred option. However in case you start to get instability
-cpu qemu64may be the option you need as it presents a very bare bones cpu to the VM. see
qemu-cpu-modelsof the Qemu docs to learn more.
-bios /usr/share/ovmf/x64/OVMF.fd \is needed to tell Qemu to boot using UEFI, which is necessary as right now there is a bug that prevents android-generic based roms from being installed when in legacy mode. It is important to note that the location of this can vary depending on the host OS.
-drive file=disks/bliss14-k54-gapps.qcow2,if=virtio \is how we mount the disk. Using this method instead of
-hdalets us use virtio driver instead of emulated driver, giving us greater performance in the VM.
-cdrom images/Bliss-v11.iso \Just mount the iso for bliss, while we could use virtio driver for this, there is no real need to, because it's only use is installing the OS, this can be removed when the VM is installed
-usbis used to tell Qemu to add a USB controller, no real need to give it any additional arguments
-device virtio-tabletis one of two options for mouse capture the other being
-device virtio-mouseusing Tablet will allow you to use Qemu as if it were any other app, using
virtio-mouseon the other hand will capture the mouse, and lock it to the VM. and to free it you will need to click
ctrl+altto free it. You may use
usb-tabletto use a emulated mouse and tablet instead of the paravirtualized ones. which incurs a very minor preformance hit. but also a measurable latency one.
-device virtio-keyboardis for keyboard, no need to change anything here,
usb-kbdalso exists for using emulated keyboard instead.
-device qemu-xhci,id=xhcitells Qemu what USB version to use, no need to change this
-machine vmport=off \this option turns of vmware I/O emulation. this has caused me some bugs in the past, so I leave it off.
-device virtio-vga-glthis is needed for graphics acceleration, and while you can add a plethora of arguments, none are really beneficial at this time.
-display sdl,gl=onThis is used for the display, there are three main options here
-display spice-app,gl=onThe difference between these are some features. each one has pros and cons, feel free to experiment. Though do take note that even if you close the VM's window with
-display spice-app,gl=onthe VM will still be running, you will need to kill it from the terminal.
-net nic,model=virtio-net-pci -net user,hostfwd=tcp::4444-:5555This really long command is the network command,
-net nic,model=virtio-net-pciis what is used to add the network device to the guest in which case we are using virtio drivers again for best performance.
-net usertells Qemu how to pass the network through and the argument
hostfwd=tcp::4444-:5555forwards port 4444 and port 5555 together, meaning if we open another terminal and type
adb connect localhost:4444we can get an adb connection to the VM.
video=1920x1080to manually set resoltuon to 1080p. Change this value to a resolution that suits your needs.