The past month has been a heady time for Mac users looking to live in a cross-platform world. First, hackers came up with a method that let Mac users install and boot Windows XP on an Intel-based Mac. Then, Apple got into the act with Boot Camp, software that allows Intel-based Macs to boot into Windows XP but without a lot of the hurdles associated with the hacked method.
Shortly after Boot Camp arrived, Parallels unveiled its Parallels Workstation, a new “virtual machine” solution for Intel-based Macs. As Macworld’s resident lab rat, I volunteered to once again put up my Mac mini Core Duo in an experiment to see just how Parallels Workstation performs. Before we dive in any deeper, though, I thought I’d spend a few minutes talking about just what a virtual machine is, and why it’s not the same thing as Virtual PC, as easy as it may be to make that mental comparison. After that, I’ll discuss my experiences with Parallels Workstation.
About Virtual Machines
A virtual machine, or VM for short, can have a number of meanings—you can read about them on Wikipedia, if you wish. In this context, though, VM means the ability to run one (or more) guest operating systems within a (relatively) protected environment within OS X. The virtual machine solution has two main advantages over using Apple’s Boot Camp to install and run Windows XP:
- You don’t have to reboot. The entire point of a VM is that it runs within your current operating system. So you can have your guest operating system running without leaving the comfort and safety of OS X. You can also use more than one virtual machine at a time.
- You can use more than just Windows XP. While Apple’s solution was specifically created to enable Intel Macs to boot into Windows XP, there are no such constraints on a VM. As you’ll see, this means you can do some most interesting things.
So why isn’t a VM just like using the old Virtual PC on a PowerPC Mac? The big difference is that the processor itself doesn’t need to be emulated, meaning you can get amazingly good speeds, even when running within OS X. In addition, Intel’s chips feature hardware support for virtualization, leading to even less of a speed hit. I’ll talk about the speed in more detail a bit later.
Windows and Linux (on Intel) users have had access to good VM solutions for many years now—in addition to Parallels’ products, there’s also VMWare Workstation, which I’ve actually installed and tested on my Boot-Camp-booted Core Duo mini (talk about confusing!). Using these products, Windows users can install and use Linux, and Linux users can run Windows software, all without having to reboot or partition their drives. Mac OS X users have missed out on these options in the past. Sure, we could run Linux and Windows, but we either did so by partitioning our drives and rebooting, or by putting up with slow performance from Virtual PC. (Not that that’s entirely Virtual PC’s fault—it’s just that emulating an entire CPU is a complex and CPU-intensive proposition.)
Hot on the heels of Apple’s release of Boot Camp, Parallels came out with its beta 1 release of Parallels Workstation (or PW for short) for OS X. This was quickly followed by beta 2 through beta 4. I’ve had each version installed on my Core Duo, but really didn’t start testing it until beta 3 was released.
XP on Parallels Workstation
The first thing I decided to do was to compare it to Apple’s Boot Camp as a “Windows on OS X” solution. I was most curious about performance in the “everyday” office programs that someone might need XP for—Microsoft Access in particular—but I was also interested in just how well Windows itself would run as a “guest OS” under OS X.
Warning: A word of advice… if you’re thinking of heading down the Parallels Workstation road, proceed with caution. This is beta software. Definitely beta. I experienced numerous kernel panics, unprompted restarts of my Mac mini itself (not just the virtual machine), and cases where a given VM would not work after a crash and restart. I wouldn’t put PW on a production machine just yet, unless you’re (a) very brave, and (b) have very good backups.
When you launch PW, you’re greeted with a generic VM setup screen:
This is your entry point into the world of VMs. To install XP, the first thing you need to do is create the VM where it will reside. Select File: New Virtual Machine, and then follow the prompts—you’ll need to select Windows as the OS and Windows XP as the version from two drop-down menus along the way. When you’re done, you’ll have a newly-defined virtual machine, nearly ready for an XP installation. I say “nearly” because there’s one thing you’ll want to do first. Click the Edit button at the bottom of the main window, then click on Memory. PW defaults an XP virtual machine to 256MB; I bumped this to 1,140MB (later tests showed that 512MB and 384MB also provided good performance). For most typical office use, 256MB should be sufficient.
With the setup work out of the way, you’re ready to install XP. Insert your XP CD—any version of XP, not just XP SP2, as Boot Camp requires. Then, start the virtual machine by pressing the Play button. The XP disc will boot your virtual machine, and from that point, it’s a typical Windows XP installation. Once the install completes, your virtual machine will restart, and soon, you’ll be seeing Windows XP running side-by-side with OS X.
The final thing you’ll need to do is to install the Parallels Tools. You do this after booting XP; it’s a Windows package that you’re installing. Among other features, the Tools package improves the integration between Windows XP and OS X. The mouse, which will be jumpy at first, becomes as smooth as it is in OS X; you’ll be able to use higher resolution screens, and the clipboard is synchronized—meaning you can copy in Windows XP and paste in OS X, and vice-versa.
Putting XP to the test
With all the basics out of the way, I set out to test XP. The first thing I did was revisit a simple Photoshop benchmark I used in my write-up of the original XP on Mac solution, the OnMac project. I applied a complex Photoshop liquify mesh filter to the same image on a few different machines, including an OS X Intel Mac running Photoshop under Rosetta and one booted into Windows XP, running Photoshop natively. I re-ran the same test, this time using the version of XP running under Parallels Workstation:
PHOTOSHOP CS2 LIQUIFY FILTER TEST
|CPUs ||CPU Speed
||RAM ||Time (seconds)|
| Dual G5 ||2 ||2.00GHz
| Mini XP Native||2 ||1.66GHz
| Athlon ||1 ||2.12GHz ||512MB ||39|
| Mini XP Parallels||2||1.66GHz||1.0GB
| Mini OS X (Rosetta)||2 ||1.66GHz ||2.0GB
Testing by Rob Griffiths, very unofficial!
Compare the Mini XP Native and Mini XP Parallels entries, and you’ll see that the Parallels version is about 20 percent slower (but still miles ahead of Rosetta). That’s not bad at all, given the constraints of running within another operating system, and having less RAM available than it did when running natively.
But the real proof is in the actual usage, and there’s not really any way to describe it other than “more than fast enough.” I opened the same 74-page Word document that I used for earlier tests, and scrolling was lightning fast; I wasn’t able to see any lag between my typing and the screen display. Applications launch quickly, windows resize and move without delay, etc. In short, it’s basically just like using XP natively—with some exceptions which I’ll get to shortly.
To give you a sense for its speed, I set up my video camera and just recorded a couple minutes’ worth of routine tasks—working in a large Word document and opening a few websites. At the end, I switch the virtual machine’s resolution to match my monitor’s native resolution and enter Full Screen mode (new in beta 4), just to show how complete the experience is. As you can (hopefully) tell, XP on Parallels Workstation is plenty fast—and keep in mind I’m using one of the slower Macs possible for this test. Performance on the iMac and MacBook Pro will be better even that what you see here.
What doesn’t work?
XP runs, as do most of the “normal” office applications one might need. So what doesn’t work? At this point, if you want to play serious games, PW is probably not the solution you’ll want to use. I found and ran an OpenGL benchmark on both my native XP box and the PW version. The results weren’t pretty—the PW version was literally 1/100th the speed of the native machine. That said, DirectX and OpenGL both work, so you can at least run apps that require them. Just stay away from the games—and DVD movies, as those don’t presently play, either.
The other big missing factor right now is hardware support. All the basics are there, including support for mouse, keyboard, networking and some printers. But that’s about it—you can’t use graphics tablets, USB audio devices, or other such hardware. For people who don’t need XP for anything beyond testing Web sites or working in office productivity apps, this won’t be much of a problem. If you do need external devices (or high-speed 3-D graphics), you’ll want to use the Boot Camp solution. The two are not mutually exclusive, of course. Note that if you want to use the same copy of XP that you’re using for Boot Camp, you’ll need to contact Microsoft via the telephone (a number will be provided when you try to activate the second copy). Based on others’ experiences (I haven’t tried this myself), if you explain that you’re putting the software on the same machine, in a virtual session, they’ll activate it for you.
Sharing files with the Mac running the VM also isn’t as simple as it could be. There’s no “local folder” option as there are in other emulators, so you’ll have to create a small network and then mount the shares over the network.
Overall, even with the occasional quibble, I found XP on PW to be a very viable solution for anyone who needs “typical use” access to Windows. With Parallels Workstation, Windows is no longer an emulated environment that you put up with it because you need to get the job done. You can do what you need to do in Windows, without worrying about the time involved in rebooting twice. Even better, when you’re done, you can either leave Parallels running, or “suspend” your virtual machine. A suspended machine can be reactivated in seconds, and the suspended state is remembered even if you quit Parallels.