I'm running Android-x86 in QEMU/KVM by means of Virtual Machine Manager. This is a virtual machine I previously ran from a Windows host with VMWare. I managed to run it in Linux QEMU/KVM for now, but the 2D performance is very very bad.

Here's the vm code (/etc/libvirt/qemu/generic.xml):

OVERWRITTEN AND LOST. Changes to this xml configuration should be made using:
  virsh edit generic
or other application using the libvirt API.

<domain type='kvm'>
  <memory unit='KiB'>2097152</memory>
  <currentMemory unit='KiB'>2097152</currentMemory>
  <vcpu placement='static'>4</vcpu>
    <type arch='x86_64' machine='pc-i440fx-2.9'>hvm</type>
    <boot dev='hd'/>
    <vmport state='off'/>
  <cpu mode='host-model' check='partial'>
    <model fallback='allow'/>
  <clock offset='utc'>
    <timer name='rtc' tickpolicy='catchup'/>
    <timer name='pit' tickpolicy='delay'/>
    <timer name='hpet' present='no'/>
    <suspend-to-mem enabled='no'/>
    <suspend-to-disk enabled='no'/>
    <disk type='file' device='disk'>
      <driver name='qemu' type='vmdk'/>
      <source file='/vms/android-x86-6.0-rc1.vmdk'/>
      <target dev='sda' bus='sata'/>
      <address type='drive' controller='0' bus='0' target='0' unit='0'/>
    <controller type='usb' index='0' model='ich9-ehci1'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x7'/>
    <controller type='usb' index='0' model='ich9-uhci1'>
      <master startport='0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0' multifunction='on'/>
    <controller type='usb' index='0' model='ich9-uhci2'>
      <master startport='2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x1'/>
    <controller type='usb' index='0' model='ich9-uhci3'>
      <master startport='4'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x2'/>
    <controller type='pci' index='0' model='pci-root'/>
    <controller type='sata' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
    <controller type='virtio-serial' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
    <interface type='direct'>
      <mac address='52:54:00:06:96:fd'/>
      <source dev='enp10s0' mode='bridge'/>
      <model type='rtl8139'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    <serial type='pty'>
      <target port='0'/>
    <console type='pty'>
      <target type='serial' port='0'/>
    <channel type='spicevmc'>
      <target type='virtio' name='com.redhat.spice.0'/>
      <address type='virtio-serial' controller='0' bus='0' port='1'/>
    <input type='mouse' bus='ps2'/>
    <input type='keyboard' bus='ps2'/>
    <graphics type='spice' autoport='yes'>
      <listen type='address'/>
      <gl enable='no' rendernode='/dev/dri/by-path/pci-0000:01:00.0-render'/>
    <sound model='ich6'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
      <model type='qxl' ram='131072' vram='131072' vgamem='131072' heads='1' primary='yes'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
    <redirdev bus='usb' type='spicevmc'>
      <address type='usb' bus='0' port='1'/>
    <redirdev bus='usb' type='spicevmc'>
      <address type='usb' bus='0' port='2'/>
    <memballoon model='virtio'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>

I tried a VMVGA card previously but after reading here I changed it to QXL and enabled Spice, as indicated in the code. Also I manually assigned 128MB of virtual graphics memory and rebooted the host.

Still, 2D graphics are very sluggish. Is there any solution, apart from installing VMWare or buying a second graphics card?

[Edit]: My hardware is 8GB of RAM and the R9 280x GPU (AMD GCN 1.0, 1070 Mhz, 3GB GDDR5). Also since the performance was very good under VMWare, I'm convinced this is a software issue. I'm using Arch Linux 64-bit as host with the open-source AMDGPU drivers.

  • How much RAM and graphics RAM do you have? 64-bit or 32-bit? What kind of graphics card?
    – cat
    Jun 18, 2017 at 3:10
  • It kind of sounds like your graphics card's RAM is exhausted, or you are using an integrated mobile graphics card, like Intel integrated. Your integrated graphics and the ~500MB of main memory it gets would be forced to process both your desktop and the desktop of the VM at the same time, and that might be part of the cause.
    – cat
    Jun 18, 2017 at 3:12
  • @cat I just updated the question to address these.
    – Marc.2377
    Jun 18, 2017 at 17:40

2 Answers 2


The 2d graphics performance was substantially improved when I moved the qcow2 disk image to an SSD.

I moved it back to HDD and it was slow again. Tested with other Android-x86 installations as well (both 32-bit and 64-bit). Confirmed.

No clue why.


I don't have enough reputation to comment, but its 2021 and still VMWare drivers are the best for Android x86 (I use 9.0r2-k49) on Windows as well as Linux. Virtualbox drivers are a complete mess, QEMU runs like a handicap on Windows and virtio-vga on Linux gives comparable performance, but with screen tearing.

I think virglvulkan might be the solution in the future

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .