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:
CPUs | CPU Speed | RAM | Time (seconds) | |
---|---|---|---|---|
Dual G5 | 2 | 2.00GHz | 2.5GB | 28 |
Mini XP Native | 2 | 1.66GHz | 2.0GB | 36 |
Athlon | 1 | 2.12GHz | 512MB | 39 |
Mini XP Parallels | 2 | 1.66GHz | 1.0GB | 44 |
Mini OS X (Rosetta) | 2 | 1.66GHz | 2.0GB | 77 |
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.
Other operating systems
So much for the routine “let’s see how it handles XP” stuff. The other really impressive thing you can do with Parallels Workstation is to run any number of different operating systems. You can choose between Windows, Linux, FreeBSD, OS/2, Solaris, MS-DOS, and “other” as pre-defined types. Within each of these types, there are multiple versions—Linux, for instance, includes Red Hat, Debian, Fedora Core, SUSE, Mandriva, and then three different “generic” Unixes. If you have a need (or desire) to use another operating system, Parallels Workstation makes it simpler than its ever been.
To install a new operating system, use Parallels Workstation’s wizard to choose the options that best match the OS you’re installing. Tweak the Memory setting as necessary, insert the operating system’s installation disk, and click Play. Walk through the installer, and you’re done—just like that, you’ll have another OS on your machine, ready for your use. And you don’t need to have a physical CD or DVD, either—Parallels can install off of a disk image as easily as it can a real CD.
Linux
Since Linux distributions can be downloaded for free, I thought I’d test PW out and see how far I could get. Keep in mind that I have about zero experience installing Linux—I once installed Red Hat Linux at a prior job, and I recall it being the worst six days of my IT life. OK, maybe it just seemed like six days, but you get the idea. Linux is not my strong suit.
Nonetheless, I downloaded Fedora Core 5 and Debian Linux, and hauled out my old Windows 2000 system disk, and got to work… or was it play? If you’ve never installed Linux before, the process has certainly become easier since the last time I tried it. In many ways, both Debian and Fedora Core were as easy to install as OS X. Both Debian and Fedora Core ask you a series of questions, and based on how you answer, they choose which programs to install, create your user’s workspace, and configure the attached devices.
After installation, Debian Linux booted up just fine, but the screen resolution was limited to only 640-by-480 or 800-by-600. After some frustrating attempts at fixing the issue, I posted for help on Parallels’ forums. The solution, which mostly worked, showed a key differences between Linux and OS X—things can be a bit more complex in Linux! Here’s a shot of Debian running the GIMP open-source image editing program. (Signed copies of my abstract masterpiece “Colored Lines” will be available later.) Click on the image (and most of the rest that follow) for a full-sized original:
When I tried to boot Fedora Core, though, I had no success—the virtual machine kernel panicked shortly after it started to load. Again, the Parallels forums came to the rescue. It turns out that, at least in the beta 3 I was using at the time, Fedora Core won’t boot if you allocate more than 516MB to its virtual machine. Once I dropped the RAM down to that level, it worked perfectly. This may have been corrected in beta 4, though I haven’t bothered to try booting it with a higher RAM allocation yet. Here’s a shot of a complex Word document open in Open Office 2.0:
One thing to keep in mind with any non-Windows installation in Parallels—there is no Parallels Tools package available for non-Windows OSes. So you don’t get clipboard synchronization and other niceties, and your mouse will be a bit jumpy. Also, without Parallels Tools, your mouse operates in a “captive” mode—the virtual machine will own it, not letting it escape until you hold Control and Option. With the Tools installed on XP, your mouse can wander anywhere onscreen. This is a bit of an annoyance, but not a major issue.
With both Linuxes (Linuces? Linusi?), I tested basic functionality—Web browsing, office applications, and networking. I was able to connect to my G5’s shared drive and copy documents in both directions. Everything pretty much worked as I expected, and with good speed, too. After using both for only a few hours, if you told me I had to pick one or the other and I couldn’t use OS X any longer, I think I’d pick Fedora Core—it just felt more polished and accessible than did Debian.
So with only a couple minor issues, I now had two Linux distributions and Windows XP running in their own virtual machines. What next? How about another version of Windows?
Windows 2000
To me, this was the first “usable” version of Windows (though some would argue we’re still not there with XP). I haven’t installed it in years, but I still had my CD, buried in the depths of my assorted tech bits and pieces. (“See, honey, I told you I’d use this again someday!”) Installation was fast, quicker than XP (as is OS 9 over OS X, I know), and it worked just fine after the virtual machine rebooted. (You’ll want to install the Parallels Tools here, too.) Of course, there were quite a few updates to install to make it current, but this too went off without a hitch.
Testing with Windows 2000 revealed that everything here worked as expected—and reminded me that I still prefer Windows 2000 to XP. (The first thing I do to any XP machine I have to work on is to revert the theme back to the Windows 2000 look.)
Multi (OS) tasking
Now my Mac mini had five—count ‘em, five—operating systems installed and functional: OS X, Windows XP and 2000, Debian Linux, and Fedora Core Linux. I actually tried to install Solaris, too, but that failed. The install worked (slowly, it took well over an hour), but then I couldn’t get Solaris to start. This may have been more my fault than that of Solaris or Parallels Workstation, given my total lack of knowledge of anything to do with Solaris. So what to do with five OSes then? What else than to try running them all at once!
My first attempt was mostly successful, as you can see:
That’s a shot of three Parallels Workstation virtual machines running—Windows XP, Fedora Core, and Debian. I configured the two Linux VMs to each run in 256MB of RAM, and the XP VM was given 384MB. This setup worked quite well, and all three OSes were very usable. Granted, I wasn’t then stressing the CPU on top of this by doing something like running four different compilers simultaneously—that might have been pushing my luck!
This ability to run multiple OSes is the true power of virtualization technology over something like Boot Camp. Such a setup might be useful for an IT professional who needs to support multiple operating systems. Or for a software developer looking to test their program on multiple OSes. It will, of course, also appeal to the die-hard tech hobbyists, who will do it simply “because it can be done.” Given more RAM, which isn’t possible in the mini, you could probably get six to ten VMs running at once, if you so desired.
The way Parallels implements multiple-at-once VMs is a bit unique. With a given VM open, you select File -> New Window, which doesn’t actually do what you might think. Instead of opening an actual window, it launches another copy of the Parallels Workstation application. So you can’t simply toggle between VMs using OS X’s “next window” (Command-`) command; you must use Command-Tab or the Dock to switch to each instance of the PW application. The only problem with this is that each instance has an identical name, making it difficult to figure out which VM you want to activate, as you can see in this movie.
Now let’s see…where did I leave that Fedora Core VM…was it the second one? The first? Hmmm. Ideally, each VM machine would use the active VM as its name, but I’m not sure that’s technically possible. So the real answer here is…switch between VMs using Exposé. Then you can just mouse over each window, and you’ll see not only the name of the app, but the name of the window, making it simple to identify which machine you wish to activate.
Going for broke
With four OSes (counting OS X) up and running, I decided to add in the last VM, Windows 2000. The first time I did so, however, I paid the price—the machine (the mini) kernel panicked. I made several more attempts, always with the two Linuxes running, and had nothing but issues. If the machine didn’t panic, it would restart. Or Parallels Workstation would quit. Or one of the VMs would crash. So it seems I did succeed in “going for broke”—it was definitely broke!
But after much trial and error (and error and error and…), I got it working. In the end, I wound up reversing the VM load order by booting both Windows versions first, then adding in the Linux systems. So here, courtesy of Exposé, are all four VMs running at once on the Core Duo mini:
Four VMs plus OS X, and all were usable and stable (once I had them all running), on what is the second-cheapest computer that Apple currently sells. Fairly amazing. Even more impressive is the fact that the VMs continue to operate in the background—switching from one to the other doesn’t pause that VM until its reactivated. The Linux systems, for instance, were both showing screensavers while I was working in the XP VM. Despite all of that, the frontmost VM, even if that “VM” was OS X itself, was always responsive to clicks, and I didn’t notice any dropped characters when typing, or other annoying slowdowns. I can’t wait to see what will be possible on the high-end Macs when they’re released this fall.
Conclusion
I hope I’ve given you a good sense of the possibilities that Parallels Workstation offers. It’s not presently something I would roll out on production machines, given the occasional kernel panics and crashes I’ve experienced. The good news is that each successive beta has gotten notably better, and offered more features—full screen and dual monitor support in beta 4, for instance. When Parallels Workstation exits beta, I’m confident that it will be a stable product, though there may always be a minor chance for a crash when you’re doing something as complex as this.
For now, though, it lets me check Web sites in XP and Linux, and open the occasional Windows-only file I receive, all without leaving the comfort of my preferred OS X environment. Boot Camp still gets used when I need full hardware support and/or accelerated graphics, but for everything else, I’ve found Parallels Workstation to be an excellent solution.
[Even after running all these other operating systems, Senior Editor Rob Griffiths’ heart remains with Mac OS X, as you can see at the MacOSXHints.com Web site.]
Editor’s Note: This article was updated at 3:42 p.m. on April 19, 2006 to correct information about how many copies of XP you need, and modify some information on RAM requirements for XP.
Editor’s Note #2: This article was updated at 9:09 a.m. on April 20, 2006 to remove a comparison of Word on Fedora and XP. My Word display setting on XP was preventing a cover graphic from showing. With the proper (page view) setting enabled, both documents were identical.