Just after I reviewed Sun’s VirtualBox virtualization solution, the company released version 2.1 which added two major new features along with the usual assortment of bug fixes. Since the release of 2.1, there have been four minor releases, bringing VirtualBox up to version 2.1.4, which is the one I used for this updated review.
What’s new in this version?
The big news in this release is support for Intel’s VT-x hardware virtualization on the Mac. To the end user, support for hardware virtualization brings two main benefits: you can now install and run 64-bit versions of various operating systems, and you should see better stability as less virtualization code needs to be run. Sun points out, however, that hardware virtualization doesn’t automatically mean you’ll get a faster virtual machine, as there’s overhead associated with using hardware virtualization. Sun also made changes to support the improved VT-x features in Intel’s latest CPUs—the Nehalem line—so users with new Mac Pros should see an added performance boost).
I ran a new set of PerformanceTest benchmarks in Windows XP Pro in VirtualBox 2.1.4, with VT-x enabled, and found the results to be generally consistent with VirtualBox 2.0.6—somewhat faster in some areas, slower in others, but no real overall change. I also installed 64-bit versions of Ubuntu and GenToo Linux as a simple test, and both seemed to work fine, at least to the relatively-basic limits of my Linux abilities.
The other big news is experimental support for OpenGL acceleration in Windows virtual machines. (There’s still no DirectX acceleration in VirtualBox, though the user manual states that it will be added in a future release.) Because this feature is labeled experimental, it’s turned off by default, but it can be easily enabled in the virtual machine’s settings panel. While testing the OpenGL acceleration, I did have one hard crash that brought down the virtual machine, so the experimental label is definitely merited.
To test the OpenGL acceleration, I ran the OpenGL portion of the CINEBENCH test suite on my 2.66GHz quad core Mac Pro. I ran the test in Windows XP Pro in VirtualBox 2.1.4 with OpenGL acceleration disabled, and then again with acceleration enabled. I also ran through the same test in Windows XP Pro in Parallels Desktop 4 (which also features OpenGL acceleration), in XP Pro natively via Boot Camp, as well as in OS X itself, to see how things compared. Rather than relying on the scores presented by Cinebench (which may be affected by timing issues in the virtual machine), I used a stopwatch to time how long it took to complete the tests on each setup, and then compared the results.
CINEBENCH OpenGL animation test
||XP Pro via
||OS X 10.5.6
Time in seconds; lower is better.
Testing by Rob Griffiths, using a 2.66GHz Quad Core Mac Pro with 8GB of RAM.
When run without OpenGL acceleration, VirtualBox took 300 seconds to complete the OpenGL animation test. With OpenGL acceleration enabled in VirtualBox, the time dropped to about 45 seconds, a tremendous improvement. Parallels Desktop did better yet, rendering the scene in about 26 seconds. So in terms of OpenGL speed, VirtualBox is well behind Parallels Desktop, though miles better than it was without any acceleration. But, as expected, the best performance can be found when running natively—the OpenGL test takes around 14 seconds in XP Pro via Boot Camp, and only 11 seconds in OS X. So if you need the most OpenGL speed possible for your Windows-based application, Boot Camp is your best bet, followed by Parallels Desktop and then VirtualBox.
VirtualBox 2.1.4 also features what sun calls “full support” for VMware’s VMDK and Microsoft’s VHD virtual machine formats—full support means that you can now create snapshots of VMDK-formatted virtual machines, which you couldn’t do with prior versions of VirtualBox. I downloaded the VMware-formatted Drupal JumpBox virtual appliance, and was able to use VirtualBox’s snapshot feature on the Drupal appliance.
There are also changes in the networking code to improve performance and stability, and experimental support for SCSI controllers. As a typical end user, you probably won’t be taking advantage of these changes directly, but changes that improve performance and stability are always welcomed.
Macworld’s buying advice
With the addition of hardware virtualization, support for 64-bit guest operating systems, and OpenGL support, VirtualBox has become an even-better free solution. You’ll still be limited to one CPU per virtual machine, but if your needs aren’t CPU-intensive, this limitation won’t impact your workflow too badly (and I would expect multiple-CPU support to be added in a future update). While VirtualBox’s OpenGL speed isn’t as fast as that of Parallels Desktop, it may be fast enough for simple OpenGL needs.
VirtualBox may not win any interface design awards, and its features are still lacking somewhat compared to the paid-for competition. However, I’ve been impressed with how well it works for most typical projects, and you can’t beat the price. If Sun continues to improve VirtualBox at a rapid rate, it may soon catch up to its competitors in the virtualization arena.