by Perry Longinotti
Platform virtualization (the process of running a second operating system inside a virtual environment on your computer) has been on my mind a lot lately, has it been on yours? If you have made a shift recently from Windows to Mac you may have wondered at one point if you could find a way to use any of your old Windows software.
This article is focuses on the experience of running Windows Vista as a guest operating system on a Mac OS X host. The host system is a Unibody MacBook with the following specifications:
- Core 2 Duo P7350 2GHz
- 2GB DDR3 1066 RAM
- 256MB Nvidia Geforce 9400m (Shared Memory)
- 500GB 5400 RPM HDD
When talking about virtualization I’ll be referring to the Virtual Machine (VM) a lot. This is the virtual PC that will be running the guest OS. The default setup uses about half of your host computer’s CPU and RAM. That is how we will be configuring our VMs for this test.
Virtualization loves powerful hardware, and a 2009 MacBook or base iMac is hardly that. But virtualization is being pitched at normal folk like you and I so it’s important to test on hardware indicative of the target audience. If you have a 3.06GHz iMac with 4GB of RAM and a Geforce 8800 GS, or a Mac Pro with eight CPU cores, enough RAM to choke a horse and a powerful video card just go ahead and buy one of the tools below and don’t give it a second thought — you will be quite happy.
Apple includes Boot Camp with the latest version of its operating system and that is another option, but what if you don’t want to have to reboot every time you need a Windows application? That’s where virtualization comes in. For many years virtualization was the domain of developers and IT departments, using it to test software on many different platforms or building disaster-resilient data centers. Now, several solutions have popped up aiming to help average people setup a virtual machine.
When investigating virtualization solutions quite a few questions popped up, and from viewing various forums I can see that other people formulated similar questions:
What is performance like? Is it close to native speed?
How do games run? Are modern titles playable?
Can the virtual machine play Windows media files and DVDs?
Rather than writing responses such as “it runs good” in virtualization forums, I thought I would assemble a little test and see what happens. The test regimen consists of the following (some of which are part of the NBR standard test suite):
Quake III 1.32 (800*600 full screen mac settings)
Elder Scrolls 4: Oblivion (800*600 lowest possible settings)
Fallout 3 (800*600 lowest possible settings)
Parallels Desktop 4.0
This was the first consumer virtualization solution for the Mac. Now on its 4th version, key features that were added since the first release include 3D video acceleration (for games), 64-bit guest OS support and coherence mode. In coherence mode PC applications launch and run just like native Mac applications.
The version tested here was build 4.0.3810 released in December 2008 ($79.99). Requirements for Parallels to run: Intel Core CPU, 1GB of RAM (2GB for Vista), and as much HDD space as you would like the virtual machine to use. Parallels supports a large assortment of 32-bit and 64-bit guest operating systems from Windows 3.1 to Windows 7. Unix- and Linux-based operating systems are supported too. See the full list here.
VMWare Fusion 2.0
Released a couple of years after Parallels, Fusion is the consumer friendly virtualization solution from VMWare. As you can tell from their name, VMWare is all about virtualization and their software is a staple of the modern data centre. Although later to the consumer market than Parallels, this solution is made by the number one innovator in the virtual machine market. They claim to have the most advanced and proven VM engine on the market. In terms of features, Parallels Desktop and VMware Fusion seem to be pretty close.
On test is the latest version, 2.02 ($79.99). Requirements are an Intel Mac and 1GB of RAM (2GB Recommended). VMWare’s list of supported operating systems is just as long as Parallel’s and includes 32-bit and 64-bit editions. A noticeable absence here compared to Parallels is Mac OS X Server 10.4 and 10.5. See the full list here.
Fusion is bundled with a couple of value adding extras; 12 months of McAfee Virus Scan and MacFuse. Interesting that a $69 virtualization solution includes a full year of virus scan but the majority of $1,000.00 notebooks only include a trial.
Sun xVM VirtualBox
At the top end of the virtualization market, many VM solutions run on expensive Sun servers. Perhaps that is why Sun purchased Innotek last year. This product is aimed at the developer community, but it will get a bit of attention from adventurous consumers who like the product’s price tag: free for personal use. VirtualBox is geared towards the enterprise business so there is a risk that it may not be as friendly for consumers. It also does not officially support DX 3D acceleration (it does however support OpenGL).
Version 2.1.2 of VirtualBox is the one I tried. This software runs on a wide number of hosts, almost everything I could think of was covered. Likewise, it supports a very wide range of guests. System requirements are very modest, x86 CPU at 1.5GHz or faster, 512MB of RAM. See the requirements here.
In terms of Guest OS installation, Fusion and Parallels have an edge here. Both offer almost complete automation of the virtual machine setup – simply set the virtual HDD size, enter your name and Windows activation code and rest is all automatic. VirtualBox is a bit more hands-on, but by no means is it difficult. VitualBox requires that you set the HDD size and then the Windows installation proceeds just as it does on a PC, you will have to answer a few simple setup questions.
None of these virtualization solutions make any changes to your HDD partition table. Instead they create “containers.” These containers can be moved from machine to machine, or deleted.
In this segment of the evaluation I would rank Fusion and Parallels first and VirtualBox a close second. I’ll point out that VirtualBox setup is almost exactly like Boot Camp’s, except that the later makes changes to your Mac’s HDD partition table.
Coherence mode in Parallels works nice. As you can see from the screen shot below, Windows apps open up like a native Mac app — no windows taskbar, desktop or start menu. Taskbar tray items appear in the Mac menu bar. It was kind of neat to see FRAPs running in the Mac menu bar as I was testing games.
Parallels includes some neat management options. First, you can run a “Transporter” utility that will import virtual machines from other solutions such as VMWare or Boot Camp. It can even create a virtual machine from an existing computer. It would be great to virtualize your clunky old work notebook into a VM that you could run on your Mac, but make sure you run this by the powers that be as there may be legal/license implications. Initially I felt that I should have installed Parallels last because you can simply set up a VM in VirtualBox or Fusion and then import it (install all the test apps once, wee!). But we will see in a minute why that would have been a bad idea.
The second cool management feature in Parallels is the ability to download virtual appliances (currently there are 61 to choose from). These are pre-configured virtual machines covering a wide range of uses (Ubuntu, BSD, Solaris, OpenSUSE and many more). This is a thoughtful time saving idea for folks that have to experiment on a number of systems, or geeks like me that like to tinker with everything.
Modality mode (shown above) allows you to keep your VM running in a tiny little window. Its almost like having a VM widget, you can keep an eye on whatever you have going on in your VM while doing other things.
In Parallels, your guest OS and host OS desktop folders can be mirrored. In my testing this was very helpful as patches and utilities I downloaded in Parallels immediately appeared on my Mac desktop. It made juggling files a lot easier. I also like that Parallels includes a ‘Reset’ button in the menu, so you can hard reset a locked up VM.
VMWare Fusion 2.0 features many similar features. It’s Unity mode (below) is like Coherence. A migration tool allows you to create a VM from an existing PC, but it does not seem to allow converting Parallels images.
VMWare also offers Virtual Appliances for download with a massive selection on their website (VMWare’s library consists of over 1,000 appliances). There are a ton of specialized builds of Linux for example.
An advantage for VMWare is bundled software, in this case McAffee Virus Scan (12 months).
VirtualBox is a lot more Spartan than its commercial rivals. It does not have as many cool integration features.
Of the three VM solutions I like Parallel’s feature set the best, but not everything functions properly. Fusion’s features work.
When pushed hard either in benchmarks or demanding games I found Parallels to be a little bit unreliable. I managed to produce a blue screen when resuming a VM on one occasion. In general I found myself hard resetting that VM more often with issues such as lag and lack of cursor focus. I even had to reset my Mac a couple of times.
Simple apps run great though, for example I used Flickr Export in Parallels to download 1,912 photos from Flickr. YouTube HD ran great, but I could not play a DVD (probably a signed driver or DRM issue).
The Fusion VM that I “Transported” to Parallels performed worse. It booted, but most of the device drivers needed to be reinstalled. In these VMs are generic drivers for abstracted hardware such as the Parallels network interface and “Standard VGA Adapter.” At this time, the transporting function is probably only relevant if you have a very simple machine — a Vista machine is probably not a good candidate.
The list of Parallels supported/tested games is short and modest. Even though Fallout 3 and 3DMark06 are not supported, I tried them and they both failed. A few newer titles like Portal grace the compatibility list, but as we will see in a bit Parallels is a poor choice for modern games.
Fusion stability was better than Parallels, but not perfect. I found myself “Force Quitting” Fusion several times while trying to get a 3DMark03 score (it took a few attempts but I got my score). Fallout 3 failed to run, getting tantalizingly close but no cigar.
VirtualBox is a bit rough around the edges. It is targeted at developers who write enterprise apps so as you can imagine multimedia takes a back seat. This means that audio did not work (it is off by default, turning it on makes no difference) on my MacBook and the wide screen aspect ratios were not available in the display manager. The only test I was able to successfully run was wPrime. DVD playback did not work, all I got was snow. Even the venerable Quake III failed to run, despite VirtualBox’s support of OpenGL (and 3D acceleration turn on in the preferences). Any more than 17MB of video RAM allocated caused my VirtualBox VM to crash during boot.
Based on the tests I ran, I would have to rate Fusion first. Clearly there is still room for improvement.
I don’t have a lot of exotic peripherals — what I have works fine in either OS X or Windows. So that means this section will be focused on software. If you have some tricky hardware that you need Windows to run, my suggestion would be to download a trial of these virtualization tools and test compatibility prior to buying.
|Test||VMWare Fusion 2||Parallels Desktop 4||VirtualBox||Boot Camp|
|wPrime (seconds to calc 32m)||82.28||82.87||85.03||N/A|
|Quake III 1.32 (frames/sec)||24||57||fail||205|
|Elder Scrolls 4: Oblivion (frames/sec)||30||19||fail||51|
|Fallout 3 (frames/sec)||fail||fail||fail||32|
Everything has been pretty even so far. This is where we see the separation occur. The tests that worked on all three virtualization solutions showed similar performance and about what you would expect from a single core Windows PC with 1GB of RAM running Vista. It is a pretty modest virtual machine.
Virtual HDD performance was brutal. The I/O performance is nowhere near native speed. With a paltry 1GB of RAM, disk caching was prevalent and the poor HDD performance made this even more unbearable. The slow virtual drive reared its head in other ways too, like a 30 minute installation time for Fallout 3.
Gaming was more of a mixed bag. As you can see from the results, only Fusion was able to complete a 3DMark06 run, both Parallels and VirtualBox threw DX.9 errors when launching the benchmark. Fallout 3 was not able to run on any of the three solutions, although it did get to the loading screen on Fusion. In my mind, this effectively ends discussion of virtualization solutions as solutions to the dearth of Mac games. Emulation solutions like Crossover or Transgaming are better suited for this.
In terms of media support, as I mentioned before, Parallels threw an error when I tried watching a DVD in WMP. Some HD content I downloaded from Microsoft played, but at a slide show frame rate. Lack of GPU acceleration effectively makes HD playback impossible in a VM. That’s probably not a big surprise to anyone, but it should put an end to some speculation.
Parallels is faster in benchmarks and Quake III, meanwhile Fusion is able to marginally run Oblivion. Obviously, with no audio or wide screen support VirtualBox finishes last here. But I don’t consider the other two solutions all that much better.
Realistically, if you are going to run demanding applications that require advanced graphics or fast input/output you will be better served running Boot Camp. I consider appropriate minimum specs for these solutions to be 4GB of RAM and a Quad Core CPU (evenly split between Host and Guest operating systems). Otherwise you simply won’t be able to get any work done as Host and Guest struggle to manage memory and threads. The typical Mac with stock memory is not a good Host environment for virtual machines.
To summarize my findings:
- Virtualization needs a host PC with plenty of RAM and a minimum of two cores if you plan to switch back and forth between the Host and the Guest.
- If you want to multi-task and need to run Vista, make sure you have 2GB of RAM just for that OS. If you are not going to switch back and forth between Windows and OS X, stick to Boot Camp.
- Modern 3D games (two years old or newer) are not really playable in VMs. They may run in Boot Camp though.
In addition to the cost of the virtualization software, you need to factor in the cost of upgrades. If you don’t already have the requisite ingredients the cost may be prohibitive:
- $100-$150 OEM Windows License
- $20 Annual subscription to an AV (free with Fusion)
- $40-$100 RAM upgrade to 4GB
Your old Windows software had better be extremely valuable to you.
After everything is said and done, I think these VM solutions are still better suited to developers who need to test applications in a variety of systems than ordinary folks. Despite efforts to put a cool paint job on virtualization and make it appealing to consumers, this is still just a utility van. These tools are all work and not much play.
My pick for a winner from the three tools tested is VMWare Fusion. It was a pretty reliable performer and its inclusion of anti virus provides better value than Parallels. VirtualBox is my second choice, although know that any money you save in purchase price will be paid for later in terms of sweat equity.
Nevertheless, on a MacBook or iMac I don’t know that I would be able to live with the performance of any of these three solutions for anything but basic Windows applications.