Search code examples
androidvirtualboxscreen-resolutionandroid-x86

Switch android x86 screen resolution


I would like to use Android-x86 2.2 as an emulator on my Windows 7. I have downloaded VirtualBox and the ISO, and I've made a virtual machine with it, but I can't set the resolution to 320x480 or something similar.

The following tutorial "Using the Android-x86 Port as your Emulator" suggests to insert:

<ExtraDataItem name="CustomVideoMode2" value="320x480x16" />

to my .vbox file and I did it. Then I added UVESA_MODE=320x480 and vga=ask to the boot config. When it boots, I have to press Enter to see the available options, but there is no 320x480 among them. How can I get it to work?


Solution

  • To change the Android-x86 screen resolution on VirtualBox you need to:

    1. Add custom screen resolution:
      Android <6.0:

      VBoxManage setextradata "VM_NAME_HERE" "CustomVideoMode1" "320x480x16"
      

    Android >=6.0:

        VBoxManage setextradata "VM_NAME_HERE" "CustomVideoMode1" "320x480x32"
    
    1. Figure out what is the ‘hex’-value for your VideoMode:
      2.1. Start the VM
      2.2. In GRUB menu enter a (Android >=6.0: e)
      2.3. In the next screen append vga=ask and press Enter
      2.4. Find your resolution and write down/remember the 'hex'-value for Mode column

    2. Translate the value to decimal notation (for example 360 hex is 864 in decimal).

    3. Go to menu.lst and modify it:
      4.1. From the GRUB menu select Debug Mode
      4.2. Input the following:

      mount -o remount,rw /mnt  
      cd /mnt/grub  
      vi menu.lst
      

    4.3. Add vga=864 (if your ‘hex’-value is 360). Now it should look like this:

    kernel /android-2.3-RC1/kernel quiet root=/dev/ram0 androidboot_hardware=eeepc acpi_sleep=s3_bios,s3_mode DPI=160 UVESA_MODE=320x480 SRC=/android-2.3-RC1 SDCARD=/data/sdcard.img vga=864

    4.4. Save it:

        :wq
    
    1. Unmount and reboot:

      cd /
      umount /mnt
      reboot -f