How to get VirtualBox to run at 1366×768


I'm trying to run Windows 8 in VirtualBox. My laptop's display is exactly 1366×768. Windows 8 disables some of its features if the resolution is less than 1366×768, so I need to run the guest OS fullscreen.

The problem is, VirtualBox refuses to run the guest at 1366×768. When VirtualBox is "fullscreen", the guest is only 1360×768 — six pixels too narrow. So there's a three-pixel black bar at the left and right sides of the display.

This user had the same problem, but the accepted answer is "install the Guest Additions", which I've already done; that got me to 1360, but not to 1366.

According to the VirtualBox ticket tracker, there used to be a bug where the guest's screen width would be rounded down to the nearest multiple of 8, but they claim to have fixed the bug in version 3.2.12. I'm using version 4.1.18 and seeing the same problem they claim to have fixed, so either they broke it again, they were wrong about ever having fixed it, or my problem is something else entirely.

This answer suggested giving the VM 128MB of video memory, and claimed no problems getting 1366×768 afterward. When I created the VM, its display memory was already defaulted to 128 MB. I tried increasing it to 256MB, but with no effect: the guest is still six pixels too narrow.

My host OS is Windows 7 64-bit, and I'm running VirtualBox 4.1.18.

How can I get VirtualBox to run my guest OS fullscreen at my display's native resolution of 1366×768?

Best Answer

While the VM is running, you can also tell the guest OS to change the resolution by using:

VBoxManage controlvm "Name of VM" setvideomodehint 1366 768 32

The 32 at the end denotes the display color depth.