Can't change screen resolution of Android-x86_64 installed in UEFI mode I previously used vga=ask and vga=&lt;num&gt; 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:


What happened to vga=ask in newer kernels? (Unix.SE)
Grub: Legacy 'ask' parameter no longer supported (Superuser)
android-x86_64-5.1-rc1.img --- change resolution (Android-x86 at Google Groups)


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 link (debug.drm.mode.force 1280x720) but it also didn't work.

So, how to change the screen resolution properly?

[Update] I tried on a new installation and the vga kernel option works in non-UEFI mode.
I got it.

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

set gfxpayload=1280x720


Explanation:


  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).