January 29, 2007

Running Windows applications with CrossOver Linux 6.0

Author: Mayank Sharma

CodeWeavers this month announced version 6.0 of its flagship Windows compatibility product. Now called CrossOver Linux, the new version is the first with official support for games. With its growing application support and foray into gaming, CrossOver Linux 6 is an excellent alternative for Linux users who are stuck with a Windows application at work or at school.

The changes to application support in CrossOver Linux 6 are frugal -- mostly tweaks and interface improvements to streamline performance. But a lot of work has been done to enable this version to support Steam-powered games such as World of Warcraft and Half Life 2. To give unsupported applications a better chance of working, version 6 has a new Windows XP bottle. Bottles, introduced in version 5.0, are discrete instances of the Windows compatibility layer, designed to improve stability by isolating applications.

CrossOver Linux 6 is available in two flavors: Standard ($40) and Professional ($70). Both versions support the same applications, but Professional edition has a few enterprise-centric features. For instance, the Professional edition offers two multi-user installation modes. In the managed multi-user mode, the root user installs applications to be used by all other users in the system, who cannot install their own. In the private multi-user mode, individual users on the system can install and manage their own applications.

If you plan to run the software on other desktops in the organization, CrossOver Linux Professional lets you create an RPM of a bottle, which you can easily install on another RPM-based distribution. This didn't work in the Debian-based Ubuntu, of course. I tried it in FC6 and the RPMs were created easily, but upon installation they failed a dependency check; all RPMs created in CrossOver Linux 6 apparently require CrossOver Office 5.

The new release has modest hardware requirements, and most Linux distributions should satisfy its software requirements. I successfully installed both versions on Ubuntu 6.06 LTS and Fedora Core 6, with and without SELinux enabled.

Once installed, CrossOver Linux 6 integrates well into the distribution. In Fedora, even crossed-over Windows applications had Compiz 3-D properties.

CrossOver Linux running several Windows applications - click to enlarge

The first application I installed after CrossOver Linux itself was Windows Media Player. CrossOver Linux directly fetches its installation files over the Internet. Before installation, CrossOver Linux automatically created a Windows 98 bottle. The installation was as smooth as it would be on a native Windows platform. Next I decided to install a Flash player. Since there is a Flash plugin available for Linux, CrossOver suggested that I use the native Linux plugin instead of the Windows one.

Among CrossOver's list of supported applications is something called CrossOver's HTML rendering engine. The CrossOver installer simply says that in some cases, the HTML rendering engine, could be a replacement for Internet Explorer, without going into details. Even with this engine installed, applications that depend on IE, such as Acrobat Reader, still complained about IE being missing from system.

I also successfully installed Microsoft Office XP. After installation, I was able to add custom document templates and copy and paste text to and from Linux applications.

A Steam-powered game running under FC6 - click to enlarge

I installed the Steam game client, and was able to play demo versions of World Of Warcraft, Half Life, Heroes of Annihilated Empires, and Medieval II Total War. Similarly, the rest of the supported applications I tried didn't give me much to complain about; none of them ever crashed.

After testing supported applications, I moved on to testing some unsupported ones. Before installing an unsupported application, the installer displays a screen with three links to CrossOver Linux's Compatibility Center, the Unsupported Applications Guide for people wanting to troubleshoot an unsupported application, and the services page.

A couple of DVDs from various monthly computer magazines got me a good number of proprietary applications and games to test with CrossOver Linux. Coincidentally all DVDs had executable interfaces designed in Flash, but I was able to navigate them without the Flash player installed on my system, neither through CrossOver nor under Linux. One CD had an archive of its previous issues in PDF format. When clicked, CrossOver Linux displayed them with the default PDF viewer on my Linux system.

To check whether applications were more sluggish when run through CrossOver, I decided to install a couple that can run on Linux natively. First up the Opera 9.02 Web browser, which installed in no time and visually appeared to be as fast as the native installation. On the other hand, Firefox 2.0's installer took more than a minute to launch and then, surprisingly, failed the disk space requirement test; it demanded 2.43GB of disk space. My guess is that the CrossOver Linux developers are concentrating their efforts on applications that can't run on Linux natively, which makes sense.

I then installed several other non-supported applications and small games, such as Adobe Contribute 4 for editing Web sites, RealPlayer media player, TurboCash accounting, and 1Click DVD to AVI converter, and they all installed and worked correctly.

Of all the non-supported applications, I installed, only TurboCash had a minor glitch. When it's running, it doesn't show up on GNOME's taskbar.

To make sure unsupported applications don't interfere with the installed supported applications, the installer recommends installing them in a separate bottle, though you have the option of using an existing bottle.

Pay attention to how you install applications. If you directly install an application by double-clicking its .exe installer file, it will be installed in the default bottle. If you want to create a custom bottle instead, you have to go through the CrossOver Linux installation wizard. Sometimes you have to do that. For example, my default bottle was Windows 98, and Adobe Contribute 4 complained about the Windows installer being too old. When I created a Windows 2000 bottle, the installer didn't complain.

After installing an unsupported application, the installer tells you where you can find the installation log. The path provided is a rather long one, and since it contains spaces, the path cannot be copied and pasted into terminal. The developers should consider creating a symbolic link to the log, somewhere where it's easily accessible.

All applications, supported and unsupported, are available from under a "Windows Applications" sub-menu under the GNOME and KDE menu. They also show up in the right-click context menu when you click on a file that is associated with a Windows application. So, when you right-click on a .wmv file, there will be an option to play it with Windows Media Player, if you've installed it. You can also tweak settings of the installed applications or modify relevant extension associations by altering the behavior of the bottle they are installed into. For example, you can disable IE from opening any HTML file, if you just installed it because other applications depend on it. There's also a Windows-style task manager that lists running tasks.

Finally, if you ever uninstall CrossOver Linux, you have the option to preserve all of its bottles with their applications intact. This is useful if you decide to move from the Standard to the Professional version, or in the future upgrade from CrossOver Linux 6 to 7.

CrossOver Linux has some advantages over running virtualization software. For one, it saves you the cost of a Windows license. Also, CrossOver Linux is better suited to utilize the graphics infrastructure on your computer which allows you to play 3-D games. On the down side, it wouldn't support all native Windows applications, as a virtual machine would. Yet CrossOver Linux 6 remains an ideal solution for people who need to run the most popular Windows applications.

Read our interview with CodeWeavers CEO Jeremy White.

Click Here!