VirtualBox

imgvirtualbox1For many Mac OSX users there’s often occasions where you need to run some software or other that is only provided for under Microsoft Windows. The list of software for which that applies is thankfully getting smaller, but a couple of examples are paramount for me, as a web developer.

  • Internet Explorer 6/7/8 (though 6 doesn’t feature so often)
  • QuickBooks.

The two software titles listed above don’t run under OSX. I could switch to MYOB for Mac for the accounting software, but I’ve spent the last 10 years on QuickBooks and although it really annoys me at times, I still find I don’t want to switch something so fundamental to the operation of my business. Plus I just don’t have time to relearn something that I really only just barely understand anyway (ie, book-keeping).

That’s where virtualization comes in. There’s a number of virtualization products for the Mac, VMWare Fusion, Parallels Desktop and VirtualBox. In this review I will concentrate on VirtualBox because it’s the virtualization software I use. I’ve not tried VMWare Fusion so if you have and have an opinion please feel free to leave a comment below. I have tried Parallels and it offered some nice features and the price isn’t bad – but it’s hard to compete with free.

That’s right, VirtualBox is free for personal use, which is the target audience for this review. If you’re a large corporation or have need of multiple instances of VirtualBox on various hardware configurations – or you’re using it to run virtual servers for a commercial entity, you should get the VirtualBox Perpetual License which is still only $50. If you don’t need USB or RDP support you can use the Open Source Edition.

What’s good about VirtualBox?

It runs guests at near native speed if you set it up right. I’ve given some speed tips below.

The Seamless Mode is really good, and works nicely even on dual display (though the guest will not span displays). Though Vista’s sidebar shows the Vista background instead of the OSX background which looks a bit odd.

The networking setup works very easily – no need to set anything up. Even the bridged networking (which under VMWare Player was a nightmare) works straight out the box – and will bridge the Airport too, which VMWare Player wouldn’t.

What’s not so good about VirtualBox?

There’s no integration with the Mac Dockbar, which is a feature that was extremely nice in Parallels. That’s to say, in Parallels, if you fire up Internet Explorer and run your Parallels Desktop in ‘Coherence’ mode then you get an IE icon on your dockbar while it’s running. It’s quite nice because it makes these apps look like they’re just part of OSX although under the hood they’re actually running in a virtualised Windows machine. Virtualbox doesn’t provide that level of integration at all.

Shared Folders can run very slowly. I’ve tried just about everything to get Shared Folders to run at a sensible scale. Usually I just run a network drive to a different machine because it’s quite bizarrely quicker.

Safari on the host has some strange issues when VirtualBox is running. If you’re using Safari 4 with the ‘Top Sites’ screen as the default when you open a new window or tab then there’s some curious screen corruption when VB is running. I also find Safari pauses a lot more regularly with the SBBOD when VirtualBox is running. The problem seems to be reduced if you run the MacBook Pro with the higher performance graphics card so I think there’s some infighting going on between the two apps for control of the video card.

The 3D support is flakey at best. I’ve tried installing a number of games onto my VirtualBox installation (some of which are reasonably old and not all that demanding on the graphics front) and they just simply fail to work – or worse they crash the VM.

USB device capture can be a royal pain in the butt. I haven’t experienced it personally but my wife has regularly complained when she’s tried to use her USB printer. Sometimes OSX grabs it first and it can’t be assigned to VirtualBox, and other times it just seems to work perfectly. It’s a bit hit and miss.

CD/DVD interaction can be a bit weird too. If you’ve mapped the CD/DVD drive to VirtualBox then you won’t be able to eject it under OSX. That’s pretty sensible, but it does add a couple of steps to getting a CD out of the drive as you have to first unmap it from VirtualBox and then wait for the icon to appear on your OSX desktop before right clicking and ejecting.

Some Speed Improvement Tips

I’ve successfully run Windows XP, Windows Vista and CentOS Linux as guests inside VirtualBox at very nearly native speed. However, there’s some things you can do to improve the situation even further.

If it’s available, tick the VT-x / AMD-V box. This should then allow the Nested Paging box to be ticked too, which you should do. This seemed to make a massive difference to Vista performance under VirtualBox.

If you can run your guests with SATA emulation instead of IDE emulation you’ll notice still more snappiness from your guests, plus they seem to interact better with the host allowing host based software to run better too. Some instructions for how to do this can be found here – be sure to check the comments section too as it has some extra tips.

Ensure you give your guest OS sufficient RAM allowance. If it has to start swapping to the Virtualised Disk you’ll just about kill the performance. But don’t give it too much RAM allowance either, otherwise your host OS will have to start swapping. On my 4G MacBook Pro I give Windows XP 1G and Vista 2G – though I generally only run 1 at a time which means the host doesn’t get too starved.

I’m not sure if defragging the guest hard drive is worthwhile?

Please feel free to leave comments with further tips for improving VirtualBox speed.

2 Comments

Add a Comment

Your email address will not be published. Required fields are marked *