Change MacOS X guest screen resolution for VirtualBox

31

16

I have tried all alternatives and resources that I found on internet to achieve to change screen resolution in my MacOS X guest. I have the latest VirtualBox version (4.1.22) and I have MacOS X 10.6.3 Snow Leopard running in a vm guest.

Some solutions that don't work for me are:

  • Tuning virtual machine settings:

Adding and in the .vbox file, or running these two commands:

vboxmanage setextradata "MAC OS X" "CustomVideoMode1" "1360x768x32"
vboxmanage setextradata "MAC OS X" "GUI/CustomVideoMode1" "1360x768x32"
  • Editing Guest OS boot configuration:

Modify /Library/Preferences/SystemConfiguration/com.apple.boot.plist with these lines:

<key>Kernel Flags</key>
<string>"Graphics Mode"="1360x768x32"</string>
<key>Graphics Mode</key>
<string>1360x768x32</string>

Any other suggestion, something that I was missing.

Thanks in advance,

Pymoo

Posted 2012-09-24T12:06:08.893

Reputation: 313

have you installed the Guest Additions? – JoshP – 2012-09-24T20:52:34.593

2Until now, there are no Guest Additions for MacOS Guest. – Pymoo – 2012-09-25T08:58:07.463

Answers

20

I am using VirtualBox under Ubuntu Linux, and a Mac OSX (Mountain Lion) as guest OS.

For me, the full resolution started working when I did all of the following:

0) Install MultiBeast 4, making sure that the system boots from the virtual hard disk rather than from any booting CD. I followed the instructions here:

http://www.macbreaker.com/2012/07/mountain-lion-virtualbox.html

However, at the end of the procedure I did not have the full resolution, which for me must be 1920x1080x32.

1) In the virtual machine, edit these PLIST files,

sudo pico /Extra/com.apple.boot.plist/Library/Preferences/SystemConfiguration/com.apple.Boot.plist

In this file, inside <dict>...</dict>, insert:

<key>Graphics Mode</key>
<string>1920x1080x32</string>
<key>Kernel Flags</key>
<string>"Graphics Mode"="1920x1080x32"</string>

sudo pico /Extra/com.chameleon.Boot.plist

In this file, inside <dict>...</dict>, insert:

<key>GraphicsEnabler</key>
<string>y</string>
<key>Graphics Mode</key>
<string>1920x1080x32</string>
<key>Kernel Flags</key>
<string>npci=0x3000 darkwake=0 "Graphics Mode"="1920x1080x32"</string>

I noticed that I already had some "kernel flags", so I just added another one for "Graphics Mode". Also note that "Graphics Mode" has a space inside it.

2) Shutdown the virtual machine and do the commands

vboxmanage setextradata "MAC OS X" "CustomVideoMode1" "1360x768x32"
vboxmanage setextradata "MAC OS X" "GUI/CustomVideoMode1" "1360x768x32
VBoxManage setextradata MountLion VBoxInternal2/EfiGopMode 3

After this, the virtual machine boots with full resolution.

Now, this might be overkill, and the result could be achieved perhaps with fewer options, but I tried various things until it started working.

winitzki

Posted 2012-09-24T12:06:08.893

Reputation: 332

setting EfiGopMode is the only step necessary here – gordy – 2015-04-23T05:05:44.100

1Tried the same for Mavericks and did not work :( – Mukus – 2015-08-08T09:26:36.573

nothing is work with me with mac os x 10.8 – Girish Bhutiya – 2018-01-24T07:31:40.400

3

The new way is VBoxManage setextradata "VM name" VBoxInternal2/EfiGraphicsResolution HxV, as specified here and here. (I can't create an answer for lack of reputation)

– B3ret – 2018-02-20T12:08:24.180

3Thanks, it looks like this could be overkill. I got it working in far fewer steps: Just altered the "1920x1080x32" string to my resolution in /Extra/com.chameleon.Boot.plist and added the CustomVideo1 setting to the vbox file for the VM. – Sam Salisbury – 2013-03-11T15:23:22.623

2Thanks for the answer; I altered each of the settings noted above one at a time, and it didn't work until I got to the vboxmanage settings. However, I set CustomVideoMode1 and GUI/CustomVideoMode1 to 1920x1080x32, and EfiGopMode to 5 (someone on another forum mentioned that being correct, yet undocumented, for 1920x1080). Of course, I sub'd my own machine name in the commands. What I didn't understand, and didn't try, were the 1360x768 values if you're going for 1920x1080. – s.co.tt – 2013-11-01T19:22:28.480

31

VBoxManage setextradata "mac" "VBoxInternal2/EfiGraphicsResolution" "1920x1080"

did the trick for me on high sierra

cyptus

Posted 2012-09-24T12:06:08.893

Reputation: 783

3only this worked for me. – Tamás Barta – 2017-11-07T13:41:45.933

@TamásBarta are you working on high sierra too? – cyptus – 2017-11-07T13:53:08.033

1yes, from Arch Linux host – Tamás Barta – 2017-11-07T14:00:50.530

Didin't work for me on Ubuntu 17 – Chlebta – 2017-12-05T11:13:51.920

Worked for me; High Sierra, Arch host, 2560x1080 res. – jdersen – 2017-12-23T08:08:26.393

Worked for me, Arch host, Latest VirtualBox. – Babken Vardanyan – 2018-01-14T12:26:37.767

Was able to use VBoxInternal2/EfiGraphicsResoution to set the resolution higher than any of the EfiGopMode options. Set to 2560x1440 worked first time on XPS13 Ubuntu 17.10. – JinnKo – 2018-04-06T09:26:17.453

Worked for me, on the 2nd try. Wikipedia lists screen resolutions as 1920×1200 while the command accepts 1920x1200. × is not x, and the command expects the Latin letter "small x"! Arbitrary resolutions do not work, only (some of) the standard ones. – 18446744073709551615 – 2018-04-12T12:08:33.987

I was unable to change the resolution with VBoxInternal2/EfiGopMode. But this worked for me with VBoxInternal2/EfiGraphicsResolution! Ubuntu 18.04 / VirtualBox 5.2.10 / macOS High Sierra (10.13.4). Thanks. – Guicara – 2018-05-15T15:17:55.527

Worked for me. Thanks. VBoxInternal2/EfiGopMode can't work. – Googol Shan – 2018-06-08T08:17:52.947

This didn't work for me on High Sierra with latest VirtualBox on Windows 10 host.:( – stt106 – 2018-08-23T08:07:34.230

Works great on Linux host – xendi – 2019-03-11T22:46:45.917

18

For the record, I found this advice that allowed me to change the resolution:

VBoxManage setextradata "vmname" VBoxInternal2/EfiGopMode 3

where the last param is one of:

0 – 640×480
1 – 800×600
2 – 1024×768
3 – 1280×1024
4 – 1440×900
5 – 1920×1200 

I'm running VBox 5.0.14 on OSX 10.9 (host), and the guest is OSX 10.11.

tuomassalo

Posted 2012-09-24T12:06:08.893

Reputation: 423

4Are there higher resolutions using these numbered settings? – None – 2016-08-27T00:41:11.560

This works for the fixed resolutions available in the list. 1440×900 worked for me as it was same as my host resolution and i could move the guest to full screen and it was neat! – Vikram Rao – 2017-03-10T11:50:40.493

I have fedora 25 as host, and OSX sierra as guest (from vagrant box). This method worked for me, thanks a lot! – Pavel Davydov – 2017-04-20T09:25:49.760

This worked for me, with doing nothing else and setting nothing else. Also, do yourselves a favor and take a snapshot before. – kontur – 2018-01-13T12:02:20.437

2

I followed @winitzki and these are the steps I did.

I want to set the resolution to 1920x1080, change yours accordingly.

Backup files before editing.

  1. sudo vi /Extra/com.chameleon.Boot.plist

Add the following inside <dict></dict>

<key>Graphics Mode</key>
<string>1920x1080x32</string>

Update the value for Kernel Flags key with

"Graphics Mode"="1920x1080x32"

Final should have the following 4 lines (note some extra data in Kernel Flags, keep them as is):

<key>Graphics Mode</key>
<string>1920x1080x32</string>
<key>Kernel Flags</key>
<string>npci=0x3000 "Graphics Mode"="1920x1080x32"</string>
  1. Shutdown VM.

  2. Update VirtualBox config.

My VM Name is "MAC".

vboxmanage setextradata "MAC" CustomVideoMode1 1920x1080x32
vboxmanage setextradata "MAC" "GUI/CustomVideoMode1" 1920x1080x32
vboxmanage setextradata "MAC" VBoxInternal2/EfiGopMode 5

ATOzTOA

Posted 2012-09-24T12:06:08.893

Reputation: 187

On macOS 'El Capitan' in VBox 5.1 it is enough only last 3 strings about setextrasettings. – kyb – 2017-10-03T13:22:23.183