TweetFollow Us on Twitter

Found in Transition

Volume Number: 22 (2006)
Issue Number: 5
Column Tag: Open Source

The Source Hound

Found in Transition

by Dean Shavit

Windows and Mac, sitting in a tree...

The MacBook Pro Arrives

When my brand-spanking-new built-to-order MacBook Pro arrived, I immediately went about the task of making it my own. My 12-inch PowerBook G4 1.33 had been my test bed for most of the MacTech articles for the last year and a half, so preparing the MacBook was somewhat like moving into a new apartment or breaking in a new car or pair of shoes, something I would have to live/walk in for the foreseeable future, and because it's such a radical change in processor architecture and software support, it was somewhat like learning how to walk again for the very first time, or drive, or tie my shoes.

The MacBook isn't that radical of a shift for the typical end-user who'd use it for day-to-day word processing, web browsing, and light graphics work. iLife '06, iWork '06, Safari, and Mail all scream running natively on the MacBook's Core Duo 2 ghz processors. An Intel Mac is a different kind of fast. It's difficult to explain, but certain operations just feel faster (especially launching applications and booting the Mac), and as unscientific as that sounds, comparing the MacBook to, let's say, a Dual 2ghz PowerPC G5 is like trying to ascertain the difference between two different brands of whiskey. However, for an Open-Source aficionado, it means rebuilding my entire installed base of X Windows and command-line software ports (currently four gigs worth) using Xcode's GCC 4.0 compiler and package managers such as Fink <http://fink.sourceforge.net> and Darwinports <http://darwinports.opendarwin.org>, and facing the fact that many of the projects I relied on for the PPC processor where now either broken or "back in beta" for the Intel processor. Needless to say, things aren't quite at the level of maturity they'd be if Apple had waited until June to release the Intel MacBooks after having just finished another major transition (Tiger), but the work on converting those Open-Source super-projects to the Intel platform had already begun in earnest. Many Open-Source projects already compiled and run quite well on the MacBook, while others, including Growl <http://Growl.info>, the subject of my last MacTech column, are universal binaries which run on the MacBook as if they never ran on a PowerPC Mac. Those Open-Source goodies made for Mac OS X will appear as Universal applications (fat binaries) almost instantly, if not in total by the time this article is printed.



Figure 1. Universal Binary Logo

On the other hand, applications that work directly with HFS+ (a.k.a. the Mac OS Extended file system) or, at the partition-level of hard disks, have even greater challenges to supporting Intel Macs, where there's been a radical change in the hard disk partition scheme. Intel Macs now use the GPT (GUID Partition Table), instead of the older APM (Apple Partition Map). The reasons for this aren't readily obvious, but it turns out that GPT has a little surprise in store. I wouldn't expect an Intel-savvy version of Alsoft Diskwarrior or Prosoft Drive Genius any time soon, though just about every other type of Cocoa application should be Universal before too long. There's even a roadmap for Universal device drivers (kernel extensions) that would allow the same PCIe card to work in a PowerMac G5 tower as well as the upcoming Intel Pro Mac towers or new Xserves. Nifty!

In 1994, Apple, Motorola and IBM told us that RISC was fundamentally better than CISC, and that all personal computers would eventually adopt RISC, and we believed them. The interesting thing about any transition in processor architecture (the last transition was twelve years ago, in 1994 when Mac users moved from the Motorola 68000 series processors to the PowerPC processors), is that if there's a shift from CISC (complex instruction set computing) and "little endian" to RISC (reduced instruction set computing) and "big endian," then there's going to have to be some form of instruction-level emulation taking place so programs written for the previous processor can still work. For more information on endianess, visit <http://www.noveltheory.com/TechPapers/endian.asp>. Apple's solution for backward compatibility was to build a PowerPC to 68000 instruction emulator into the ROM on the logic board of each Mac, because even the Mac OS itself wasn't pure PowerPC code, though each iteration of the Classic Mac OS brought it closer to purity. Now, Rosetta ironically performs the same basic function, translating, optimizing, and caching the big-endian instructions of PowerPC applications so they can run on the little-endian Intel Macs. While we all know that "native" code is sexier, faster, and more advanced than "emulated" code, it appears that emulated software and native software are now permanent dance partners orbiting the Maypole of cyclic transitions, from little endian to big endian, and back until all turn into butter.

The idea of running another OS on your primary OS is often called a "guest" OS, which is a polite way of calling it a "parasite" OS and your primary OS the "host" OS. Essentially, the guest OS runs inside its own memory space which looks like any other application to the primary OS, and doesn't necessarily share kernel memory with the main OS (more on that later). If you want your computer to run more than one Operating System, here are ways to do it and the factors that need to be accounted for:

Method 1: Dual Boot

Dual booting is simultaneously the best and the worst way of running another OS on your computer. On the plus side, if you're going to boot into another OS, that means it's not going to require any instruction-level translation, no big endian to little endian or vice versa. That also means, the best possible performance since each OS is only active when the computer is booted into it. It also means that with the proper hardware support (drivers), that the computer should be able to network well, handle all manner of multimedia bells and whistles, as well as power management tasks such as sleep, suspend, and wake-on-LAN. Dual booting means computer labs can easily be repurposed, and that companies with both Macs and PCs can easily standardize on Apple hardware.

On the minus side, dual booting is cumbersome and doesn't provide any collaborative framework. It's simply one OS or the other and end users hate it. It's not hard to remember the annoying early days of Mac OS X and dual booting with Mac OS 9. Yuck.

Apple's Boot Camp solution <http://www.apple.com/macosx/bootcamp> is about as slick as any dual-boot arrangement that's ever existed. It allows for allocating space for Windows, resizing that partition on the fly, easy exchange of files between the Mac OS X file system and the Windows XP disk, as well as, full driver support for WiFi, Bluetooth, the infrared remote port, full multimedia, and hardware accelerated video. In short, the same driver support you'd expect to see on a computer that shipped with Windows. Sweet.

Method 2: Full Virtual Machine With or Without Emulation

This is what Virtual PC for Macintosh provides. A full virtual i386 computer with functioning hardware, multimedia, network, and USB combined with a little endian to big endian instruction emulator. Often the success of such emulators depends directly on hardware support such as the 68000 emulator used by Classic, or perhaps more pertinent to this article, the "pseudo-little-endian" mode built into G3 and G4 PowerPC processors, that was dropped from the G5, causing Microsoft to have to scramble for several months to ship a working Virtual PC for the G5 processor.

Conversely, this is what PearPC made possible for PC users, the ability to run Mac OS X in a virtual machine inside a Windows XP host. However, PearPC being an Open-Source project cannot easily live up to the high standards of hardware support that commercial products like Virtual PC consistently deliver. The advantage of a virtual machine is that everything generally acts like it would on a separate computer, accessible through a window on the host OS. This keeps "Windows-like" things separate from "Mac-like" things, and so forth. However, because the guest OS runs in a window, inside an application on the host OS, it is almost always relegated to second fiddle. Think of it as the computer version of PIP (picture in picture), but for the sake of fun we'll call it OSIOS (OS inside OS).

A VM without emulation - this is pretty much the same as the situation above, of course minus the instruction translation, and that means extra speed and possibly better hardware compatibility. However, from an end-user's perspective, it is still OSIOS.

Method 3: An "Open" Virtual Machine With or Without Emulation

An "open" virtual machine is one where the OSIOS situation has been broken down to the point where the native window manager of the host OS handles the windows for the guest OS. Classic on a PowerPC Mac is one such example, as is Darwine <http://darwine.opendarwin.org> on Mac OS X. Advantages include, decreased overhead and therefore increased performance, as well as the potential to use the same file system and exchange clipboard data.

Disadvantages include a more challenging development curve, and loss of much of the potential for hardware support that a full VM provides, as well as, the increased potential for application misbehavior when they find the environment slightly different than what they expect. Typically, open VMs are written to the "letter" of the API (Application Programming Interface) standard, and expect that applications also respect that API.

Method 4: Full-Scale Eviction of Host OS

Certain emulation products, such as VMware's ESX Server, <http://www.vmware.com/products/esx> are installed first, before even the primary OS is. As a matter of fact, EXS Server actually would take the place of Mac OS X as the host OS, relegating all other OSes, whether Windows XP or Mac OS X to guest status. While it's unlikely that ESX server will become a widely implemented solution for end-user's desktops, it will most definitely see heavy use on the next generation of Xserves (yet to be released), allowing them to run Mac OS X Server, Linux, and Windows 2003 Server simultaneously. Although VMware's products aren't currently available either as a beta or release product, company executives have publicly discussed that they are prepping a Mac OS X for Intel version, and that they have it running in their labs.

Classic: Lost in Transition

While PowerPC applications running in Rosetta are Mac OS X's new software legacy, it's obvious that Apple decided to simply cut off support for the Classic Environment partly due to the requirement of having the hardware PowerPC to 68000 emulator on the logic board of the new Intel Mac, something that probably wouldn't exactly "fit in" with the heavily Intel-engineered chipset. Also, the complexity of a two-layer Rosetta to PowerPC to 68000 emulation food chain was probably too much for Apple to support, and no doubt would be slow as molasses under the right circumstances. So, no Classic for my MacBook. However, I still need to occasionally use ResEdit (which has never been updated for Mac OS X). After all, when creating disk images for software distribution with an embedded EULA (End User License Agreement), Apple still recommends using ResEdit to embed the agreement in the disk image, even though there's other excellent and elegant solutions, such as DropDMG <http://c-command.com/dropdmg>, it would be nice to be able to use ResEdit. I also am the proud ornery owner of Apple's last great Laser Printer, the LaserWriter 8500, which can only be configured by the Apple Printer Utility, which, of course, only runs in Classic and with Appletalk, and of course there's still an occasional Classic utility or two I need to run, just to feel "connected" with my Mac past.



Figure 2. No Classic Applications Allowed.

As easy as it is to find an open-source emulator or commercial emulator to run Windows or Linux on a Mac OS X computer, it's no easy task to find a decent Classic Mac OS emulator that runs on top of an Intel processor that can support Mac OS 9.2.2 with access to all hardware resources, such as the sound manager and Open Transport. There have been several for Linux and Windows, but none have been under heavy development since the advent of Mac OS X, other than Mini Vmac, which only supports Mac OS 7.5.5 and lower, while others have been abandoned altogether. Here's the short list of possible Classic stand-ins I've found, and a quick synopsis of their current state of development: (See Table 1.)

Project             URL                                  Platforms             Mac OS Version
Mini Vmac           http://minivmac.sourceforge.net      Linux X86, Mac OS     Up to 7.5.5 with no 
(old school fun                                          X (Universal), Mac    network support.
and games)                                               OS 9 (PPC and         Sound works great. 
                                                         68000) Windows and    
                                                         Pocket PC.
    
Mac-on-Linux        http://www.maconlinux.org/         Linux PPC             Mac OS 7.5.2 to 10.3.3.
(Classic                                                                       Needs an emulator 
Environment                                                                    component. Not
for Linux PPC)                                                                 much promise here.

PearPC              http://pearpc.sourceforge.net         Windows, Platform     Will eventually run 
                                                         Independant           Mac OS 9.2.2 in a 
(The Open-                                                                     solid virtual machine,
Source Great                                                                   as it currently runs 
Hope)                                                                          Mac OS X 10.4
   
Basilisk II         http://basilisk.cebix.net/             Linux, Solaris,       Emulates a 68000
                                                         FreeBSD, IRIX,        series Mac, so it 
(O-L-D) but still                                        BeOS, AmigaOS,        won't run anything
kicking.                                                 Windows NT            above Mac OS 7.5.5.
                                                                               Has color and network
                                                                               support.
                                                                               
SheepShaver         http://sheepshaver.cebix.net/         Linux PPC, Linux      Runs up to 9.0.4 with
(Think                                                   X86, BeOS,            sound and color.
ShapeShifter,                                            Darwin/PPC            LAN support.
somewhat viable. 
Needs work.)

Mini VM

It's easy to see that many of the Classic Mac emulation solutions are pretty long in the tooth, or at least emulate versions of Classic that really old. MiniVmac emulates a Mac Plus nearly perfectly, and at an amazing speed (it's a Universal application, and includes a necessary CPU throttle to slow it down so it's useable). It also requires a hardware ROM dump from a Mac you "currently own," a tricky legalism leftover from the beige box days that must still be obeyed. MiniVmac really gets the job done, if your Classic needs are frozen at Mac OS 7.5.5. Once in a while, I'll stumble across some specialty application or display still run by a Classic Mac, such as an SE/30 or a Mac Plus. Such a setup screams for a Mac Mini, yet the current Minis have Intel inside. It's even possible to run MiniVmac off a keychain drive. As such, MiniVmac is almost a perfect solution for such a need on an Intel Mac Mini, even if sound is necessary, unless access to a network or some other type of serial-port driven controller is necessary. If that's the case, only the real thing will do. MiniVmac also features a full-screen mode, so you can work with Clarisworks 1.0 on a LCD projector! To get started with MiniVmac, visit <http://minivmac.sourceforge.net>. Getting up and running with MiniVmac is easy, there's even starter disks available.



Figure 3. MiniVmac in Action.

A Partridge in a Pear Tree

However, it's PearPC that holds out the greatest promise here, as soon as it gets the necessary virtual hardware support to run Mac OS 9. After all, it's PearPC that was the first Mac OS X on X86 solution, running the entire PowerPC install in a sloooooow emulator, all but unusable except for on the fastest PCs, which now look a whole lot like the fastest Macs. For running Classic, however, it's pretty clear that performance would be more than acceptable. As a matter of fact, because the PearPC code is platform independent, a few more tweaks could make it a serious Open-Source challenger to other commercial VMs with or without an emulator. As soon as PearPC gains OpenBios support, it will very likely boot Mac OS 9 as well as Mac OS X. Keep an eye on the action here at the PearPC community forum: <http://pearpc.net>.

Counting Sheep

As of today, the only way to emulate a Mac running OS 9 or higher on a new Mac with an Intel processor is SheepShaver, an oldie but goodie that grew out of the Basilisk II emulator project. Orginally, SheepShaver (which gets its name from "shape shifter") was to be a solution for running Mac OS Software on BeOS systems. It's an interesting historical tidbit that Gilbert Amelio once considered acquiring BeOS to replace the Classic Mac OS, but eventually settled on OpenStep, and bringing Steve Jobs back to Apple. The rest, as they say, is history. SheepShaver has survived as a little-used Classic emulator, but now with the emergence of Macs with Intel processors, it's gaining more attention. I just wish someone would make a new icon for the program! Getting started with SheepShaver starts off with a trip to: <http://www.gibix.net/dokuwiki/en:projects:sheepshaver>, where the "experimental" port to Mac OS X for Intel lives. Please note that getting SheepShaver going, currently requires access to a PowerPC Mac with Classic installed, and a Mac OS 9.0 or 9.1 install CD. Mac OS 9.2.2 is not going to work with the current port of SheepShaver.

    1. After downloading SheepShaver, download the Mac_OS_ROM_Update_1.0.smi from Apple's support site

    2. Download a copy of TomeViewer from http://macupdate.com

    3. Extract the Mac OS ROM file, using Tome Viewer

    4. Create a virgin file system using the DD command: dd if=/dev/null of=sheepshaver.img bs=1024k count=number of megabytes you want

    5. Next, you'll have to create a .sheepshaver_prefs file and populate it with the proper settings. here's the contents of mine:

      
   extfs /
   windowmodes 7
   screenmodes 0
   seriala /dev/cu.Bluetooth-Modem
   serialb /dev/null
   bootdrive 0
   bootdriver 0
   ramsize 167108864
   frameskip 8
   gfxaccel true
   nocdrom false
   nonet false
   nosound false
   nogui false
   noclipconversion false
   ignoresegv false
   pollmedia true
   jit true
   jit68k false
   keyboardtype 5
   keycodes false
   mousewheelmode 1
   mousewheellines 3
   dsp /dev/dsp
   mixer /dev/mixer
   ignoresegv false
   idlewait true
   rom /Users/dean/SS/MacOSROM
   extfs /Users/dean/SS/shared
   disk /Users/dean/SS/ss.img
   ether slirp

Make sure, all of the disk and ROM files are in the proper locations, insert a Mac OS 9 install CD, and if all goes well, SheepShaver will start up off the CD. In which case, you're going to need to format the raw disk you created, using the dd command and install Mac OS 9 onto it. If all goes well, you'll be running Mac OS 9 in no time. You'll also have access to files outside the SheepShaver VM. Just don't expect the networking to work well, and expect some (OK a lot) of System Errors.



Figure 4. Mac OS 9 Desktop from SheepShaver.

If you still rely on Classic software solutions for your day-to-day work, it's best not to give up your PowerPC-based Mac right now. Better yet, if you have a mission-critical solution such as a database that can't be easily converted to a Mac OS X version, (yes there are some out there that have no easy upgrade path), then it's probably a good idea to upgrade your hardware to brand-spanking-new PowerPC metal, while it's still available, because when they're gone, they're gone; or start a transition/migration project right now. Eventually, a solution with commercial support will appear that allows Intel Mac owners to work with Classic software, but it's most likely going to be an entire virtual machine (think Virtual PC), rather than a transparent environment sharing the Desktop like it is in the PowerPC version of Mac OS X, and might even take as long as six months before it becomes a useable solution. So, until the pears ripen or the sheep are more closely sheared, no Classic for you!

Boot Camp: Apple Does Windows!

My MacBook slices through the most complex computing tasks using the Xcode GCC compiler. It dices the most frilly web pages and roasts its PowerPC-based predecessor in sheer boot speed. But its real promise lies in the potential compatibility with Windows and Windows applications, as well as Red Hat Enterprise Server, and with virtualization products like VMWare, which would allow for multiple i386 OSes running on the same piece of hardware. When it came to running Windows, of course, the real allure of ordering an Intel-based Mac was simply "the possibilities."



Figure 5. Boot Camp Assistant.

Well, the possibility is now a reality. Apple's Boot Camp software is an official (but unsupported) public beta of a dual-boot solution that just plain works. Get the Boot Camp Public Beta installer at <http://www.apple.com/macosx/bootcamp>; it's an 83 megabyte download. To install Boot Camp, simply update your Intel-based Mac to Mac OS X 10.4.6 and apply the necessary firmware update. You also need at least 10 gigabytes of free space a blank recordable CD, and a genuine retail (not OEM) copy of Windows XP Service Pack 2, Home or Professional Edition.

First, run the Boot Camp Assistant, and use the blank CD you set aside to create a driver disk so that when you install Windows XP, all the hardware will work properly:



Figure 6. Boot Camp - Burn Driver Disk.

It's very clever how the Boot Camp Assistant prompts you to create a driver disk, so that you have it handy when it comes time to install Windows XP. Next, you'll have to decide how much space from your hard drive you want to dedicate for Windows, and Windows Software. Again, Apple couldn't have made this any easier. No reformatting required. However, a backup of critical data at this point couldn't hurt.



Figure 7. Create Boot Camp Partition.

Finally, we have the ability PC users have had for ages: the ability to split, and then resize live partitions without a reformat and backup. It seems that this is something that the new GPT (GUID Partition Format) allows for, that the venerable APM (Apple Partition Map) format didn't natively support. In checking the Disk Utility Application, I saw nothing new, but in checking the diskutil command in Mac OS X 10.4.6, I noticed something that might hint at abilities, much like the Boot Camp Assistant in future Apple OS releases:

macbook:~ dean$ diskutil
Disk Utility Tool
Utility to manage local disks and volumes.
Most options require root access to the device
Usage:  diskutil <verb> <options>
     <verb> is one of the following: 
resizeVolume  (resize a volume, increasing or decreasing its size)

Once the disk is partitioned, the next step is to start the installation of Windows XP, followed by the driver's you burned onto the CD a minute ago. Once you've successfully booted off the Windows XP installer, entered your product key, and installed the drivers from the disk, you're ready to rock and roll. To start up from Windows XP, all you need to do is hold down the option key at startup, and choose the right partition:



Figure 8. Choose Windows or Mac OS X Boot Disk (Option Key).

Of course, this would be quite a pain in day-to-day use (dual-booting, though a nice capability, is awkward enough on its own). Apple, though, in staying consistent with its incomparable design philosophy and end-user touch, makes certain tasks like picking a boot disk a joy.



Figure 9. Selecting Windows Boot Disk From Startup Disk.

However, there's been a lot of talk about using the Boot Camp partition with other virtualization solutions such as Virtual PC for Intel Macs (when it comes out). That would truly be the best of both options, as they say: boot into Windows XP natively when you have the need for full access to the hardware (like for gaming), or use a virtual machine with the same partition when you just want to use a Windows program for a little while. I am currently looking for two matching USB joysticks with strong suction cups, so I can attempt to fire up my old DOS-based Williams Arcade package, and fire up Robotron, on my Mac! Woohoo!



Figure 10. The Boot Camp Partition

A Closer Look at the VMs: Virtual PC et. al.

Although I had some flirtations with the PowerPC builds of Bochs (http://bochs.sourceforge.net) and QEMU <http://fabrice.bellard.free.fr/qemu>, Virtual PC had the details down that the Open-Source Virtual machine contenders couldn't seem to pull off consistently: a graphical interface for configuring the virtual hardware, and hardware compatibility that was unmatched. Networking and USB support actually worked to the extent where you could sync a PocketPC with it with the emulated Windows System, or safely join a Windows domain. Multimedia applications worked as expected, albeit slowly. On the flipside, Open-Source emulators like QEMU performed reasonably quickly, but installing Windows on QEMU was a crapshoot, sometimes it would work, sometimes it wouldn't. Reading from the CDROM drive was inconsistent. A kernel extension was required for networking support. USB support, fahgetabahit! Sound? No way! Bochs, although it was more consistent, was difficult to configure, and was so slow, it was almost useless. Both Bochs and QEMU can be somewhat difficult to configure, though recently that's changed, especially for QEMU. There's been a company (who I won't name) who's developed a GUI for Bochs and QEMU, and has sold it as a commercial product. Read the rest of this article carefully, and note that I don't review that solution. That's an intentional omission.

Over the years, it has been Virtual PC (originally developed by the magical Mac OS hacking company Connectix of Virtual Playstation fame), now a Microsoft Product, that became the gold standard for running any guest OS, which required the i386 architecture on a PowerPC-based Mac. Five years ago, I used to travel around the country delivering IT training courses, including Mac OS Troubleshooting and Networking, Windows NT Server, and Novell Netware. I used to teach all of the workshops using two PowerBook G3s running Virtual PC 3.0. I even developed the habit of covering up the white Apple logos on the back of the PowerBook with yellow stickies, and then pulling them off (ta-da!) in the middle of the training to stunned gasps, "I didn't know Mac could do that." If anyone remembers, Apple's adoption of the G5 processor slowed down the pace of Virtual PC development because the PowerPC G4 processor supported something called "Pseudo little-endian mode," which the G5 didn't, causing a six-month delay before the release of Virtual PC 7.



Figure 11. Virtual PC Icon.

Now that Virtual PC 7 has been out for over a year, it's fair to characterize it as a pretty awesome combination of emulator and virtual machine, with a long track record going back to 1998, and successes far beyond that of most mortal software. And you'd think, with Apple switching to Intel processors, that Virtual PC might have finally run its course as a solution, and may now find itself an end-of-life software product. But, quite the contrary is true. Virtual PC, because of its mindshare and incredible polish as a program, is poised to become the premier Windows-on-Mac OS X solution. Even its familiar brand name is comforting to the end user. Installing Virtual PC is a snap, as it comes with a license for Windows XP Professional, all set up and ready to go. As far as performance goes, you couldn't ask for anything more from a big endian to little endian emulator. It even has touches like a Windows "Start" menu that sits in the Dock.



Figure 12. Virtual PC VM Settings.

Installing Virtual PC is a snap, simply insert Install disk one, start the installer, insert install disk two, and follow the prompts. As a matter of fact, it's quicker to install Windows XP Professional under Virtual PC than it is on most real PCs. Performance is a bit "heavy," due to the emulation, but highly acceptable on my dual G5 2.0 ghz with 2 gigs of RAM, as long as I stick to productivity applications, and not games or anything involving sound or video. However, when sound does emanate from Virtual PC, it comes out in full synthesized stereophonic glory, not some ratty 8-bit distorted groan other emulators have been known to make. Likewise, everything simply works as expected, from the virtual hard disks that grow when they need more space to the virtual access to the file system on the host Mac itself. It's impossible to find any rough edges on Virtual PC.



Figure 13. Virtual PC on Mac OS X (PPC).

Although Microsoft has lost the race to market to the open-source Q and Parallels (read on), VPC for Intel Macs may be worth waiting for, as it'll have a polish and finish other solutions might not, not to mention the stellar reputation and support system of the world's largest software company behind it. One look at the Virtual PC for Mac device compatibility chart at Microsoft Mactopia: <http://www.microsoft.com/mac>, and it's easy to see why VPC is worth waiting for. Anyone who says Microsoft has "lost the Mac emulation race", hasn't seen this. We'll all be the winners for the extra competition, no matter what happens. Microsoft already has its popular Virtual PC for Windows product, which could be ported to run on Mac OS X for Intel. One the other hand, it might be easier for Microsoft to port Virtual PC for PowerPC to Mac OS X for Intel, and simply drop the emulation component, keeping the virtual machine. Currently, Virtual PC for Macintosh simply won't run on the new Intel Mac hardware.

Windows VM for Free? Caveat Emptor.

Well, possibilities become realities, and now I'm happy to report that three former Open-Source emulation projects now support Mac OS X for Intel natively. Why "former" emulation projects? Because in the case of each one, the need for instruction-level endian emulation has been alleviated by the compilation on and for the new Intel Macs. However, not all "free" Open-Source emulation solutions are created equal, and in one case, it's quite clear that a commercial variant is not a whit better than its free counterpart.

First, Q:

The Q <http://www.kberg.ch/q> project adds a nice GUI and Assistant to the QEMU <http://fabrice.bellard.free.fr/q> emulator I've been using for the past two and a half years. Q is about as close to Virtual PC as I've seen, and for an open-source project, my hat is off to the developers. Performance is also excellent. They've done away with the need for the tun/tap kernel extensions that older versions of QEMU required, so that the networking just works, with no further fuss.



Figure 14. Q VM Control

Installing Windows XP Professional on Q simply won't work at the time of writing this article, because of some incompatible interactions between the installer and the emulator. For now, you have to install Windows XP Professional and Service Pack 2 on a PCC running Q (yes, it runs on PPC hardware too, just slower), and move the VM (in the QEMU folder in ~/Documents) over to an Intel Mac), and then you're in business.



Figure 15. Q VM Settings.

As it stands now, Q on Intel Macs is highly useable, and much faster than VPC on a fast G5. It even allows access to the Mac's files system when running, something that Parallels (see below) doesn't yet support. However, it's quite clear from running Windows XP with Boot Camp that Q (and QEMU) does eat up a lot of processor cycles, doesn't multitask well, and doesn't have graphics acceleration (meaning no widescreen modes), and no sound. However, it's come so far in the last year and a half, I wouldn't be surprised if Q didn't become a standard solution for many power users, and of course for the occasional use of a Windows accounting program or Access 2003, it's impossible to beat Q's price.

Second, Parallels:

A newcomer to the Mac OS X (and Linux, and Windows) VM scene is Parallels workstation. As far as I know, Parallels is strictly a Virtual Machine, and includes no emulator. However, even in its current public beta form, it's obvious that Parallels is already a highly mature product, and a serious contender for the VM title.



Figure 16. Parallels Workstation Logo.

Working with Parallels workstation yielded some pleasant and not-so-pleasant surprises. First, Windows XP Professional booted up normally, but failed to read several critical files during the installation process. I found that disabling the hardware acceleration during the installation process, allowed the installation to proceed and finish. Also annoying was Parallels' inability to recognize an optical disk inserted after the VM was booted, or release that disk until the VM was shut down. Also, Parallels currently has no method for sharing files with its host OS, something that needs to be resolved sooner rather than later. Also, the interface for configuring the Parallels virtual machine is rather un-Mac-like, compared to Virtual PC and even Q. It also contacts two kexts (kernel extensions), and did cause a kernel panic once when switching video modes.



Figure 17. Parallels VM Configuration.

On the plus side, Parallels is fast, very fast. It takes advantage of hardware acceleration for virtualization technology built into some Core Duo processors (supposedly the iMac and MacBook have this capability while the Mac Mini does not). The graphic acceleration is also much better, supporting widescreen modes that match the MacBook Pro and the iMac. The price ($50) is also right, though Parallels seems very much like a Beta right now. However, if the developers can perfect Parallels, I'd imagine they could easily charge $100 per seat. By the way, don't try using the Boot Camp video drivers with Parallels (someone has already tried that, and well, it hosed their VM), and it's probably not a good idea to try booting Parallels off of the Boot Camp partition--yet.



Figure 18. Parallels, Windows XP Professional, and Picasa.

Third, Darwine:

In my January MacTech column, I flagged Darwine <http://darwine.opendarwin.org> as the project to watch. Well, in between MacWorld and this writing, the Darwine project released its first build with native i386 support for Mac OS X. Currently, Darwine is too rough (I'd say Alpha quality at best) for production use. However, it's easy to see the promise of Darwine--applications launch instantly and respond more quickly than in any VM. However, to get Darwine installed properly, requires a lot of command-line tweaking (and crashes a lot), so I'm going to hold off on covering it in depth until it stabilizes, probably in three or four months at a minimum. For now, here's a screenshot to tantalize you:



Figure 19. Microsoft Excel 2000 Running Under Darwine.

So What Does This Mean for the Big Picture?

    In my January MacTech column I wrote:

    And Apple knows where Microsoft's bread is buttered as well. A company with an open-minded CTO who loves open-source and the quality and security of Mac OS X on Apple hardware may realize that deploying XServe G5s would save his company a bundle in annual CAL payments, but cannot even begin to consider putting a Mac OS X computer in his employee's cubicles until a critical database front end, created in some Windows-specific IDE like Powerbuilder will run under Mac OS X.

Well, we're getting closer and closer to that reality. Most Mac Consultants and Admins that I know, are currently running some form of Windows compatibility solution on their MacBooks, iMacs or Minis with Intel processors, where just a year or two ago they might have echoed Apple's party line of "we don't do Windows." With Apple's assertion that it "wouldn't do anything to anything to prevent people from using Windows" on Intel Macs after the transition announcement at WWDC last June, it's very telling that Boot Camp was released so soon after the new Mac hardware. It can't be coincidental. The next generation of Xserves, and the availability of VMware ESX server will tell another story. Many people realize that the battle to displace Microsoft solutions from the Enterprise, Consumer and Education markets cannot necessarily begin with marketing the advantage of Mac OS X over Microsoft Windows, but the advantages (and now flexibility) of owning a Macintosh computer. Apple's not going after Microsoft's software business, but the hardware businesses of Dell, HP and IBM. The message is crystal clear: "One operating system isn't good enough anymore. One computer or server is."


Dean Shavit is an ACSA (Apple Certified System Administrator) who loves to use a Mac, but hates paying for software. So each month he's on the hunt for the best Open-Source and freeware solutions for OS X. Besides surfing for hours, following the scent of great source code, he's a partner at MOST Training & Consulting in Chicago, where he trains system administrators in OS X and OS X Server, facilitates Mac upgrade projects for customers, and writes for his own website, . Recently, he became the surprised father of an application: Mac HelpMate, available at . If you have questions or comments you can contact him: dean@macworkshops.com.

 
AAPL
$105.22
Apple Inc.
+0.39
MSFT
$46.13
Microsoft Corpora
+1.11
GOOG
$539.78
Google Inc.
-4.20

MacTech Search:
Community Search:

Software Updates via MacUpdate

OS X Server 4.0 - For OS X 10.10 Yosemit...
Designed for OS X and iOS devices, OS X Server makes it easy to share files, schedule meetings, synchronize contacts, develop software, host your own website, publish wikis, configure Mac, iPhone,... Read more
TotalFinder 1.6.12 - Adds tabs, hotkeys,...
TotalFinder is a universally acclaimed navigational companion for your Mac. Enhance your Mac's Finder with features so smart and convenient, you won't believe you ever lived without them. Tab-based... Read more
BusyCal 2.6.3 - Powerful calendar app wi...
BusyCal is an award-winning desktop calendar that combines personal productivity features for individuals with powerful calendar sharing capabilities for families and workgroups. BusyCal's unique... Read more
calibre 2.7 - Complete e-library managem...
Calibre is a complete e-book library manager. Organize your collection, convert your books to multiple formats, and sync with all of your devices. Let Calibre be your multi-tasking digital... Read more
Skitch 2.7.3 - Take screenshots, annotat...
With Skitch, taking, annotating, and sharing screenshots or images is as fun as it is simple.Communicate and collaborate with images using Skitch and its intuitive, engaging drawing and annotating... Read more
Delicious Library 3.3.2 - Import, browse...
Delicious Library allows you to import, browse, and share all your books, movies, music, and video games with Delicious Library. Run your very own library from your home or office using our... Read more
Art Text 2.4.8 - Create high quality hea...
Art Text is an OS X application for creating high quality textual graphics, headings, logos, icons, Web site elements, and buttons. Thanks to multi-layer support, creating complex graphics is no... Read more
Live Interior 3D Pro 2.9.6 - Powerful an...
Live Interior 3D Pro is a powerful yet very intuitive interior designing application. View Video Tutorials It has every feature of Live Interior 3D Standard, plus some exclusive ones: Create multi... Read more
The Hit List 1.1.7 - Advanced reminder a...
The Hit List manages the daily chaos of your modern life. It's easy to learn - it's as easy as making lists. And it's powerful enough to let you plan, then forget, then act when the time is right.... Read more
jAlbum Pro 12.2.4 - Organize your digita...
jAlbum Pro has all the features you love in jAlbum, but comes with a commercial license. With jAlbum, you can create gorgeous custom photo galleries for the Web without writing a line of code!... Read more

Latest Forum Discussions

See All

Rami Ismail Opens Up distribute​() for D...
Rami Ismail Opens Up distribute​() for Developers Posted by Jessica Fisher on October 24th, 2014 [ permalink ] Rami Ismail, Chief Executive of Business and Development at indie game studio | Read more »
Great Hitman GO Goes on Sale and Gets Ne...
Great Hitman GO Goes on Sale and Gets New Update – Say That Three Times Fast Posted by Jessica Fisher on October 24th, 2014 [ permalink ] | Read more »
Rival Stars Basketball Review
Rival Stars Basketball Review By Jennifer Allen on October 24th, 2014 Our Rating: :: RESTRICTIVE BUT FUNUniversal App - Designed for iPhone and iPad Rival Stars Basketball is a fun mixture of basketball and card collecting but its... | Read more »
Rubicon Development Makes Over a Dozen o...
Rubicon Development Makes Over a Dozen of Their Games Free For This Weekend Only Posted by Jessica Fisher on October 24th, 2014 [ permalink ] | Read more »
I Am Dolphin Review
I Am Dolphin Review By Jennifer Allen on October 24th, 2014 Our Rating: :: NEARLY FIN-TASTICUniversal App - Designed for iPhone and iPad Swim around and eat nearly everything that moves in I Am Dolphin, a fun Ecco-ish kind of game... | Read more »
nPlayer looks to be the ultimate choice...
Developed by Newin Inc, nPlayer may seem like your standard video player – but is aiming to be the best in its field by providing high quality video play performance and support for a huge number of video formats and codecs. User reviews include... | Read more »
Fighting Fantasy: Caverns of the Snow Wi...
Fighting Fantasy: Caverns of the Snow Witch Review By Jennifer Allen on October 24th, 2014 Our Rating: :: CLASSY STORYTELLINGUniversal App - Designed for iPhone and iPad Fighting Fantasy: Caverns of the Snow Witch is a sterling... | Read more »
A Few Days Left (Games)
A Few Days Left 1.01 Device: iOS Universal Category: Games Price: $3.99, Version: 1.01 (iTunes) Description: Screenshots are in compliance to App Store's 4+ age rating! Please see App Preview for real game play! **Important: Make... | Read more »
Toca Boo (Education)
Toca Boo 1.0.2 Device: iOS Universal Category: Education Price: $2.99, Version: 1.0.2 (iTunes) Description: BOO! Did I scare you!? My name is Bonnie and my family loves to spook! Do you want to scare them back? Follow me and I'll... | Read more »
Intuon (Games)
Intuon 1.1 Device: iOS Universal Category: Games Price: $.99, Version: 1.1 (iTunes) Description: Join the battle with your intuition in a new hardcore game Intuon! How well do you trust your intuition? Can you find a needle in a... | Read more »

Price Scanner via MacPrices.net

Weekend sale: 13-inch 128GB MacBook Air for $...
Best Buy has the 2014 13-inch 1.4GHz 128GB MacBook Air on sale for $849.99, or $150 off MSRP, on their online store. Choose free home shipping or free local store pickup (if available). Price valid... Read more
Nimbus Note Cross=Platform Notes Utility
Nimbus Note will make sure you never forget or lose your valuable data again. Create and edit notes, save web pages, screenshots and any other type of data – and share it all with your friends and... Read more
NewerTech’s Snuglet Makes MagSafe 2 Power Con...
NewerTech has introduced the Snuglet, a precision-manufactured ring designed to sit inside your MagSafe 2 connector port, providing a more snug fit to prevent your power cable from unintentional... Read more
Apple Planning To Sacrifice Gross Margins To...
Digitimes Research’s Jim Hsiao says its analysts believe Apple is planning to sacrifice its gross margins to save its tablet business, which has recently fallen into decline. They project that Apple’... Read more
Who’s On Now? – First Instant-Connect Search...
It’s nighttime and your car has broken down on the side of the highway. You need a tow truck right away, so you open an app on your iPhone, search for the closest tow truck and send an instant... Read more
13-inch 2.5GHz MacBook Pro on sale for $949,...
Best Buy has the 13″ 2.5GHz MacBook Pro available for $949.99 on their online store. Choose free shipping or free instant local store pickup (if available). Their price is $150 off MSRP. Price is... Read more
Save up to $125 on Retina MacBook Pros
B&H Photo has the new 2014 13″ and 15″ Retina MacBook Pros on sale for up to $125 off MSRP. Shipping is free, and B&H charges NY sales tax only. They’ll also include free copies of Parallels... Read more
Apple refurbished Time Capsules available sta...
The Apple Store has certified refurbished Time Capsules available for up to $60 off MSRP. Apple’s one-year warranty is included with each Time Capsule, and shipping is free: - 2TB Time Capsule: $255... Read more
Textilus New Word, Notes and PDF Processor fo...
Textilus is new word-crunching, notes, and PDF processor designed exclusively for the iPad. I haven’t had time to thoroughly check it out yet, but it looks great and early reviews are positive.... Read more
WD My Passport Pro Bus-Powered Thunderbolt RA...
WD’s My Passport Pro RAID solution is powered by an integrated Thunderbolt cable for true portability and speeds as high as 233 MB/s. HighlightsOverviewSpecifications Transfer, Back Up And Edit In... Read more

Jobs Board

*Apple* Solutions Consultant - Apple Inc. (U...
…important role that the ASC serves is that of providing an excellent Apple Customer Experience. Responsibilities include: * Promoting Apple products and solutions Read more
Senior Event Manager, *Apple* Retail Market...
…This senior level position is responsible for leading and imagining the Apple Retail Team's global event strategy. Delivering an overarching brand story; in-store, Read more
*Apple* Solutions Consultant (ASC) - Apple (...
**Job Summary** The ASC is an Apple employee who serves as an Apple brand ambassador and influencer in a Reseller's store. The ASC's role is to grow Apple Read more
Project Manager / Business Analyst, WW *Appl...
…a senior project manager / business analyst to work within our Worldwide Apple Fulfillment Operations and the Business Process Re-engineering team. This role will work Read more
*Apple* Retail - Multiple Positions (US) - A...
Job Description: Sales Specialist - Retail Customer Service and Sales Transform Apple Store visitors into loyal Apple customers. When customers enter the store, Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.