23

I created an Ubuntu 14.04 desktop VM using VirtualBox, and installed guest additions. By default, at startup, VBox wants to present the guest's GUI in a parrticular size that is smaller than my actual monitor. But when I switch to either full screen or scaled mode, instead of resizing everything smoothly (like a vector image) it makes everything fuzzy and grainy, and hard to look at.

What can I do to fix this?

pnongrata
  • 2,982

6 Answers6

32

When using VirtualBox the default resolutions are limited to just a few common resolutions. In order to enable the native resolution of your monitor you'll need to properly install the Guest Additons. Here's how you do this within Linux:

  1. Mount the Guest Additions by selecting Devices --> Insert Guest Additions CD image... Ya I know it's fedora
  2. run the VBoxLinuxAdditions.run script within the newly mounted cd
  3. wait for it to do it's business and then restart the Guest OS

After you run this, VirtualBox should automatically resize the Guest resolution to the window size. Pressing right Ctrl + F will toggle full screen of that monitor.

James Mertz
  • 26,529
7

The window size is controlled by the VM's screen resolution. If you manually resize the window on the host you'll only zoom on the image returned by the VM, so of course this gives a very bad image quality.

Change the screen's resolution in the VM's configuration, either via the GUI, or directly via the command line with xrandr.

First run xrandr with no arguments, it'll display all outputs (in this case they're just the virtual outputs emulated by VirtualBox).

Screen 0: minimum 320 x 200, current 1024 x 768, maximum 8192 x 8192
VGA1 connected 1024x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
...

Now run xrandr --output <output> --size <resolution> and replace "output" and "size" with the connected output that you got from the previous command (in this case VGA1) and the resolution you want to set, I recommend setting it just a bit lower than your actual monitor to leave space for the taskbar and Virtualbox window title bar.

Example : xrandr --output VGA1 --size 1920x1040.

Once you set the resolution in the VM, VirtualBox will automatically resize its window on the host.

By the way, here's the official Ubuntu documentation about changing the screen's resolution.

2

Was the installation of guest additions successful? You can check this by going to View menu and see if 'Auto-resize guest display' is enabled. Click this.

Without the successful installation of guest additions, VirtualBox does not re-adjust guest resolution automatically, so graphics inside VM may look grainy/broken on bigger screen.

NOTE: I have VirtualBox 4.3.10 and Ubuntu 14.04 amd64 and guest additions don't work properly on it for me too, so I assume I will have to wait for next VBox version.

1

Unfortunately, xrandr failed to work for me. I tried changing the guest resolution with GUI, but a higher resolution was not listed.

Installing the VirtualBox Guest additions auto-magically solved my problem. To do this, click the Devices menu > Insert Guest Additions CD Image... (or you can press Host + D). Ubuntu will ask you if you want to allow the CD to automatically run a program. Confirm and provide your password (the root password) and you are done.

You can use the full resolution of your Host display by entering fullscreen (Host + F) after rebooting the Guest system.

EDIT:

It appears that the Guest Additions are analogous to installing driver software. The manual says

They consist of device drivers and system applications that optimize the guest operating system for better performance and usability.

You might have experienced something similar if you ever tried adding a graphics card to your system. Before you install the proper drivers, the screen resolution is low, and everything is pixelated (if there is such a term).

I believe that this is a safety measure, to ensure that the OS will work with all kinds of displays.

0

For me following these steps helped me get the full screen...

  1. Install VirtualBox Guest additions
  2. Reboot guest
  3. From view menu, select "Auto-resize guest display"
  4. From View menu -> "Virtual screen 1", choose the resolution you're looking for
Hem
  • 163
  • 1
  • 6
0

You can run this command:

VBoxmanage.exe setextradata "Your VM image name here" CustomVideoModel 19200x1200x32
kenorb
  • 26,615
P0ppy
  • 7