My recent comparison of Parallels Desktop and VMware Fusion attracted a lot of comments, many of which pointed out a third, free virtualization app for the Mac: VirtualBox. I confess that I’ve been blissfully unaware of VirtualBox, despite it being around for a couple of years. To be fair, the Mac version only came out of beta at the start of this month – at least, that’s my excuse! – and this is the version I’ll review here.
VirtualBox actually comes in two flavours: an open-source GPL edition, and a proprietary “VirtualBox Personal Use and Evaluation License (PUEL)” edition. The latter is free as in beer, provided of course it’s just for personal use or evaluation purposes. It also has more features than the GPL edition at the time of writing, including USB support and an RDP server for remote access (here’s a full list of the differences). For the purposes of this review I tested the PUEL edition.
VirtualBox supports a wide range of guest operating systems, including most flavours of Windows, many Linux distros, FreeBSD, DOS and even NetWare. VirtualBox includes tools for both Windows and Linux guests. These are called Guest Additions, and work in much the same way as Parallels Tools and VMware Tools – you get smooth graphics and mouse performance, as well as the ability to resize the guest desktop simply by resizing the VM window.
Creating a new VM. VirtualBox supports an impressive range of guest systems.
I gave VirtualBox a spin with both Windows 2000 and Ubuntu 7.10 guests. Installation of both operating systems was flawless. However, the Ubuntu installation process was noticeably slower than with VMware, taking well over an hour to install from the live CD.
The VirtualBox user interface isn’t too bad considering it’s free; however it does have a few annoyances, such as “Cancel” and “OK” buttons being the wrong way round in dialogs (from a Mac perspective), and somewhat geeky wording in the dialogs (not to mention the user manual). Mounting an .iso CD/DVD image is fiddly; you first have to add it to a list of known images before you can then use it. A bit pointless.
The VirtualBox machine selection window
Like Parallels’ Coherence and VMware’s Unity modes, VirtualBox has a Seamless window mode that hides the guest OS desktop, making it appear that the guest app is running within your Mac OS X UI. This works nice and smoothly on a Windows guest, but was a bit clunky on the Ubuntu guest, with bits of the desktop temporarily appearing as I dragged a window. (Then again, neither Parallels nor VMware support this window mode for Linux guests at all.) Unlike Parallels and VMware, you can’t use Exposé in Seamless mode.
Speaking of windows (with a small “w”), using Command-Tab to flip to and from VirtualBox was a bit ropey; I could switch to VirtualBox this way, but not from it.
With VirtualBox’s Seamless mode, you can run any Windows app – yes, even Solitaire! – without having to stare at the Windows desktop.
Networking in VirtualBox isn’t as smooth as it is with Parallels and VMware. While the latter both support NAT, bridged and host-only networking configurations, the Mac version of VirtualBox supports just NAT and host-only, though bridged networking is slated for a future release. For simple usage such as browsing the Web, NAT – the default option – is fine; however if you need to have your VM appear as a separate host on your network, you’re going to be struggling.
Unlike Parallels and VMware, you can’t drag-and-drop files or folders between the host and the guest. However, VirtualBox does support shared folders like the other two products, which is an easy way to get files from and to the guest OS without worrying about networking. Setting up a shared folder was easy enough, but I couldn’t see the folder in the Windows guest’s My Network Places, and mapping a drive to the shared folder was very slow – much staring at an hourglass cursor. It worked in the end, but then I also experienced tedious 5-minute hangs when accessing the shared folder. Not good.
Tedious freezes abound when trying to access a shared folder in Word
With the Ubuntu guest, I could mount shared folders using command lines such as sudo mkdir /mnt/mac_hd && sudo mount -t vboxsf ROOT /mnt/mac_hd. Unlike the Windows share, it worked quickly and without problems.
Speed-wise, I was very impressed with VirtualBox. I was expecting it to be slower than the commercial alternatives; however, it seemed on a par with them, and even beat them when using the PassMark PerformanceTest benchmarking software; Fusion returned a score of around 400, Parallels around 550, and VirtualBox around 730. (Higher is quicker.) I know benchmarking suites aren’t necessarily the best way to test VM performance, but still, it’s quite impressive.
Some tasks – such as mounting a physical CD-ROM and using network shares (described above) – can be painfully slow, and window resizing is sluggish, but the actual virtual machines chug along at a decent pace. I certainly had no problems opening large Office files and so on.
Considering it’s free, I was pleasantly surprised by VirtualBox 1.6. It’s a bit rough around the edges – especially on the UI and networking fronts – and there are some annoying glitches; for example, VirtualBox doesn’t always quit properly, and I have had it crash on me occasionally – but in daily use it’s fast, it’s pretty stable, and it gives both Parallels and Fusion a run for their money. Definitely worth checking out if you’re on a budget.