Saturday, April 24, 2010

CrossOver 9.0 Linux Review A finely packaged Wine

Introduction to Wine and CrossOver

One of the most commonly cited causes for the dual-boot syndrome is the lack of availability of for the Linux OS. Open source developers have been hard at work bringing Linux applications to Windows, however getting Windows applications on Linux is a far harder task. Since a large number of Windows application are not open source, Linux developers are helpless in porting them to their favorite platform.

Linux's acceptance as a viable desktop OS, is then reliant on the availability of key application for it, and companies won’t be willing to port their applications to Linux till until enough people adopt a Linux desktop. This is the reason why it is easier to find applications such as MATLAB, Pro/Engineer, and Maya for Linux, as they users of such software have a larger presence on Linux.
If you are familiar with Linux, you will most probably be aware of Wine (a recursive acronym for WINE Is Not an Emulator), the non-emulator which allows you to run Windows application on Linux. Wine is not an emulator, it instead simply adds the ability to run Windows applications -- albeit partially -- to Linux, by implementing the Windows API for Linux. CrossOver by Codeweavers is a commercial supported version of Wine that allows running of Windows application on Linux or Macintosh. Best of all, Codeweavers, the company behind CrossOver, contributes back to the Wine project.
CrossOver Linux provides many advantages over Wine, which we shall cover in this review, and they make it worthy investment. If you have ever used Wine and found it worthy of your support, one way would be to buy a license for CrossOver, which will give you a brilliant product in addition to the satisfaction of contributing to the Wine project.

CrossOver As a GUI for Wine

CrossOver Wine GUI
Over the years, Wine has improved in performance and compatibility, and while getting an application to run is still a hit and miss affair, Wine is not stable enough that one can consider doing serious work on an application if it is supported. However, for many people getting an unsupported windows application to run with Wine is a daunting task, one that may require some amount of hacking. Not somethin, a new Linux user will find very alluring.
Here CrossOver solves the problem in two ways, firstly, it run a greater number of the applications that are popular, and secondly, it makes it simpler to run application which are not supported out of the box.
Many application expect certain libraries and dlls to be present on your system, which may be reasonable expectations from a Windows system, but might be absent in Wine / CrossOver. Installing Microsoft Office 2007 using Wine, for example, requires the presence of many original Windows dlls and fonts for which you need to install a number of runtime packages and libraries. None of this is obvious, and installing this manually would require some research and patience.
CrossOver on the other hand comes with a wizard interface that guides you through installing your copy of Microsoft Office, Photoshop, Quicktime, etc, from its installation CD or file. It even ensures that any files required to run that particular Windows application are installed, and if not, it downloads and installs them for you.

The list of officially supported applications is still rather limited, and contains only some of the most requested, and popular applications, however this time around, with CrossOver 9.0 Codeweavers have taken advantage of their large community of users, who are willing to experiment and hack up "recipes" for installing unsupported applications. As more users try out applications and submit the tricks needed to make them work, the application will be able to guide users through installing a growing number of applications without needing to have any knowledge of what goes on in the background.


Now comes a feature of Codeweavers CrossOver that even Windows doesn't have: Bottles.
Windows is a fragile mess of dll dependencies, and Wine / CrossOver is an attempt to "emulate" that mess. Since we are running application in their non-native environment, and one that they are not aware of, we have to be more accomodating.

Installing an application might result in breaking other applications, and often we may be faced with scenarios where it is necessary to run multiple versions of the same application (such as Internet Explorer) on your computer. For this CrossOver has a feature called Bottles.

A Bottle is essentially a virtual Windows environment in which applications can be installed. With CrossOver, you can create multiple bottles running different versions of Windows from Windows 98, Windows 2000, Windows XP and Windows Vista. Think of this like the compatibility mode setting available in Windows, which allows running of applications designed for older versions of Windows. You can specify which version of Windows CrossOver will mimic while running your application.
Bottles are an important feature of CrossOver
By default when you are installing applications using the CrossOver Software Installer, it will create a new bottle for every new application that is installed; however you can manually override the bottle that should be used.
What this means is, that you can have Internet Explorer 6, Internet Explorer 7, and Internet Explorer 8 all installed on the same computer, and run them at the same time! Since they will be in different bottles they will not be aware of each other’s existence. In fact, you can have multiple copies of a bottle so you could test the application under different conditions. For instance, you can have one bottle with Flash 10 installed and another with Flash 10.1 installed.

It is possible to have the same functionality in Wine, however doing so is not as simple. With Wine using "bottles" (or "prefixes" as they are known for Wine) requires constant fuddling around with the command line, and are less powerful and flexible. Although GUI tools such as Q4Wine do exist to simplify the task.

You might wonder what the benefit of this might be -- why the hell would someone want to install Internet Explorer, (especially Internet Explorer 6) on a perfectly good Linux machine. The fact is, this might not be matter of "want" but of "need". For someone who is a web developer, running Linux, it is surely annoying to need to reboot your computer, or install Windows in a Virtual Machine every time you need to test how a website works for those using Internet Explorer on Windows. Not only is it time consuming to do so, it requires that you obtain a Windows License. While Microsoft does provide copies of VMs with different version of IE installed, they are time limited versions and not exactly friendly to install in Linux.

Bottles allow you to isolate changes very well, so if anything goes wrong, you can always delete the bottle and start again, without affecting applications installed in other bottles. You can open a bottle for testing and then delete it off once you are done.

Since CrossOver can be run from the command line and allows launching Windows exes by simply clicking on then, you need to set a default bottle which will be used in such instances. CrossOver has a rich collection of command line options, so for those who prefer that route the option is there.
A brilliant functionality CrossOver provides for bottles is that they can be packaged into a convenient archive which includes all the settings and installed applications. This is especially useful if you want to package all your bottles for reinstalling after a reformat, or moving to a different computer, for distributing an installed application to others, or simply for backup. An even better option for system administrators is available in the professional version of CrossOver which allows one to create a Linux rpm / deb package of the bottle applications! This way a system administrator can customize and configure a Windows application which doesn't run out-of-the-box, and simply distribute the rpm. Such rpms will be usable even with a Standard version of CrossOver, of course, as long as you have the requisite number of licenses for the application.

Another interesting option present in the professional version of CrossOver is the ability to have "managed bottles" which means that an application can be installed once by an admin, and shared with all users on the system, thereby saving space. This managed bottle can be used and modified by any user on the system while saving only the changes in their own accounts.


CrossOver Office 2007
There is no doubt that using something like CrossOver or Wine will not give as stable and reliable performance as running the same application on a VM, however the kind of integration that one gets from running an application natively is something that VMs are only now inching towards.
Simple actions such as handling file associations, dragging dropping, copy paste are problematic when dealing with a VM. With Wine or CrossOver, this is not an issue, since both applications are running on the same system.
That said, there are bound to be problems in integration between Windows and Linux due to the differing paradigms. Linux file managers for example usually have a MIME-based system for file associations, while Windows uses file extensions.
Even so, CrossOver integrates well with the OS. Applications installed in the system neatly create icons in the KDE / Gnome menu under "Windows Applications" and on the desktop. Installed applications can handle file associations and can can handle drag drop and copy paste.
Windows applications launch when double clicked (if they are supported obviously), msi installers however, do not. CrossOver can install from msi files using the Software Installer though.

Extensibility with C4 XML profiles

One of the best features added in the 9th version of CrossOver Linux has to be the new C4 (Codeweavers CrossOver Compatibility Center) profiles feature. This allows third parties to write small XML scripts which can be used to install applications which are not officially supported by Codeweavers. These XML profile files can be used to install unsupported software using the Software Installer wizard interface. These XML files can be distributed as ".c4p" files and can use used with the Software Installer.

While creating such profiles can be a daunting task for an average computer user, community created profiles for popular applications means that you may find that a growing number of applications available for installation using the wizard. In fact some of the application which are unsupported in the release of CrossOver 9.0 have c4p profiles available via the Compatibility Center. One such example is Photoshop CS3.

The profile configuration system for CrossOver is advanced enough to support application dependencies, along with pre-install and post-install actions, and detecting the application installation CD to make the installation process as smooth for the end user.

An organization using CrossOver can take advantage of this features by providing employees profiles for commonly used application which are not supported in the Software Installer. While it is much simpler to just package the application in an archive or rpm / deb installer for distributing to end users, support for profiles is present in the standard version as well, unlike support for creating rpm / deb installers, any may be used to to much the same effect.

Currently though this only an alpha feature of the software and will display a warning when you try to install any application using profiles. The profiles available right now are also limited, and don't cover many applications, they are available as examples for third parties to create their own profiles.

CrossOver support

While it is difficult to rate and review the kind of support you get with a product, considering the complex nature of the product, and the fact that it will at its best can only accomplish a limited amount of what it has set out to do. It is nonetheless possible to enumerate the options available.
Since part of what you are paying for is software support, it is important to know how much you can get. With the wide array of applications available for Windows and the multitude of versions of each, and the stream of updates which follow, it is impossible for the people at Codeweavers to provide support for all. Don't expect Codeweavers to help you install that special Kundali software that only your local CyberCafewallah sells!

If you purchase CrossOver Standard, you are eligible to receive Level 3 support, which means you will get support "for installation issues or major show stopping issues" that you encounter while running or installing a supported applications if you are using one of their "tested distributions." The support expires after 6 months, during which you will also be eligible to receive any minor (v8 to v8.1) or major (v8 to v9) upgrades. There is no way to renew support once it expires, although you can simply repurchase the software.

Users of the Professional version, are eligible for Level 2 support. It is similar to Level 3 support, however Codeweavers will entertain problems you have while using the application on an unsupported distribution. Additionally, any Level 2 problems will eventually see a fix in a future version.

Level 1 support is the support level Codeweavers gives to customers who purchase a multi-user license for over 100 people.

Other than that, Codeweavers has a huge database of applications called Codeweavers CrossOver Compatibility Center (C4). It contains details information of how well applications intall and run on CrossOver along with information about bugs, tips and tricks for running / installing the applications, screenshots, and even forums for each applications.
Here registered members can also vote for which application they would like to see running on CrossOver, so that Codeweavers know how to prioritize fixes. They also maintain ranks of application based on how well they run, or voted, or pledges etc.

Pledges are another way of measuring the priority of an application. Pledges allow registered members to, in a way, put their money where their mouth is and declare how may licenses of CrossOver they will be willing to purchase, if the application they are pledging for is supported.
Overall, Codeweavers has found an excellent way to contribute to open source development, and towards increasing Linux adoption while still managing to make money. While the 6 month support might seem a little less, in the kind of dynamic situation that Wine is, it is to be expected. A CrossOver license in the end, is not that expensive. being a mere $39.95 (around Rs. 1900) for the standard, and $69.95 (around Rs. 3200) for Professional, and will discounts available for bulk purchases.


CrossOver is an impressive solution for running Windows applications on Linux, although it is far from perfect. The very premise of the application -- which is to be able to run all Windows applications flawlessly -- is something which it is still far from accomplishing at present. While this may be disappointing to some, it is something that CrossOver states very clearly. They make no false or exaggerated claims of what their application can accomplish.
Whatever CrossOver does try to accomplish, is something which is in within the purview of Wine as well. While CrossOver is a superset of Wine, it is worthwhile to note what elements it adds to its counterpart and then decide whether those are worth paying for.

Over and above being simply allowing Windows applications to run, CrossOver acts as a good bridge between the differing paradigms of Windows and Linux, with support for creating Linux packages out of Windows applications, and distributing them as easily, by creating virtual bottles, and automatically installing dependencies of applications. For those coming fresh from a Windows environment, many will be unable to figure out the often confusing steps required to run Windows applications.

For anyone needing a supported version of Wine, or a simple-to-use interface for installing and managing Windows applications, CrossOver if your best bet. If you wish to support Wine development, then any money spent on Codeweavers products is sure to end up promoting the development of Wine. If there are applications you need to run on Wine which aren't supported yet, pledging and voting for them is a good way of directing the development of Wine.
If however you need to run Windows applications on Linux and are not bothered by the added complexity of the commandline tools for configuring and running Windows applications, and are comfortable with installing 3rd party application to manage your installed applications and prefixes, you might be better off with the free open source Wine. Even so, CrossOver might feel like a worthy cause for investment to some; as it is a company which makes money while promoting a good cause and contributing to open source.

Putty for Mac
Putty for Mac

How to switch your small or home office to Linux

By Graham Morrison

With Linux and free software making a name for itself in the world of big business, many people are testing the feasibility of switching small and home office software to their open source equivalents.
Regardless of how you feel about the Linux desktop, this is one area in which Linux can have a real impact, both financially and productively, and any small or home office has the potential to be transformed by just switching one application or two to their open source equivalents.
This is traditionally the domain of Microsoft, a costly and sometimes frustrating environment where you have to constantly keep on top of updates, patches and the latest versions to stay in the loop. Free software offers an escape from this cycle, and more importantly, an alternative.
Linux and free software can offer a breath of fresh air, and you don't even have to jump feet-first into a new operating system: cross-platform open source applications enable you try the alternatives before you make the big switch.

Most users are going to find that the free versions of the software they're used to are very similar in both design and functionality, and over the course of the following pages, we list the most important and try to highlight any gotchas and considerations along the way.
It's a sign of how successful free software has become that we could have filled these pages with various alternatives for many other common tasks and applications, but we wanted to go into enough depth that prospective users will feel confident enough to make the switch, or discuss the potential with the people who make the decisions.

How we learned to stop spending and love free software
The great thing about open source software is that, no matter what platform you're using, if an application is popular enough it will have been ported to your system.
Free software stalwarts like, Firefox and Gimp all work just as well on the Windows platform as they do on Linux. This means that even if jumping to Linux seems like an intimidating prospect to begin with, you can safely swap an application or two in your regular software suite to begin with, and see how things go over a period of weeks.

As your confidence builds, you could consider replacing another application, and perhaps another, until you realise that maybe Linux isn't the leap into the unknown that it used to be.
The world of the small office seems to be dominated by products from Microsoft and Adobe, neither of which have made a serious effort to port their heavyweight products to the Linux desktop. This is where open source developers have tried their hardest to catch up, building free alternatives to most of the commercial offerings from both companies.

Free software is full of alternatives, because developers like choice. And because the code that's used to create this software is open, once one application has invented a new kind of wheel, you often find its open source competitors catching up and providing many of the same features.
Many are also very receptive to feature requests and personal emails, which is something that would never happen with either Adobe or Microsoft. And of course, if you or your colleagues have the necessary coding skills, you can change things yourself and make a contribution to the community.
A point you'll find we make several times over the following pages is that while there may not always be total parity with the applications you're used to in the proprietary world, in the vast majority of cases this tiny shortfall won't make a difference. There are very few office users who touch these advanced features, and if you're one of the minority of users who use the full feature-set of of an application such as Microsoft Office, we've got a solution that will enable you to keep your old applications on Linux.

Running Windows apps on Linux
If you do switch your office to Linux, there are still two ways to run legitimate Windows software. The first is Wine, an application that lets you run Windows executables from your Linux desktop. It will let you run applications like Quicken and older versions of Office without difficulty, and newer versions can be made to work if you don't mind a little tinkering.
There's also a commercial Wine solution called CrossOver Office. This will run Microsoft's latest Office suite, and the money you pay for CrossOver will be rolled back into open source development. The best bit is that you won't need a licence for the operating system, only the software you use.
We're getting ahead of ouseselves a little here: while it's good to know that things will still work, you'll find that maintaining Windows compatibility becomes less of an issue as you get used to the new set of tools that Linux offers.

Sunday, April 4, 2010

Windows Application Compatibility in Linux using CodeWeavers CrossOver Linux 9 & CrossOver Games

As the seemingly eternal struggle between proprietary and open source…between the expensive and the free…and between the challenging and the insanely complex… It is the struggle between Windows and Linux. It is estimated that somewhere around 90% of the computing world runs the Microsoft Windows operating system, while the other 10% is divided amongst Macintosh OS users (which is still a derivative of UNIX), Linux OS users and a handful of other vendor specific OS's (i.e. Solaris). The conclusion that can be drawn from this percentile is that Microsoft Windows is the most supported operating system currently in production—it supports a larger variety of hardware and software programs due to the fact that ±90% of these components are most likely themselves built on (and for) Microsoft Windows. Since Linux first started getting popular in the early '90's, continuous attempts at bridging the quite distant gap between the two OS's have slowly but surely started have an impact on computer users throughout the world.

One such attempt is CodeWeavers' most recent version of CrossOver Linux 9 (or, similarly, CrossOver Mac 9). This program strives to increase the number of Windows-specific applications that can be run on a Linux machine in an effort to reduce the all too heavy dependency on Windows. While CrossOver Linux has been developing for 10+ years, CrossOver Linux 9 includes such supported Windows programs as :
  • Microsoft Office (Word, Excel, PowerPoint) both 2003 and 2007 versions
  • Microsoft Office Outlook 2003,2007
  • Internet Explorer versions 6 and 7
  • Quicken versions up to 2010
  • Intuit QuickBooks up to 2004
  • Some versions of Adobe Photoshop
In Steven J. Vaughan-Nichols article CrossOver Linux 9: Run Windows apps without Windows, he notes that "…I'd say this new version supports about 20% more applications (at a level that most users would find usable) than the last one." Although this number might not seem very impressive, the fact is that Linux programmers are striving to "wheen" Microsoft users off their deep seeded dependency of their unstable (at best) OS—most likely due to a compatibility conflict with one certain application.

Another perk about CrossOver Linux 9 is that it is possible to install and run applications that are not specifically included in CrossOver's "Officially Supported" list. Among these that have been successfully installed and ran are the .Net Framework 3.0 as well as Visual C++ 6.0! While this is impressive, it fails in comparison to CodeWeavers' answer to handling Windows gaming support—namely support for DirectX 10—in an alternate version called CrossOver Games. Because of this compatibility with Microsoft's graphics API, Linux users can now play games such as W.O.W., Battlefield 2, Modern Warfare 4, Fallout 3 and Halo 3 a what-used-to-be impossible feat to accomplish without the use of a virtual machine (which is not the greatest for games because of the graphics inconsistencies.

Running Windows Applications on Linux

The perceived inability to run windows applications on Linux is what keeps many individuals from trying Linux. It turns out that it is possible to run many popular Windows applications on Linux PCs using one of several software technologies. Products that will allow Windows applications to run on Linux include:
Cedega from TransGaming Technologies Inc.
CrossOver Office for Linux from CodeWeavers Inc.
QEMU from Fabrice Bellard
VMware from VMware, an EMC company
Win4Lin from Win4Lin Inc.
Wine from the Wine Project

TransGaming Technologies bills themselves as “the global leader in the development of software portability products for cross-platform gaming”. Their flagship product, Cedega, allows games originally created for Windows to run on Linux.

CrossOver Office
CrossOver Office from CodeWeavers allows many popular Windows applications to run on Linux. The list of applications that CrossOver Office allows to run on Linux is quite extensive and includes applications such as: Microsoft Office, Lotus Notes, Microsoft Project and Visio, and graphics applications such as Macromedia Dreamweaver MX, Flash MX, and Adobe Photoshop, and much more. CrossOver Office also allows individuals to use many Windows Web browser plugins, such as QuickTime and Shockwave. CodeWeavers uses Wine technology in its CrossOver Office Products (see the Wine description later in this article).

CodeWeavers maintains an extensive list of applications that can run on Linux using CrossOver Office with a ranking of how well they run. The list can be accessed on their web site.
CrossOver Office has been tested on many Linux distributions. The complete list may be found on the CodeWeavers web site.

CrossOver Office is available in two versions, Standard and Professional. The Standard version is intended for home users and Linux enthusiasts, while Professional is more for commercial users and builds on the functionality of Standard by adding enhanced deployability features, as well as the ability to run CrossOver Office in shared mode from a single machine.
A 30-day trial of CrossOver Office is available from CodeWeavers and may be obtained from their web site.

QEMU is a generic open source processor emulator that was developed by Fabrice Bellard. It is available for free. QEMU allows a user to run one operating system, such as Windows, within another one, such as Linux.
QEMU is available for Free and may be downloaded from Fabrice’s web site.

VMware comes from VMware, Inc., an EMC company. VMware allows users to to run multiple virtual machines on a single PC. Each virtual machine can run a different operating system. The net result is that VMWare allows a user to run multiple operating systems on a single Intel-based PC. Using VMware, a user can run a Windows virtual machine and Windows applications on a Linux PC.
VMware Workstation supports a long list of Linux distributions as the host operating system. You should check with the VMware web site for the specific releases and kernel levels supported.
A free 30-day trial of VMware Workstation may be downloaded from the VMWare web site.
VMware also provides the VMware Player for free. The VMware Player can run virtual machines created by VMware Workstation, GSX Server or ESX Server. Pre-configured VMware virtual machines may be obtained from the VMWare Virtual Machine Center.

Win4Lin from Win4Lin Inc. provides a Windows virtual computing environment that runs on Linux allowing Windows applications to run on Linux. Win4Lin comes in three versions that would be appropriate for the home user:
Win4Lin Home, which is targeted for the home or small business user.
Win4Lin 9x (Formerly Win4Lin 5), which is targeted for the home user/hobbyist, or business users who do not require Windows 2000.
Win4Lin Pro, which is targeted at power users who require Windows 2000 or XP.
Win4Lin runs on most 2.4.x or 2.6.x Linux distributions. Win4Lin 9x and Win4Lin Home require a modified kernel to work. For most users, the Win4Lin graphical installer will select, download, and install the appropriate binary replacement kernel, making patching the kernel unnecessary. However, there are some distributions that may require users to compile a vanilla kernel from source. Such distributions include Red Hat Enterprise Linux 3 and 4, and Fedora Core 3 and 4. Some Linux distributions include Win4Lin support in their default kernel or make a Win4Lin enabled kernel available, including: Gentoo, Linspire, SimplyMepis, and Xandros. Win4Lin Pro does not require kernel modification.

Wine, which stands for Wine Is Not a (CPU) Emulator, is an Open Source implementation of the Windows API (application programming interface) that runs on Linux and POSIX compatible operating systems. Wine is a compatibility layer that allows Windows programs to run on Linux. Wine is still under development, and it is not yet suitable for general use, however, many individuals use Wine to run Windows applications on Linux. WineHQ maintains an Application Database of individual’s success and failure reports running Windows applications with Wine. Other products mentioned in this article are based on Wine, including CodeWeavers CrossOver Office, and Cedega from TransGaming Technologies.