VMware Express 2.0 and Win4Lin 2.0: A Comparison Review
These four packages were selected for their ability to, in combination, bring a wide range of systems to their knees and find compatibility issues in all types of system and emulation software. These applications will be tested on my current test machine, a P3 560 with 384MB of RAM running Mandrake 7.0. I have six primary considerations while evaluating each product: compatibility with DOS/Windows applications, stability both inside the emulator and of the emulator itself, interoperability with the Linux environment, resource efficiency, ease of use and support (but not necessarily in that order). After the individual evaluations, I will include some direct comparisons, a summary and errata that didn't fit anywhere else.
VMware Express is designed to emulate an entire virtual PC with its own BIOS, RAM, disk drives, etc. From a purely intellectual standpoint, this approach potentially offers compatibility on the same level as a real PC with many applications. It also inherently has more overhead than a light-weight emulation approach. VMware sports several key features: Windows 95 and 98 compatibility, support for up to 512MB of RAM in the emulated system, full networking support and file sharing with Linux via a customized version of Samba. Note that VMware Express does not support any OS other than Windows 95 (any version) or 98 (including 98SE). This means that it won't run Windows 3, Windows NT 4, Windows 2000, Linux, FreeBSD, BeOS or anything else other than the two specified systems.
Setting up VMware wasn't at all difficult; pop in the CD, mount it, run the install script, reboot and you're done. Note that some systems might not be compatible with the included setup script, but doing an rpm -i on the VMware rpm works just fine so long as you remember to run vmware-config.pl afterwards. Once VMware is up and running, you must install your own copy of Windows and the VMware tools. For the purposes of this review, I used an OEM (but not customized) copy of Windows 98 Second Edition, and the install went without incident.
The first test--and arguably the most important--was installing and running Office 2000. The first thing I noticed was the install was very, very slow. It took more than twice as long as a native installation on the same machine; more about this later. Once I had Office installed, all components worked fine. Word launched and opened a few large, table-filled documents without any problems. Full-screen mode (View-->Full Screen) worked, as did printing to a file. Excel worked just as well as Word. PowerPoint felt a little more sluggish than its companions, but it was certainly usable. Outlook's performance was quite slow but not out of line with what one would expect on an emulated 64MB computer. All in all, Office ran well enough for someone who needs occasional access to its features under Linux. This bodes well for other popular applications in its class, such as Quicken and FileMaker Pro.
Next up came the Internet Explorer tests. IE is a fair gauge of real-world network application performance and practical 2-D graphics performance. For this test I used the IE 5.5 release with all patches from Windows Update applied. Performance while browsing short pages was good, but things got quite slow while looking at pages that involved a lot of scrolling (e.g., browsing linuxjournal.com). Apparent performance was approximately equal to my P133 laptop with minimal video acceleration. While this was annoying, this is probably a minor concern for the great majority of users for whom Netscape 4 or 6 is quite sufficient.
The real fun started with Adobe Photoshop. I installed Photoshop 6 and configured it to use 75% of available memory. Most users running Photoshop under emulation are more concerned with doing fairly light-weight web graphics and photo correction, so for this test I loaded five pictures I took on my last vacation (2048 x 1536 JPEGs). The system started swapping heavily (though not quite to the point of "thrashing"). Filters (Gaussian Blur, Despeckle, adjusting levels and balance, etc.) were slow but usable. Cropping, rescaling and exporting as web-optimized JPEGs was slower yet, but again, still usable. For running disk and memory intensive applications like Photoshop, I would recommend the reader consider dual-booting Windows if their needs are more than very basic editing and correction.
After the beating VMware took from Photoshop based on its disk and memory handling, Apple's QuickTime was a good test of the remaining multimedia functions, namely animated graphics and sound handling. To set up the test, I went to Apple's web site and downloaded a full install of the latest release of QuickTime 4. I then made a preliminary visit to the web page for Square's Final Fantasy movie to load it into my cache (my personal Squid proxy configured to cache even very large objects). Upon my second visit to the site, I found several interesting (but not totally unexpected) things. First, the movie loaded in just a few seconds, but VMware froze while the movie downloaded. Second, when the movie did play the sound broke up, and the video was very choppy. Multimedia performance was clearly not up to the level necessary for anything even moderately intensive. Among other things, this means you won't be using VMware to play DVD movies or do video production.
My final test was to run Wolfenstein 3D. The short story is: It didn't. Attempting to run the game resulted in VMware's display going black and me having to kill the emulator and restart it. What does this mean? Don't expect that your legacy DOS software will necessarily run in VMware. I would suggest that you download the demo, and try your legacy software before you make your order. Compatibility will vary greatly.
Support is where VMware really falls short. Out of three times I called VMware, once I was told to go to the web site, and twice there was nobody on support nor a voicemail prompt. When I went to the web site, I was asked to enter all kinds of information from contact info to serial number in order to create an account on their system. When I finally got to the point where I could enter an incident report, the form simply didn't work. If you expect to need any sort of product support, stay away from VMware.
The VMware cursor felt "sticky", and VMware insisted on stealing focus every time the cursor passed into its window. VMware refused to let go of focus until the cursor was pushed to the edge of the virtual screen, which is a pain when there is another window on top of VMware's. This doesn't work at all if Windows is busy, as the cursor freeing mechanism is a user-land program in the emulator. VMware also used approximately 12% of my CPU time while minimized and idling in the background, creating a noticeable drag on my Linux applications. I also had to give up 140MB of memory to VMware in its 64MB (emulated RAM) configuration. Additionally, I have issues with VMware's file sharing mechanism; essentially, sharing files via Samba took some tweaking to get running and was slow once even then.
VMware is certainly useful for running legacy applications, but you shouldn't rely on it to replace a dual-boot configuration for running resource-intensive applications. The poor support is definitely a consideration as are the high memory requirements. On the positive side, VMware does seem compatible with Windows applications and should run pretty much everything you throw at it. Verdict: Useful, but be aware of support and hardware requirements issues.
Win4Lin is a product similar to VMware Express, also targeted at Linux users who wish to run Windows (95/98 only) applications while booted into Linux. It takes a light-weight emulation approach, booting directly to Windows (with no apparent BIOS), mapping Windows files to a directory on your Linux file system and mapping Windows network calls to the Linux TCP/IP stack directly, instead of emulating a network card as VMware does. It also sports reasonable hardware requirements, including a 32MB RAM minimum, approximately 150MB of disk space for a basic install and no need to partition or create a disk image file. To do this, however, Win4Lin relies on patching the kernel. This made me nervous, and it should probably make you nervous, too. It also means, as of this writing, Win4Lin is only supported on the 2.2.x series of kernels. What really matters, however, is application compatibility, so on to the tests.
Setting up Win4Lin was pretty easy on my Mandrake 7.0 machine; running the install script from the CD was sufficient. Note that Win4Lin cannot be installed without root privileges; you need to install a new kernel, and (one would hope) your permissions are such that a user can't do this. Note also that you should make sure you can configure and compile your own kernel if you have an uncommon hardware configuration not supported by the default Win4Lin kernel. When I set up Win4Lin, I opted to give each user their own copy of Windows and therefore put the Win4Lin configuration directory in my home directory. I also made sure to increase Win4Lin's emulated memory allocation to the maximum of 64MB (more on this later). Windows setup was fairly painless, perhaps even nicer than on a real computer; Win4Lin reboots in less than fifteen seconds!
Microsoft Office installed quickly and ran just fine. Performance felt close to native with approximately a 10% to 25% performance hit (Win4Lin claims 15%). Opening and editing several large Word documents and Excel worksheets proceeded without incident, as did creating a PowerPoint presentation loaded with charts and animations. Outlook ran slowly, but not much more so than the native install. Performance was quite good, enough that I would consider it instead of a dual-boot for running office-type applications.
Internet Explorer also ran reasonably well under Win4Lin. Scrolling was noticeably sluggish but not unbearable, and page load times were reasonable. IE didn't behave much differently under Win4Lin than it did in native mode. All was not well, however. I looked at some other common network applications and found that Napster didn't work--it couldn't connect to any servers. I suspect this is due to the unorthodox TCP/IP implementation Win4Lin uses for network access, but in any case it wouldn't work. I believe this is representative of network applications as a whole; what works will work well, but some applications will break when faced with Win4Lin's network code. For the record, VMware ran Napster without problems. In any case, there is no practical way to determine which applications will work, except to get the demo and try the applications you need before you place your order.
Following Win4Lin's good showing in the Internet Explorer test, I conducted the Photoshop test. Using the same setup as I did for the VMware Photoshop test, I allocated 75% of the system memory to Photoshop and loaded the same five images. Possibly due to Win4Lin's much lower system overhead, the images loaded reasonably quickly even though Windows went into swap. A routine course of color correcting and filtering (levels, brightness, contrast, Despeckle and Gaussian Blur, as before) was predictably slow but not to the same extent as VMware. For this level of work, Win4Lin was fairly usable. Save often, however, because Photoshop did crash once on me under Win4Lin, and this may be indicative of a larger trend. On the whole, however, Win4Lin performed well in this test.
The QuickTime test was where Win4Lin really ran into trouble. Downloading and installing went without incident, but when it came to actually playing the movie, some disturbing characteristics were exhibited. The Final Fantasy trailer downloaded and played acceptably, but the first time playing the movie Win4Lin stopped responding for the duration. Pressing Play a second time didn't create the same problem. I spoke with a Win4Lin tech and was told this is a known problem, and there is currently no workaround. The bottom line is I wouldn't use Win4Lin for watching movies or doing anything with video, nor would I recommend it to anyone else for these purposes.
Unlike the previous tests where Win4Lin fared quite well, the Wolfenstein 3D test was brutal. Launching Wolfenstein crashed my entire system every time. All I can say is stay away from DOS applications under Win4Lin, as the resulting instability will likely hurt your productivity more than dual-booting. While DOS application compatibility may be a non-issue for many readers, the ability for Win4Lin to take down the entire system deserves careful consideration. You should weigh the added performance of Win4Lin with the possibility of crashing your entire system. While unlikely, this is a point in favor of VMware.
Win4Lin does not offer phone support at all, and this doesn't earn them any favor in my book. On the other hand their electronic support is quite responsive and appears to be knowledgeable. When I didn't respond to one of their support e-mails, they even followed up to make sure I had everything working. Netraverse also has an excellent database of questions they've already answered sorted by frequency, so you may not ever need to contact them for simple issues. The bottom line is that if support is an issue, Win4Lin is the way to go.
Win4Lin had a significantly faster and more responsive feel than VMware, which alone may be an important feature. Its reasonable memory usage (approximately 90MB when 64MB is given to the virtual machine) and better multitasking (its CPU usage is close to zero when idling) may be a great advantage for those not prepared to upgrade their system in the short term. Win4Lin also integrates into the Linux environment much more seamlessly. If you want to use vi to edit a text file saved out of Internet Explorer, for instance, simply point vi to the file as it appears somewhere under ~/win.
Win4Lin is a fairly solid product but has some compatibility and stability issues. It's primary advantage over VMware is its significantly speedier feel and lower hardware requirements, but compatibility issues require careful consideration. Verdict: A solid performer, just make sure it will run your software.
Both VMware Express 2.0 and Win4Lin 2.0 are solid products and worthy of consideration by anyone needing legacy Windows application compatibility. If you are looking for a Windows compatibility solution, I would advise that both be carefully considered. The two most important considerations are application compatibility and resource usage. If system memory and disk space are very limited (i.e., you have 64MB or less of memory or less than 1GB of free space on your hard disk) I recommend Win4Lin. If instead you need rock-solid stability and the best application compatibility available, I recommend VMware Express. Both products have downloadable demos available from their respective web sites, so a careful evaluation of each will cost you little more than a few hours of experimentation. You can download the VMware Express demo from VMware's web site, and Win4Lin from Netraverse's download page.
The verdict: for most users, I would recommend Win4Lin for four reasons. First, it will run well on low-end hardware that VMware won't. Second, setting up Win4Lin is painless and exposes fewer of Windows' oddities than does VMware's installer. Third, Netraverse's support is reasonably good while VMware's didn't have a good showing. Fourth, Win4Lin is less expensive than VMware($89.99 US vs. $99.00 in a box, $59.99 US vs. $79.99 from the web, respectively).
Choong Ng is the product reviewer for Linux Journal.