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

O Lord, please don’t burn us.
Don’t grill or toast Your flock.
Don’t put us on the barbecue
Or simmer us in stock.
Don’t braise or bake or boil us
Or stir-fry us in a wok.

Oh, please don’t lightly poach us
Or baste us with hot fat.
Don’t fricassee or roast us
Or boil us in a vat,
And please don’t stick Thy servants, Lord,
In a Rotissomat.

Amen

Monty Python, The Meaning of Life

10 Dumb things about Mac OS X

Tuesday, April 10th, 2007

On the whole I think Mac OS X is superior to Windows XP, but still I find there are some real annoyances. So to balance things out (from my usual bitching about XP) here are my least favorite things about OS X:

  1. There is no maximize function for application windows; instead only a ridiculous zoom option which seems to vary its functionality depending on the application (screwing up on thumbnail views in folder windows). As a developer I am accustomed to running applications fullscreen and this limitation just feels bloody minded. Also the zoom option has no hotkey assigned by default, so you are forced to click a stupid little button or select it from the Window menu. After screwing around for a bit I have assigned a hotkey now, which is slightly helpful, but I still don’t like the fact that it won’t just maximize the damn window.
  2. No built in [GUI] FTP client. The Finder lets you connect via regular ftp to a server, but the connection is read-only, so if you want to upload you need to go find a third-party client. I am using Cyberduck for now, because it is one of the few free ones available for OS X.
  3. Hitting enter on a selected item counts as a rename rather than an open. WTF?!? I can’t believe they’ve kept this after all these years, when in every other context enter means "Open". To open/launch a selected item requires Command-Down (or Command-O). Wow, how intuitive.
  4. The Home and End keys perform functions which are virtually useless. Home goes to the top of a document and End goes to the bottom. How often do I need this? Maybe once or twice a day. To navigate to the beginning or end of a line I have to press Command-Left and -Right respectively, even for a single line edit box. This functionality I use several hundred times a day, so why should I be messing with modifier keys? Windows gets this right and OS X again demonstrates sheer bloody mindedness by not adopting the obvious.
  5. Blobby/smudgy fonts. Apple does not use the same kind of font-hinting that Microsoft does, and this means the readability of small fonts can suffer and result in text looking overly heavy or smudgy. Although this allows nice continuous scaling of fonts, I think that the TrueType method is actually more readable on a screen. I’ve seen this problem quite a lot in my own work with fonts, and really think the priority should always be readability.
  6. The finder is ugly and not nearly as functional as it could be. For some reason it uses the otherwise abandoned brushed-metal look, has borders that are unnecessarily thick, and feels very clumsy to navigate. It makes me miss Windows Explorer and its solid Tree/List view combination.
  7. The only way to manually adjust a window size is by dragging the bottom right corner— I don’t see why all four borders can’t be independently draggable as they are in WinXP. This means excessive mouse mileage, and sometimes is highly inconvenient because the corner is not actually within the visible screen area.
  8. I can’t work out how to get TextEdit to let me edit HTML source, since it just opens as rich text. I am really missing a lot right now, so when I get to porting stuff it will be at the top of my list. I want a TEXT editor, not a mystery document editor.
  9. The backspace key is called Delete, and to further confuse things there is no consistency between apps about what keypress is used to delete an object. On a MacBook this means that to delete an item I might press Delete, Fn+Delete or Command+Delete, depending on whether I’m in Finder, iTunes, Mail etc.
  10. Document-centric applications that stay running in the dock even after I’ve closed all of their documents. The worst offenders (ie applications that have no reason to stay open): Preview, TextEdit, Safari, Quicktime. I acknowledge that it’s useful for certain applications like Mail and iTunes to stay alive; they actually do useful stuff, even when they have no windows open. But most others are just wasting Dock space, system resources and the user’s attention.

At Home

Friday, April 6th, 2007

Ah, it’s great to be home. A long lazy weekend awaits and hopefully I should be feeling normal by next week. Right now my legs are as wobbly as hell and I’m alternately exhausted, hungry and exhausted. My medication is fairly potent and leaves my extremities tingling and my stomach upset, but hopefully these effects will settle over the next few days.

It’s a shame my condition isn’t something a little more interesting to discuss— unfortunately it’s one of those "embarrassing" ones which no one likes much to think about. Although I was never planning to go into much detail on it, I think sometimes it’s good to be open about this stuff, especially if it makes other people feel less isolated in their suffering, so I will reveal that my condition is ulcerative colitis… feel free to look it up, but only if you’re not squeamish.

UC can generally be controlled but it can flare up badly as it did in my case, and if you don’t get it seen to quickly it can do a lot of damage to your gut. I had it fairly bad about three years ago, and just kind of avoided dealing with it, becoming reclusive and sickly (tends to lead to other conditions like anaemia, so I was completely knackered all the time). Eventually it went away again after a long slow year of trying different diets and herbs, and then I was clear and apparently healthy from mid 2005. But then this year it came back with a vengeance, and before I knew it I was in hospital trying to avoid hearing any words ending in -ectomy.

So now all the nastiness is being reigned in by a combination of steroids and immunosuppressants, and hopefully eveything will be all tickety boo in a week or two. I know there are a zillion different remedies out there that people will swear by, but the bottom line is that no one thing works for all people— I will experiment when it seems appropriate and try remedies where there is reasonable evidence of effectiveness, but from my own personal experience UC does not show any notable correlation with diet or even stress.

Next post will hopefully not be health related.

On the up

Wednesday, April 4th, 2007

A mere ten days (!) since admittance and I think I’m on the mend, and even hopeful they will let me go home tomorrow, since all medicines are oral now. I guess the moral of this story is that if you are feeling unwell, go see a doctor before you get worse, because you may be sicker than you realize.

My arms look quite revolting because of the number of needles I’ve had jabbed into them (blood samples every day so bruises galore, as well as a few IV lines). I was going to take pictures but the whole novelty value kind of wore off pretty quickly and I’m not so keen on souvenirs as I originally expected to be (although I must at least ask for copies of my x-rays, since I’ve never had any before).

This whole experience has been covered under public health, meaning that it will cost me nothing financially, which is obviously a huge relief. I have seen two patients come and go in my ward who had paid through the nose for private insurance but then ended up in here anyway because their private doctors were unavailable on a weekend or because of the emergency nature of the procedures. At first they seemed rather upset that their premiums accounted for nothing, but then when they were well treated and looked after (just like everybody else) they just accepted the situation.

Rant:

Please support public healthcare, because if you support it (ie pay for it with taxes) it will support you when you are least expecting it, and when you aren’t requiring it it will support a whole bunch of other poor sods who maybe can’t afford private insurance anyway. I have heard so many fucked up stories about people getting screwed in the private system anyway because the insurance companies’ scheduled payments do not actually cover the expenses involved, as well as outright greed on the part of Australian insurers who notoriously swallowed [stupid shortsighted] subsidies offered by the [stupid shortsighted] government to push people into private healthcare. Some years back the government decided that healthcare was too expensive, so private organizations would manage it better, hence as an incentive they offered families subsidies for taking up private insurance, and within months insurance companies simply upped their fees by almost the exact same amount. Oh yeah, and the government also put a time limit on the subsidies so that anyone who didn’t sign up by a certain time would be penalized with larger premiums for life. Fuck that shit.

If a small nation like NZ can afford to run a decent public health care system then so should a larger, richer one, like Australia or obviously the US. If the health system is as dodgy as it sounds over there then you have a lot to be worried about. No one should have to worry about financial security when their health is at stake!

Life less funny when in Hospital

Monday, April 2nd, 2007

I have been jabbed so many times, and drunk so much awful stuff and had so many chemicals pumped into my veins, it’s hard to think of something funny to say about it all right now. (btw I know also that there are vast numbers of people who have to go through much worse for much longer, I see them everywhere)

One thing that really surprises me is that the food manages to live up to its terrible reputation; I always felt airline food got a bad rap and suspected the same about hospital food, but now I know that fish pie, potato bake, hot pasta, and chicken anything all arrive looking like exactly the same lump of unappealing yellow stodge on a plate. At least the jelly is good.