I took Win4Lin Pro 2.0 for a test drive, to see whether it was a suitable choice for users who want to run Windows applications under Linux. Note that Win4Lin Pro is only for Windows 2000 and Windows XP; if you want to run Windows 98 or older versions of Windows, you can use the company's Win4Lin 9x, which has been available for several years. If you want to run other x86 operating systems, VMware, Xen, or Qemu might be what you're looking for.
I tested Win4Lin Pro on an Ubuntu Breezy system with an Athlon 3000 XP CPU and 1GB of RAM, using Windows XP with Service Pack 1 (SP1).
Win4Lin Pro is available as a RPM and Debian package for installation on x86 systems, and as a RPM for installation on AMD64 systems. The Win4Lin requirements don't specify which Linux distributions are supported, or what versions of the kernel or GCC are needed, so it's hard to say whether Win4Lin will run on a given distro or not. I was a bit concerned that Win4Lin wouldn't run on Ubuntu Breezy, but I plunged ahead with the Win4Lin Debian package.
After installing the Debian package on my system, I received an error that complained that my system was lacking kqemu, and to install GCC and "the matching source or development package for your running kernel" and then run the /opt/win4linpro/bin/build_kqemu.sh script after installing the appropriate packages.
Win4Lin Pro installing Windows XP - click to enlarge
I've run into some similar annoyances when installing VMware Workstation, so it wasn't entirely surprising to find that I'd need to download the kernel source to build a module to run Win4Lin. I installed the source and header packages for my kernel, and ran the script again. This time, it built the kqemu module and loaded it. While it's possible to run Win4Lin without the kqemu module loaded you don't want to do this. I tested running Win4Lin without the acceleration provided by the kqemu module, and it was amazingly slow.
By the way, I spent some time browsing Win4Lin's forums, and found that I am not the first user to have problems with this. The Win4Lin documentation is pretty shoddy in this regard. The Win4Lin Pro Troubleshooting guide is silent on the subject of kqemu, as is the Users Guide, and most of the documentation provided by Win4Lin -- and what mentions I could find didn't address the problem of actually getting it installed.
With the kqemu module successfully installed, the next step was to copy a Windows installation CD to disk, so I ran the command to do that -- Win4Lin setup is command-line-oriented -- and received an error about being unable to copy from the CD.
Since I'd used the CD successfully in the past, that seemed a bit odd. After some additional searching through the Win4Lin forums, I found that it was possible to install from an ISO image on the hard drive. So, I copied the CD to the hard drive and Win4Lin had no problem reading the image on the hard drive -- even though that image was created by copying from the physical media that Win4Lin complained about. Again, I found a number of posts on the Win4Lin forums about this issue, which makes me suspect a glitch in the Win4Lin scripts rather than bad media.
After copying the CD, the final step was to actually install Windows XP under Win4Lin. This process is pretty much the same as installing Windows XP on a physical machine, except it seems that Win4Lin auto-responds to some of the prompts by the Windows XP installer. I didn't run into any glitches or problems during this stage.
By default, Win4Lin Pro gives the guest host 4GB of disk space and 128MB of RAM. For my use, 4GB of disk space for the Windows guest system is sufficient, but I suspect that many users would prefer to have a larger disk. It would be nice if the Win4Lin installer would ask the user how much disk space and RAM a user wishes to allocate, rather than assuming that 4GB of disk space and 128MB of RAM is enough unless told otherwise.
After looking through the documentation a little more, I found that I could increase the amount of RAM allocated to the guest host by adding MRGPRO_WINDOWS_RAMSIZE=384 to the settings.local configuration file. This bumped the amount of RAM up to 384MB, but the amount of RAM can be changed to suit your tastes.
After the installation, I set to using Windows under Win4Lin Pro. Even with the kqemu acceleration, Windows XP was slow enough that it was irritating -- though not so bad as to be unusable.
One thing that I liked is that Win4Lin automatically set up a "share" to my Linux home folder under Windows. This makes it easy to access files in my home directory on the Linux host machine while I'm in the Windows guest host.
Obviously, Windows XP by itself isn't that compelling. Most users will want to run Microsoft Office, Adobe Photoshop, or other Windows applications. To test Windows performance under Win4Lin, I installed OpenOffice.org 2.0, Firefox 1.5 beta, and a few other applications.
Performance of Windows XP and applications under Win4Lin was acceptable, but I've run Windows XP on the same machine under VMware, with the same memory profile, and found its performance to be much better than under Win4Lin.
Even though it was a bit boggy, Win4Lin Pro was stable. It didn't crash while I was putting it through its paces. And Win4Lin's impact on the Linux host system was minimal.
Running just a few tasks, like browsing in Firefox and running OpenOffice.org, left Windows running very slowly. For a light load, like running a word processor or something like QuickBooks, Win4Lin might be an acceptable solution. For users who are going to be running much of the Microsoft Office suite at the same time, plus other applications, Win4Lin is probably going to be a bit too boggy to be acceptable unless you tell it to use a lot of RAM on a very fast machine.
Windows XP running under Win4Lin Pro - click to enlarge
It's important to take note of Win4Lin Pro's documented limitations, which include lack of direct USB support, problems with mouse synchronization, and audio that's limited to playback only -- if it works.
Sure enough, sound didn't work on my machine. This is pretty disappointing, since one usually expects sound to be available. Further, I'd expect the Win4Lin Pro advertising to contain a caveat that sound support is missing. Instead, the Win4Lin Pro page says that "Win4Lin Pro runs Windows 2000 and Windows XP applications as intended" and that it is "the perfect solution for the technical workstation, home, or enterprise Linux user." Correct me if I'm wrong, but I think that many Windows 2000 and XP applications were intended to have sound.
Printing is set up through Linux, so your Linux host has to support whatever printer that you want to use in Windows, and the Windows host has to print to a generic PostScript printer (in this case, the Apple LaserWriter v23.0) instead of being able to print directly to an attached or networked printer. This means that special features of some printers may not be available to Windows hosts under Win4Lin.
I found Win4Lin Pro's setup to be a bit of a hassle, and I'm used to setting up Linux applications with difficult or user-unfriendly setup routines. Quite frankly, I expect a bit more polish in a commercial application -- particularly an offering that's been around in one form or another for several years.
I suspect that Win4Lin Pro's target audience -- users who still have several "must have" Windows applications -- will find Win4Lin Pro to be frustrating to set up, particularly if they are unable to wrestle kqemu into submission and have to run Win4Lin Pro without acceleration.
Also, the Win4Lin folks need to do a better job of documentation. It's nice that they have user forums to turn to for support, but that should be a last resort rather than the main method of finding answers to common problems -- like the kqemu problems.
At best, I would say that Win4Lin Pro is acceptable for users who need to run Windows XP or Windows 2000 under Linux -- but only barely. Compared to the competition, Win4Lin is a poor substitute. It's less expensive than VMware Workstation, but I'd rather spend the extra $100 for VMware's additional features and better performance.
|Product name||Win4Lin Pro 2.0|
|Purpose||Run Windows 2000 and Windows XP under Linux|
|Architectures||Runs on Linux x86 and AMD64|
|Market||Business and home desktop users|