I previously used vga=ask and vga=<num> in Android-x86 6.0 to set the display resolution in VMWare and now in QEMU/KVM.

Now I downloaded and installed Android-x86_64 (CyanogenMod 13), in QEMU, in UEFI mode, to a GPT partition, and the option doesn't seem to work anymore. Instead it outputs:

error: invalid file name 'vga=ask'

There doesn't appear to be much information about this elsewhere. But I could find:

I tried wm size 1280x720 (in terminal emulator as root) and it kind of works. the resolution appears to change, but the display area doesn't and it becomes a pain to read anything. So I had it reverted with wm size reset.

I also tried UVESA_MODE=1280x720 and it also reports "invalid filename 'UVESA_MODE'".

There's a proposed solution at the 3rd url (debug.drm.mode.force 1280x720) but it also didn't work.

So, how to change the screen resolution properly?

[Update] I tested with a new, non-UEFI installation and the vga kernel option works there.

1 Answer 1


Found the solution.

Short answer: This line should go in the bootloader for UEFI mode:

set gfxpayload=1280x720


On x86 systems, the kernel will be booted using the 32-bit boot protocol. Note that this means that the ‘vga=’ boot option will not work; if you want to set a special video mode, you will need to use GRUB commands such as set gfxpayload=1024x768 or set gfxpayload=keep (to keep the same mode as used in GRUB) instead. (...) The linux16 command (see linux16) avoids this restriction.

GNU GRUB Manual 2.02: linux

See also: How Do You Pass VGA/VESA Modes with GRUB2? (Unix.SE).

  • Will this work with vmware fusion arm m1? Apr 21 at 8:04
  • @AshwinKumar if you're dealing with the same scenario, I'd say it's highly likely and worth a shot.
    – Marc.2377
    Apr 21 at 20:23

You must log in to answer this question.

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