I don't know how I missed this, but apparently VirtualBox finally supports a "Scale Mode."
I've always wanted this feature. Why, you ask?
One easy example is for running an old operating system (older than Windows 2000) that isn't supported by VirtualBox, so that there are no Guest Additions for it. Guest Additions for supported OS's install extra drivers for the virtual machine, so that when you put VirtualBox into "Full Screen" mode, the guest OS will automatically increase its screen resolution to fit your display. When it can't do that, it will just display the screen at its literal resolution and put a black margin to fill in the extra space.
Here is an expertly Photoshopped demonstration of what I'm talking about. If you were running a Windows 3.1 virtual machine at an 800x600 screen resolution, and you put the VM full-screen, this is what it would look like on your 1366x768 monitor:
Another example: even on supported guests, running an older game like Starcraft (which runs in a resolution of 640x480) had this problem too: if the VM is running Full Screen and you start Starcraft... instead of the game's display stretching across your whole monitor, it stays at 640x480 pixels and is centered on the screen. This sucks.
So it seems VirtualBox has finally added Scale Mode (available in the "Machine" menu along side Full Screen and Seamless modes). There's one quirk to it, though: Scale Mode and Full Screen don't work together. On my system, going into Scale Mode put the virtual machine into a window on my screen. This window could be maximized, but it couldn't be made full screen. So that sorta sucks.
Luckily, my Linux window manager (xfwm4, the window manager of the XFCE desktop environment) supports putting any window full screen, whether the window wants it or not. This means the window decorations are taken away and the contents of the window are resized to fill the display. Success! I can now run full screen, scaled resolution guest operating systems. :)
Scale mode with xfwm4's full-screen option gives you a "native" experience.
There are 5 comments on this page. Add yours.
nice one ;) now I just have to figure out if nautilus has that function
For the Windows users out there trying to accomplish the same thing in Virtualbox:
Disable 2d/3d acceleration or scale mode won't work properly (at least it didn't for me).
Download WinExp (http://www.nirsoft.net/utils/winexp.html) to get scale mode in full screen. It can remove the borders and title bar of the window. I believe you need to uncheck WS_BORDER, WS_DLGFRAME, and WS_THICKFRAME on the Style tab to get a full screen.
With this set up I am able to play old games like Diablo scaled to full screen with no black borders or windowed mode.
I almost didn't dare ask for a solution for Windows users, but thank you hellfire for this workaround!
It's a bit ridiculous that workarounds are necessary at all though. VirtualBox has the scaling code, and it has the full-screen code. All that would be needed is to make one not automatically disable the other. Judging that this very topic pops up on the VirtualBox forums about twice a month, it doesn't seem to be an entirely unpopular feature request either.
Then again, VirtualBox is open-source, right? So I guess complaining is not the right course of action =)
Maximizing a Vbox window also works in IceWM. I'm running IceWM on Ubuntu 12.04 LTS. The only setback is once scaled there's a lot of lag times, that I gave up on Scaled mode, and simply returned back to tweaking the resolution on the host to at least 800x600 to make StarCraft look larger. I guess the lags are caused by my underpowered PC. I'm still using an AMD 1.66GHz Sempron processor with NVIDIA card. At least without the scaled mode, it's quite responsive. Any opinions on this?
0.0150s
.