Monday, 11 April 2011

VMware Fusion


People have been finding ways of running other operating systems on their Macs for the past twenty years. Hardware options started out in 1985 with Dayna's MacCharlie, an expansion box and software kit for the original Mac (and later the Mac Plus) that added an Intel 8088 processor to the Mac's Motorola 68000 base. In 1987, AST Research created the Mac86 and Mac286 plug-in cards for the expandable Macintosh II. In the mid 1990's, Apple too sold PC Compatibility cards for certain Performa, Centris, Quadra and Power Mac models.
As Mac processors became faster, software emulation became the common method of integration: Insigna developed SoftWindows, which combined processor emulation with a sophisticated mapping of Windows programmer interfaces to the Mac Toolbox; SoftWindows 95 and Softwindows 98 followed. In 1997, Connectix released Virtual PC, its groundbreaking software for emulating an entire Pentium-based PC inside a Mac window, enabling it to run almost any PC-based operating system. Unfortunately, the burden of translating between architectures made it rather slow and hardware-hungry for demanding applications.
Another decade later, Virtual PC has been acquired now by Microsoft and turned into a Windows product, with the Mac version abandoned. But Apple's recent switch to Intel hardware has made a new world of high-performance virtualization possible, where applications can run at full speed. This virtualization software, rather than slowly translating CPU instructions, simply creates a shell that fools a guest operating system into thinking it is running inside its very own computer on the same, native Intel hardware.
Parallels Desktop is foremost among several of these virtualization systems currently available for the Mac, and we have been using Parallels since its debut. (Parallels recently released a "version 3.0" upgrade - actually its second major release.) Other virtualization options include Innotek's semi-open-source VirtualBox, and three based on the open-source QEMU project: OpenOSX WinTel, iEmulator, and Q.
The latest entry is VMware Fusion. VMware, which started as a research project at Stanford University, has been creating virtualization software on the PC platform for nearly ten years. Fusion is a new, Cocoa-based Mac application based on the same core virtualization engine as the VMware server software. Fusion was first shown in a private session at Apple's WWDC developer conference in the summer of 2006, and has been in public beta since late December of 2006. Today, VMware released the finished version.
We've spent the past several days working with Fusion 1.0 on the original, 2.0-GHz iMac Core Duo and on a 2.66-GHz Mac Pro (each with 2 GB of RAM). While it has a few quirks and missing features, we believe that Fusion is going to be stiff competition for Parallels Desktop.


The first thing you see when you start VMware Fusion is the Virtual Machine Library window, which will be familiar to users of Virtual PC. This window provides a list of all your virtual machines (or VM's), access to their settings, and a link to download pre-configured "VMware Appliances" from VMware's web site. VMware officially provides integration tools for 60 operating systems, which should keep even the most ardent of software testers well equipped.

Windows Support

We started our testing with Windows XP Home Edition (Service Pack 2). Fusion includes a setup assistant to facilitate creating a virtual Windows machine, and every version from Windows 3.1 to Vista 64-bit is supported.
VMware Fusion integrates with the Mac quite well. Fusion's product manager told us that Fusion was designed "for Mac users who want to run Windows applications, not run Windows".
The setup assistant asked us for information to create the initial account in Windows and for our product activation key. Fusion then created a virtual machine and started the Windows DVD from the Mac's SuperDrive. Windows Setup then went through its usual rounds of copying files and rebooting. When Windows finally started in user mode, Fusion immediately installed VMware Tools. One more virtual reboot, and we were ready to go... aside from 105 Windows Updates awaiting us! Windows Update added a few more virtual reboots, but, less than an hour from starting the process, we had a fully-integrated virtual Windows machine.
You can drag and drop files between your Mac desktop and the "guest" Windows system, and you can copy and paste. (Fusion also can keep the PC's clock synchronized with the Mac's system clock, a useful feature if you disable the PC's networking for security.)
You can set Fusion to favor better Mac or better guest performance; we found that our general back-and-forth experience was best with it set to favor the Mac. However, if you're using Fusion's 3D video acceleration support to run DirectX 8-based Windows games, you may want to leave it at its default setting, favoring the guest OS.
Fusion's "Unity" feature makes Windows application windows look like Mac applications. It's definitely superior to Parallels Desktop 3.0's similar "Coherence" feature. In Parallels, all Windows applications exist in one layer — click one, and they all come to the top, above all Macintosh windows, which is disorienting at first, and irritating. Fusion doesn't do this — you can interleave Mac and PC applications at will.
Apple's Exposé feature also works; each Windows application window is treated like a Mac window (another trick Parallels Desktop couldn't do). However, this is limited by Windows itself, which, even in Vista, still doesn't have a fully-buffered window system like Mac OS X. As a result, any Windows applications that were obscured by other Windows applications don't look right: they show the contents of the window that was above them. This makes Exposé less useful if you are running multiple Windows applications. (This may prove challenging to fix without Microsoft's help. We aren't optimistic, but VMware tells us they are looking for ways to solve this problem, so it may yet be fixed.)
[Within days of the Fusion 1.0 announcement, Parallels released a beta version adding both window interleaving and Exposé support. Parallels version 3 also added 3D video acceleration similar to Fusion's, after VMware showed off the feature last year. This competition is clearly good for the consumer.]
Another nice touch is VMware's Applications menu, which holds the complete contents of the Windows Start menu in the Mac menu bar. And Fusion provides a Launch window that offers access to all programs installed in Windows (even those not in the Start menu). The Launch window is searchable, Spotlight-style: start typing and the list narrows down to match.
In Unity mode, the Windows Start bar is hidden (unlike Parallels Desktop, where it floats just above the Dock). Each Windows program gets an icon in the Dock, and you can minimize Windows programs to the Dock just like Mac applications. Windows apps include Mac-like drop shadows, but unlike Mac OS X, the front-most window doesn't have a more prominent drop shadow.
You can even use Mac's "Keep in Dock" feature for Windows icons in the Dock. Clicking the icon will launch the application, even if Fusion isn't yet running.
A nice touch is battery support. Fusion can make a Mac laptop's battery level accessible to Windows, which will show the battery level in the Windows System Tray.
Fusion provides "experimental" support for Windows Vista. The Vista Start button appears in the lower left corner of the screen, and Exposé and the Gadget Bar don't get along well. Each Windows Gadget appears in three different places on the screen: once on the Gadget bar, and twice more floating nearby. Aside from these two odd quirks and the Exposé display glitches we encountered in XP, we had no trouble with Windows Vista Ultimate.
While we haven't yet run benchmarks, performance is clearly excellent. Windows was quite snappy on both the original iMac Core Duo and on the Mac Pro. Massive high-definition trailers from Apple's web site played flawlessly. (VMware claims that Fusion has the lowest resource utilization of any virtualization product on the Mac platform.)

[We have posted a gallery of VMware Fusion screenshots from our testing, available from the Links section at the end of this review.]

Linux Support

VMware Fusion supports several major Linux distributions and includes generic support for Linux 2.2, 2.4 and 2.6 kernels. (Linux kernel 2.2.0 was released in January 1999, so VMware should work with pretty much every Linux currently in use.)
We tested Ubuntu, a popular Linux distribution, downloading both 7.04, the latest version, and 6.06.1, which is a long-term supported version. (Both are considered current.) Fusion's Setup Assistant knows about Ubuntu and configures a VM for either version, but you'll have to manually intervene in a few places to get full integration for version 7, and we discovered that version 6.06.1 doesn't integrate without a lot of work.
We started Ubuntu 7.04 from an ISO CD image (another nice Fusion feature) and ran the installer. It installed, then restarted... and started from CD again. We explored Fusion's menus and window icons until we discovered that "Use Physical Disk Drive" in the CD icon's popup menu served to "eject" the virtual CD ISO image. This done, the new Ubuntu install started up properly.
Unlike with Windows, VMware Fusion doesn't automatically install the VMware Tools for Ubuntu 7.04; you must do it yourself. The process is roughly as follows:
  1. start the Terminal app (Applications menu -> Accessories -> Terminal)
  2. type tar xvfz /media/cdrom0/VMwareTools-e.x.p-51348.tar.gz
  3. type cd vmware-tools-distrib
  4. type sudo ./
  5. accept all defaults
  6. exit shell, restart Ubuntu
This is not too difficult, but someone not already familiar with installing software from a Unix command line and with Ubuntu's style of mounting removable media could be completely stymied. On the other hand, even without the VMware Tools installed, Ubuntu runs fine. But the different mouse speed, and having to press a special key sequence to exit the Ubuntu window, is inconvenient.
We could not install VMware Tools on Ubuntu 6.06.1. The default Ubuntu 6 install does not include development tools, and this meant that VMware Tools couldn't find support libraries it required, so this is a task more suited to Linux experts.
Once installed, VMware Tools provide drag-and-drop file exchange between Ubuntu and Mac OS X, plus clipboard synchronization and clock synchronization. We dragged Mac Word documents to the Ubuntu desktop and double-clicked: OpenOffice fired right up. If you stick with the latest version of your Linux distribution, we expect things will go fairly smoothly.


Snapshots are a great feature of Fusion: Click a button, and Fusion makes a checkpoint of the virtual machine's state. You can click another button to roll back to that checkpoint at any time, and your machine will be restored to the exact state it was in before, including all running programs.
However, you can make only one snapshot — making a new one wipes out the previous snapshot. Parallels Desktop, by contrast, can keep multiple snapshots, which is invaluable for development and software testing. We would like to see this feature in Fusion.
We'd also like to see an option for automatic or periodic snapshots — it can be tricky to find exactly when a problem entered a system, and even "Last Known Good" configurations often aren't.

Virtual Machinery

VMware Fusion explicitly supports 64-bit guests – Linux, Solaris and Windows – as long as the host hardware is 64-bit, too. This rules out the 32-bit first-generation Core Duo-based Macs, but Core 2 Duo and Xeon Macs are good to go.
VMware can provide one or two processors to a virtual machine. We tried enabling two cores for Windows Vista on the quad-Xeon Mac Pro, and they appeared to be fully utilized by Windows, yet this hardly impacted Mac performance. (Windows XP Home Edition supports only one core, so enabling two cores made no difference — XP Pro is required for dual core support.)
VMware states that Fusion supports up to 8 GB of RAM per virtual machine and that it can fully utilize the 16 GB capacity of the Mac Pro (using a 64-bit guest OS). There is no artificial limit on the number of simultaneous virtual machines you may run — only your hardware. VMware reports they have customers running eight to ten guest virtual machines concurrently on Mac Pro hardware.
VMware tells us that patented memory-sharing techniques reduce the memory overhead required by simultaneous virtual machine sessions, but we have no quick and easy way to test this.
VMware Fusion supports Windows DirectX 8.1 graphics acceleration. It works by mapping the DirectX programming interfaces to the Mac's OpenGL system. Mac OS X can then send the OpenGL instructions to the graphics processing unit (GPU) for execution. While undoubtedly slower than true, native DirectX or OpenGL, it provides the acceleration required to play many older PC games.
Since the Intel GMA video chipsets used in the MacBook and Intel-based Mac Mini do not have full GPU acceleration (most of the work is done by the CPU, not the GPU), DirectX will not run nearly as quickly as a real GPU, such as those used in MacBook Pro, Mac Pro, and most iMacs.
Windows Vista uses DirectX 9 for its "Aero" user interface effects, such as transparency, shadows and "Windows Flip". Since DirectX 9 is not supported in Fusion, these effects are unavailable as well.

Migration and Compatibility

"VMware Converter" is due at release (Monday, Aug. 6). Though we were not able to test it in advance, the converter provides similar functionality to Parallels Transporter: it helps you turn an existing Windows system into a virtual machine.
VMware Converter is a program that runs on the foreign system (a real or virtual machine) you want to convert. Converter creates from it a new VMware image for use with Fusion.
Unlike the Parallels Transporter software, which provides direct conversion from Microsoft Virtual PC for Windows and some VMware virtual machines on your Mac, VMware Converter cannot directly import its competitors' virtual machines into VMware. If you have an existing virtual machine, you'll need to install the VMware Converter into it using your old emulation or virtualization software.
We haven't been able to test this yet, but Converter should provide an effective migration path for users of Virtual PC 7 for Mac, Parallels Desktop, or other Windows emulation/virtualization systems. VMware says VMware Converter will be available for download via their web site.
VMware Fusion virtual machines are compatible with virtual machines created by the current versions of VMware Workstation and Server. Fusion virtual machines can also be used with the free VMware Player 2.0 on Windows and Linux.
Also worth mentioning are VMware Appliances. These are pre-configured virtual machines available for download from VMware's web site. Many are free, some are commercial product offerings. We found they can provide a very convenient way to experiment with open source operating systems such as FreeBSD and Linux.

Boot Camp

Although we didn't test it, VMware Fusion automatically detects Boot Camp installations of Windows XP and Vista and enables you to start it. Since Fusion virtualizes the AHCI layer of the virtual machine, it does not need to make any changes to Windows to run it inside a VM.
(We are told that Boot Camp partitions that have been used with Parallels Desktop may not function correctly in Fusion. If this happens, the workaround reboot into native Windows once to let Windows restore itself to its default settings. This workaround should not need repeating unless Parallels is used with that Boot Camp partition again.)


VMWare Fusion is priced at $79.99 (the same price as Parallels Desktop), with a $20 mail-in rebate available for purchases made at VMware's web site. No competitive cross-grade pricing is available at this time. 5 and 10 license packs are available for $249.99 and $499.99 respectively and include "2 annual email incidents." Retailers may also offer discounts; VMware Fusion is $65 at Amazon with free shipping.
(Parallels Desktop is priced at $79.99. A second copy can be purchased directly from Parallels web site at the same time for $59.99. Parallels Desktop is $67 at Amazon with free shipping.)


Some MacInTouch readers have reported frustration with technical support for Parallels Desktop, so we specifically asked VMware about their support policies.

VMWare FusionParallels Desktop
Support via Email Web Form
Online Support Free for 30 days from purchase No limit stated
Response Time 1 business day Not stated
Phone Support $24.99 per incident
(3 and 5 incident purchases are discounted)
$29.99 per incident
Free online support tools Support Knowledgebase, Online Documentation, Web Forums, Security Center with security notification RSS feed Support Knowledgebase, Online Documentation, Web Forums
Support Contract Options with guaranteed response times Available for site licenses of 50+, response time varies by contract type Not available
Product Retail Price $79.99 $79.99
VMware has an active business in enterprise server virtualization, so its support systems include options for response times as fast as 30 minutes (if you buy the contract). Parallels, by contrast, seems to have a consumer focus, and their support policies are largely undocumented on their web site.


VMware Fusion is in hot competition with Parallels Desktop, which was first to market. Fusion is priced identically to Parallels — which is about a hundred dollars cheaper than the Windows version of VMware! There are less expensive options than VMware and Parallels, but these two lead the pack in features and performance.
VMware Fusion worked very well for use with Windows XP and Windows Vista, and fairly well with Ubuntu 7. We had a few issues, and there are some missing features we'd like to see added, but we're quite impressed with Fusion. Windows integration is excellent, and the fact that Linux has VMware Tools integration at all is fantastic — not to mention support for less common OS's, including Netware 5 and 6, 64-bit Solaris 10, ancient versions of the Linux kernel, and every version of Windows back to 3.1.
Speaking of software support, VMware Fusion's support for Mac OS X 10.5 "Leopard" currently is considered experimental. VMware has stated they plan full support for Leopard after it is released by Apple later this year.
Fusion is an outstanding first release for the Mac that builds on the company's long history of virtualization. Historically, VMware's development cycle has run 12-24 months between major versions, and the development team focusses on stability and reliability. We hope to see some updates to the "experimental" supported OS's, but that aside, VMware appears to be rock solid. The user interface is polished, attractive and well thought out, and the setup assistant makes it fast and easy to set up a usable Windows environment. Fusion makes Windows behave as close to a Mac as is reasonably possible — and that's really quite something.

0 comment:

Post a Comment