Running Windows on an Intel-based Mac

Sunday, April 22nd, 2007

One 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.

__________

  1. 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.
  2. 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!
  3. 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.

O Lord…

Saturday, April 14th, 2007

10 Dumb things about Mac OS X

Tuesday, April 10th, 2007

At Home

Friday, April 6th, 2007

On the up

Wednesday, April 4th, 2007

Life less funny when in Hospital

Monday, April 2nd, 2007