How can I get VirtualBox to run at 1366x768?

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

The problem is, VirtualBox refuses to run the guest at 1366x768. When VirtualBox is "fullscreen", the guest is only 1360x768 -- 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 1366x768 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 1366x768?


Solution 1:

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.

Solution 2:

After burning an entire weekend on this, I finally found the culprit: VirtualBox's 3D acceleration.

If you go into your virtual machine's Settings > Display, and uncheck "Enable 3D Acceleration", then the guest will successfully run at 1366x768.

Solution 3:

I solved the same problem on Fedora 22 KDE by using following command:

$ VBoxManage setextradata global GUI/MaxGuestResolution any
$ VBoxManage setextradata "Win 10" "CustomVideoMode1" "1366x786x32"

Note that your virtualbox window should be closed.

Solution 4:

I had it working by doing this:

  1. Shutdown VM

  2. Navigate to C:\Program Files\Oracle\VirtualBox\

  3. Shift + Right-Click > Open command window here

  4. Run command VBoxManage.exe setextradata "Windows 8 RTM Evaluation" CustomVideoMode1 1366x768x32

  5. Start VM

  6. Launch Desktop, Right-Click > Screen Resolution

  7. Choose 1366 x 768

But, it broke...

I updated VirtualBox and installed new Guest Additions. Now it's using "VirtualBox Graphics Adapter for Windows 8" and I cannot select a wide resolution.