If you’re a mac nerd (heck, if you’re a plain ol’ nerd) you’ve probably heard about the success of a couple of guys to get Windows XP installed and booting on one of the new Intel macs.
For any mac user who wants to play games (once video drivers are found) or work directly with hardware (which is often difficult or impossible under emulation), this is great news. Once a more streamlined, simple process is found I’m sure this will cause more than a few Windows users to take the plunge and switch.
But working stiffs like me need a method of quickly jumping into Windows to test something, jump back to our text editor / graphics program / whatever to make a change, jump back into Windows to test that change, and so on. Having to shut Mac OS X down and boot into Windows just to test small changes would be a huge productivity drain (not to mention a big pain in the ass).
Up until recently Virtual PC (created by Connectix and now owned by Microsoft) was the best-known and fastest solution to the dilemma of running Windows programs on a mac. It allows you to run Windows in, well, a window under Mac OS X, just like any other application. Windows runs emulated (meaning all of the Windows code is translated on-the-fly), so the speed isn’t anything to shout to the rooftops about, but it’s usable.
(An aside: Considering that Rosetta (Apple’s technology for running PPC programs on Intel Macs) is basically on-the-fly emulation that translates PPC programs into something the Intel macs can understand, I would assume it’s not so crazy that a version of Rosetta could do the same for Windows programs. While I have my doubts that Apple would add this feature to Mac OS X any time soon, wouldn’t that be an incredible way to entice Windows users to switch? Hey you, got a Windows program and want to run it on Mac SO X? Just double-click on it and bang, it will just work. Ah, we can only dream.)
Unfortunately, Virtual PC doesn’t run on the new Intel macs yet, Microsoft has stated that they plan to port it over at some point, but what to do until then?
Q is an open source Cocoa port developed by Mike Kronenberg and cordney based on QEMU. It’s basically an x86 emulator that allows you to install Windows, Linux, or any other x86-based operating system onto a special disk image file and run it, ala Virtual PC, from inside of a Mac OS X window. It’s now available as a Universal Binary which runs on both Intel and PPC macs.
I spent some time today setting it up to see if it would be a usable replacement for Virtual PC and I’m happy to say that it works surprisingly well.
Q can convert existing Virtual PC disk images into Q disk images, but when I tried this on my Virtual PC disk image of Windows XP it wouldn’t boot. So I girded myself for the painful process of doing a new install of Windows XP on a fresh Q disk image.
Happily everything went reasonably well, though I still think the XP install process sucks hobo pants. Here’s what I did:
- Download the Q application from the Q web site and copy it to your hard drive. I grabbed the lastest unstable build (version Q-0.8.0d871) which seems to work just fine, though of course YMMV.
- Launch Q and select New Guest PC from the File menu.
- Give your new PC a name (“My new PITA” seems appropriate) and leave all of the General preferences at their defaults.
- Under Hardware I bumped the RAM to 1024mbs. Your setting will depend on how much RAM you have on your system, though of course the more the merrier. I checked off Soundblaster 16 (I don’t know if this matters or not) and changed Boot from to CD-ROM as I was going to install Windows XP from the original CD.
- A new PC appears in the Q Control window. Insert your Windows XP CD, select your new PC, and press the “Start PC” button in the Q Control window. If all goes well, you should see the Windows XP install process.
- Run through the install process. I formatted the new Q disk image as NFTS but I’m sure you could use FAT if you need to. I then went off to make muffins during the 50-odd minutes it took for the install to complete. You could take this time to vacuum your living room, spend some quality time with your sweetie, or do your taxes - ‘sup to you.
- I ate some muffins. Mmmmmm. Who needs cupcakes when there’s muffins?
- After the install completes and it’s time to restart the PC click on the Shut down PC button and clicked “Don’t Save”. I then went back into the preferences for my PC and changed Boot from to hard drive, crossed my fingers, and restarted my PC.
And it worked! Everything seems to be functioning correctly, and the speed is surprisingly bearable. I might even go so far to say that in places the speed is faster under Q on my Intel machine than Virtual PC was on my G5 iMac . It’s still not blazing fast by any stretch of the imagination, but it’s quite usable for simple testing and working with basic applications.
Like Virtual PC Q also has the ability to save the current PC’s state. This allows you to restore the current PC’s state instead of having to boot Windows from scratch after quitting Q. Ethernet and Internet seemed to work just fine, and my keyboard and Wacom tablet worked without any problems.
Apparently there is already work being done on a kernel extension which will allow Q to run in virtualization mode rather than emulation, which means that Windows could potentially run near the full speed potential of the system’s processors. I won’t even pretend to understand how this could work, but it sounds high-falutin’ anyway.
So there you have it. If you have a need to run Windows but don’t want to have to quit out of Mac OS X to do it, Q is a good alternative. It’s open source, reasonably fast, and seems to work well enough for most things, and most of all it’s free. If you either can’t run Virtual PC (because you’re using an Intel machine) or can’t afford it, Q is worth looking into.
: I just ran Virtual PC on my Powerbook as a comparison and it’s no contest - VPC is much, much faster. So I wanted to quantify my statement that Q’s performance was “bearable” - it’s that, but it’s definitely not as fast as VPC. Hopefully the virtualization work that is ongoing will bear some fruit and address the speed issue. ^back^