Those who need or want to run Windows (and other operating systems) on an Intel-powered Mac are probably familiar with both Parallels Desktop for Mac and VMware Fusion 2, the two leading OS X virtualization solutions. VirtualBox, from Sun Microsystems, is a third option that, unlike the aforementioned competitors, is completely free. So how well does a free virtualization solution stack up to the pricier alternatives? The answer to that question depends on what you're looking for in your virtualization solution.
If you're looking to use your Boot Camp partition as a Windows virtual machine (VM), or to play DirectX 3D games inside your Windows VM, then you'll have to use Parallels or Fusion -- VirtualBox doesn't support either of these features. Also, as of version 2.0.4, VirtualBox doesn't support 64-bit guest operating systems (on the Mac), nor the use of more than one virtual CPU.
If your needs don't include any of the above requirements, VirtualBox is a very good (though somewhat feature-limited) virtualization solution, and an incredible value given that it's freely distributed. Overall, I found VirtualBox to be a bit rougher around the edges than its competition, but the VMs I created all worked fine and with more-than-decent performance, which may be all you need in a virtualization solution.
The first apparent rough edges are found in the VirtualBox virtual machine library, which is what you'll use to manage your VMs. Although it's certainly functional, the overall look is a bit busy, with colorful icons that seem out of place. In addition, there are areas with non-OS X-standard behavior, such as the Details page, which uses bold blue text for section headers, each of which is also an (unmarked) clickable button.
Setting up a new VM is more complex than it is in Parallels or Fusion, though it's still not overly difficult. There are just more screens to jump through to get the job done. If you're setting up a Windows VM, you'll probably have to do some manual tweaking to get it working how you'd like -- for example, both sound and USB support are disabled by default, so a quick trip to the VM's settings panel will be required to get those things working. One setting unique to VirtualBox is the ability to use SATA emulation for hard drive connectivity. The SATA emulator, as opposed to the usual IDE, will provide better performance with lower CPU usage, but only in operating systems (Vista, XP SP2 with added drives) that fully support it.
After you've created the VM, the next step is to install the OS within that VM. Both Parallels and Fusion offer an easy install mode for Windows that handles all interaction for you automatically; VirtualBox doesn't. This means you must wait around and respond to various prompts that appear during the Windows install process. Thankfully, installation is something you should only have to do once, so this isn't a huge problem. I installed Windows XP Pro SP3, Ubuntu 8.04, and Fedora Core 9 without any difficulties. VirtualBox supports about 35 different OSes, including Windows Server 2003 and 2008, and many varieties of Linux.
Using the VMs
When running the Microsoft Office suite within a Windows XP Pro SP3 VM, I found the speed of VirtualBox to be fine; documents and spreadsheets opened quickly, and scrolling speed wasn't an issue (though it was slower than in either Parallels or Fusion). I also tested OpenOffice in Ubuntu Linux 8.0.4 and Fedora Core 9, and found that basic office functions worked just as well in both Linux variants. Note that when using OpenOffice, you may lose certain features in Word or Excel; most basic files worked just fine in my testing.
For a more strenuous test, I played a number of high-definition 720p Windows Media videos in the Windows XP Pro VM. These videos played reasonably well on my 2.66GHz Mac Pro, with no visual distortion and just a bit of choppiness when viewed in full-screen mode. The videos did, however, put quite a strain on CPU usage, driving the VM well over 100 percent much of the time. Fusion 2, by comparison, played the files back smoothly and with less overall CPU usage. I also played the same videos on my 15-inch 2.6GHz MacBook Pro (non-unibody), to see how it compared with the Mac Pro, and the results were about the same: no dropped frames, a bit of choppiness, and relatively high CPU usage.
Like Parallels and Fusion, VirtualBox includes a set of extensions (for both Windows and Linux) that improves graphic and mouse performance. Installing the tools is done via a menu item in Windows and Linux, though you must also use a Terminal window to complete the job in Linux. When installed, the mouse cursor moves seamlessly from Windows to OS X and back, and you can resize the VM's desktop by dragging the corner. Resizing, however, was slow on both test machines, with the screen taking several seconds to redraw to the point where I had dragged the mouse. After it redrew, it looked fine.
I was able to print to networked printers in Windows XP Pro without any trouble, though printing to a USB-connected printer is more effort; there aren't any passthrough printer drivers, so you'll need to unplug and replug your printer after launching the Windows VM; this will let the VM recognize the printer, so that you can then use it for printing within Windows.
I was impressed with VirtualBox's snapshot (backup) capabilities. Although it lacks the automated snapshots found in Fusion 2 and Parallels 4, you can create multiple snapshots, and those snapshots are small: a snapshot of my 10GB Windows XP Pro VM, for instance, took up only about 120MB of drive space. During my time with VirtualBox, I didn't have to use any snapshots, as I only experienced one VM-related crash (Fedora Core 9 crashed while running GIMP, an image manipulation program), and that one didn't cause any permanent issues in the VM.
Overall, I was impressed with the performance and stability of the VirtualBox VMs -- while things such as window resizing and scrolling long documents are slower than they are in Fusion or Parallels, this doesn't really impact the usability of the VMs for typical office tasks, as they're not so slow as to be painful.
The missing niceties
If there's one area where you notice the difference between VirtualBox and the paid-for alternatives, it's in what I call the niceties. These are the aspects of the programs that make working with VMs easier, and it's in this area that VirtualBox falls short of the competition.
VirtualBox offers Seamless mode, which is much like Fusion's Unity or Parallels' Coherence modes, in that it hides the VM's desktop and leaves its windows intermingled with the OS X windows. However, unlike the others, all windows in Seamless mode are on one "layer." If you enter Seamless mode with both Internet Explorer and Outlook running, for instance, then click on one of those windows, both will come forward. Similarly, you can't minimize a Windows (or Linux) window to the OS X dock, nor will Seamless mode work with multiple monitors. (Full-screen mode has the same one-monitor restriction.)
You can't drag and drop files or folders from a VM to OS X, nor can you launch VM apps from OS X (or vice versa). Setting up shared folders is possible, but it's somewhat less intuitive than it is in Fusion or Parallels. Finally, VirtualBox won't automatically remap your keyboard shortcuts, so you'll have to remember to press control-C to copy, instead of command-C.
Macworld's buying advice
If your virtualization needs don't include top-shelf performance, DirectX support, 64-bit guest OSes, or multiple-CPU support, VirtualBox is a viable alternative to both Fusion and Parallels. You'll probably spend a bit more time getting things set up, and you may miss some of the niceties that the paid-for competition offers. Once you're up and running, however, VirtualBox's VMs worked quite well, and I found them more than capable of handling routine computing tasks in both Windows and Linux.
[Rob Griffiths is a senior editor for Macworld.]