, , ,

I have a Microsoft Surface Pro 4 laptop and although it is a very high resolution screen it is only 12″ big so I do most of my development on a second 24″ monitor.

I want to my Windows 10 virtual machine to run full screen on the 24″ monitor which is 1900 x 1200 pixels. The problem is that sometimes the VirtualBox guest does not detect the monitor properly and either it fills the screen but everything is so small I cannot see it (I assume it is picking up the ultrahigh resolution of the Surface Pro) or the whole guest screen appears as postcard in the middle of the monitor.

To fix this permanently you will need to make several changes.

Increase video RAM to 256 MB

The slider in the UI only goes up to 128 MB but this is not enough to reliably support scaling in the VirtualBox client. You need to increase this to the maximum permitted 256 GB.

  1. Power down the guest
  2. Go to your VirtualBox directory and enter,

vboxmanage.exe modifyvm "Your VM Name" --vram 256

You must verify that the the .vbox file in your virtual machine’s home directory now contains the line VRAMSIZE=”256″. If the update failed you will need to back up the .vbox file and make the update manually.

  1. start the guest
  2. reboot

Add the required video mode to the guest

In Windows 10 you right click the desktop and select “Display” to set the display resolution. Set this to your monitor’s native resolution. If the required video mode is missing then go to your VirtualBox directory and add your video mode. Here you can mine is 1920×1200.

  1. Power down the guest
  2. Go to your VirtualBox directory and enter,

VBoxManage.exe setextradata "Your VM Name" CustomVideoMode1 1920x1200x32

  1. Start the guest
  2. Right click the desktop > Display (or Control Panel\All Control Panel Items\Display\Screen Resolution) and select the correct screen resolution
  3. reboot

Set the VirtualBox Window setting correctly

You need to have “Auto-size Guest Display” and Full-screen Mode checked


Toggle the Maximum Display Size hint

If none of the above steps fixes your problem the final act of desperation is to toggle the Maximum Display Size hint.

  1. Power down the guest
  2. Open Oracle VirtualBox Manager
  3. File > Preferences > Display > Maximum Guest Screen Size should be “automatic”
  4. If it is not “Automatic” change it to “Automatic” and start the guest.
  5. If it is Automatic, change it to “Hint” and add your preferred values.
  6. Start the guest – we don’t expect this to work.
  7. Power down the guest
  8. Set it to “Automatic”
  9. Start the guest – we expect it to work properly this time.