Running Windows on an Intel-based Mac
Sunday, April 22nd, 2007One of the most important requirements I have for my new MacBook is for a fully functional Windows installation capable of running developer tools like VisualStudio, so I can continue my own Windows development while I tinker with OS X.
Fortunately there are now quite a few options available to run Windows on a Mac, and following are notes on my experience with four of them.
Parallels and VMWare Fusion
Both of these products run fully fledged virtual machines, which then need to have operating systems installed. Running WinXP in each I am finding that overall performance seems about equivalent. What does seem different is that resource usage in VMWare is significantly lower from an OS X perspective. For example, an "idling" XP session under Parallels can consume up to 20% of CPU, 512 MB of RAM, and reserve 2GB of virtual memory. Under VMWare the numbers are significantly lower, with a similar session consuming 5-10% CPU, 256MB RAM and 640MB virtual memory. Also VMWare seems to feature slightly faster screen redraw with less tearing.
When running XP in a virtual machine I map the My Documents folder to point at my [encrypted] home folder is OSX, so I’m always seeing the same files regardless of which OS/VM I’m using, and I also map an unencrypted portion of my main drive for general stuff like downloads, music etc. The disk images for my virtual drives are stored within my OSX home folder, which means the entire contents of my C drive under XP are encrypted automatically (using OS X’s Filevault ). Surprisingly this encryption of the entire virtual drive seems to elicit no noticable performance penalty, so is actually kind of ideal if you are a little security conscious.
CrossOver from Codeweavers
Crossover is a cute idea based on Wine, an open source Windows API emulator, which means you don’t need a Windows license (good thing) but then it’s not actually 100% Windows compatible (bad thing).
Because it is only emulating the Windows API rather than an entire computer, Crossover can in theory run more seamlessly within OS X… so there’s no desktop window, and the apps themselves are skinned to look much more like OS X applications (ie nice tidy window frames, you wouldn’t know you were looking at Windows applciations). In order to get the best integration CrossOver will ask for your OS X install disc for an optional X11 component.
The problem with this whole approach is that while some things work well, others work badly, and some things just don’t work at all— and I find myself feeling generally frustrated that it’s nearly there but not quite. Basically the thing feels like an alpha or beta release, and it seems a bit rich that people are expected to pay for something that is based so heavily on free software and feels so unfinished (and confusing to use).
Boot Camp from Apple
Boot Camp lets you use your Intel-based Mac as a Windows machine by simply creating a new hard drive partition and letting you install Windows on it. So in a sense it’s the most brute force approach, relying on the fact that Mac hardware is virtually the same as PC hardware these days. An obvious downside to this approach is that you have to reboot every time you want to switch operating systems— you can’t run them both at the same time.
Boot Camp is quite interesting in that it means you could buy a Mac, then wipe it and turn it into a Windows only machine (as pointless as this sounds the MacBook’s price point makes it an option worth considering).
Comparisons
The following table attempts to illustrate the results of my testing. Unfortunately Parallels managed to kill my BootCamp partition so I haven’t tested as thoroughly as I would have liked, but I can’t be bothered going through yet another XP install what with all the service packing required (and then the VisualStudio install as well).
VMWare
|
Parallels
|
CrossOver
|
BootCamp
|
|
General
|
||||
License
|
beta | $79.99 | $59.95 | beta |
Requires WinXP
|
Yes | Yes | Yes | |
Runs within OSX
|
Yes | Yes | Yes | |
Apps run on OSX desktop
|
Yes | Yes | ||
Launch exe from Finder |
Yes | |||
Support virtual HDD
|
Yes | Yes | ||
Support HDD partition
|
Yes | Badly² | Yes | |
XP can use OSX HDD
|
Yes | Yes | Yes | |
OSX can use XP HDD
|
Yes | Read-only³ | ||
Test Configuration
|
||||
System RAM
|
256MB | 256MB | system | 1GB |
Video RAM
|
16MB | 16MB | system | shared |
Hard Drive
|
virtual | virtual | system | partition |
Applications
|
||||
Visual C++ Build¹
|
17 sec
|
17 sec
|
17 sec
|
|
Half-Life 2
|
Yes |
Yes
|
||
Drivey
|
Fast, smooth
|
Fast, tearing
|
Slow
|
Fast, smooth
|
Miscellaneous
|
||||
Host CPU % (idling)
|
10 | 20 | 3 | |
Host RAM MB (idling)
|
256 | 500 | 50 | |
Stability
|
10 | 8 | 8 | 10 |
Usability
|
8
|
9
|
5 | 6 |
Final Impressions
Even though I’ve already shelled out money for a copy of Parallels, the fact that it’s more of a resource hog and somehow managed to kill my BootCamp partition² has put me off it somewhat. Also it means that I haven’t tested as thoroughly as I would have liked, since I can’t be bothered going through yet another XP install what with all the security updates required— 77 at last count— and then there’s the long VisualStudio install as well.
VMWare Fusion appears remarkably solid, although its user interface could use some work (eg it kills all the Command keys so you can’t easily task switch from or hide your virtual machine without dicking around). Very few preferences are available, and so you might want to edit the config files directly (for some reason it reserves 128MB for VRAM by default). I expect that as it comes out of beta this will be the product to use.
CrossOver is of limited use, but if it was free I would definitely use it, and if it really can run hardware accelerated games as it claims then I might just fork over the cash to buy it. [Update: I did eventually get Half-Life 2 running, but only in DX7 mode, ie fancy reflection effects are kep to a bar minimum] CrossOver’s main useful feature is being able to launch a Win32 executable directly.
BootCamp is great for what it is, but I find it hard to be enthusiastic about a dual boot system. Add to that the issue with deciding how to partition your drive, knowing that neither OS will be totally comfortable accessing the other’s partition, and you may want to ask yourself if it’s something you really need. Reliable hardware accelerated 3D is about the only reason I can see to use it over something like VMWare.
__________
-
This result was a real surprise— It seems there is almost no performance hit when running VisualStudio virtualized! Although when running from a virtual disk it seems to perform best when source is kept on the virtual disk, but intermediate & destination files are written to a mapped folder from the OSX drive. This implies there may be a significant write-back penalty on a virtual disk (the results appear the same regardless of whether the disk image is stored inside an encrypted folder). NB VisualStudio can not be installed under CrossOver.
-
Parallels tried to run from my BootCamp partition and sort of managed, then hung my computer, and then when I tried to boot into WinXP it ran like a dog and my keyboard didn’t work. Thanks Parallels!
-
You can install some extra software (search for MacFUSE) which makes an NTFS partition writable, but I found it quite flakey and it still doesn’t handle NTFS encryption. Similarly there is also software (MacDrive) to let you access your OSX partition from a BootCamp install, but this costs money and the 7 day trial stopped working for me on the very next reboot.