Running Windows programs on Linux with Wine
Users who move from Windows to Linux often miss some of their favorite programs and games. Wouldn't it be practical to run Windows applications on the free Linux operating system? Time for a little taste of Wine.
Many Linux migrants miss games and graphics programs such as CorelDRAW or products such as Adobe Photoshop. The only solution is to install Windows parallel to Linux -- or try Wine, which tricks applications into believing they are running on a Windows system.
The history of Wine goes back to the year 1993. At the time, Sun developed a small tool to run Windows applications on its own Solaris operating system – without the need for a Windows license or other interaction. This software inspired Bob Amstadt and Eric Youngdale to develop something similar for Linux. A short while later, the first version of Wine was released. Today, more than 300 volunteer programmers from all over the world continue to contribute to the Wine project.
What's in a Name?
To run Windows programs on Linux, Wine uses a fairly complex trick: It sits between the Windows application and Linux like a simultaneous interpreter. If the Windows application says: "Draw a button," Wine passes this command directly to Linux. In contrast to VirtualBox or VMware, Wine does not emulate a whole PC and is thus not a real emulator. This also explains the name Wine, which means Wine Is Not an Emulator.
Because of the way Wine works, it offers a number of advantages. Chiefly, you do not need an expensive Windows license. Programs will run almost as fast as on the Redmond operating system, and windows behave as if they belong to a native Linux program.
An interpreter can only be as good as its knowledge of the language, and therein lies the problem: Because Microsoft refused to release details of its operating system until just recently, Wine developers were forced to adopt a trial and error approach. This involved much painstaking work, and considering the multiple gigabyte operating system monster they were facing, it was very much a labor of Sisyphus. On top of this, some software manufacturers use pretty nasty programming tricks, and to talk these applications into running on Linux, Wine needs to know these tricks. Unfortunately, most software vendors keep this kind of information safely under lock and key.
Despite years of work, then, Wine is still officially under development, and most of the work is going into the fields of multimedia, video, and 3D graphics. This said, Wine does support DirectX 8 and 9 quite well by now. The developers started work on the tenth incarnation of this critical graphics interface for games last year. An additional limitation is that Wine can only handle 32-bit Windows applications, although support for 64-bit software is planned for some time in the future.
Wine has another disadvantage: It can only handle Windows applications; it cannot revitalize hardware with Windows-only driver support.
Before you fire up your package manager and launch into the Wine install, you might want to take a look at the application database on the Wine homepage . This database summarizes the level of support for various Windows programs: whether or not they run on Wine, and if so, how well behaved they are. To access the database, go to the Wine homepage and, in WineHQ Menu, click AppDB on the left. In the AppDB area, select Browse Apps. Then go through the drop-down list labeled Category until you find the category and application you are interested in and click on Update filter. CorelDRAW and Photoshop are hidden below Multimedia | Graphics | Graphics Editing, for example. Alternatively, you can use the search function on the left to find your application in the database.
If you decide to investigate CorelDRAW, you are taken to the page shown in Figure 1, where you will find ratings for different versions, telling you how well the program fared in tests performed by Wine users. The Platinum rating is only awarded if a program runs without errors and without any impairment to functionality on Wine. A couple of older CorelDRAW versions have made Gold status; the current X4 version refuses to cooperate entirely (Garbage). Adobe Photoshop CS2 will run more or less as the makers intended, whereas the current CS3 version has reached only Bronze status. Things are even worse in the case of Adobe Illustrator. As a rule of thumb, the older a program is, the better your chances are of getting it to work.
A Wrench in the Works
Clicking on a program version tells you exactly what the trouble is. A new window appears with details of what does and doesn't perform as expected. In addition, user reports at the bottom and tips for talking the program into cooperating can be very useful. The steps this requires, some of which are very complex, are something you should not attempt unless you are an experienced Linux user. In some cases, programs refuse to work because Internet Explorer is missing; for example, Lexware accounting software relies on Internet Explorer for some operations.
If your application is still listed as broken in the database, you should check the test date (in Test Results). If the test was a while back, you might want to experiment yourself. Wine continues to mature, and it is conceivable that your application has been taken care of. For this reason, it makes sense to enable the distribution's automatic updater, which installs any Wine update releases. Failing this, you should at least install the latest version of Wine – version 1.0 – as described in the box titled "Installing Wine 1.0 on openSUSE."
Once you have established that your choice of Windows application is likely to run on Wine, the next thing you need is an installation disc for the Windows application. Although Wine is free of charge, you will need a valid license for the Windows application, of course.
Buy this article as PDF
Mozilla’s product think tank sinks silently into history.
TODO group will focus on open source tools in large-scale environments.
New tool will look like GParted but support a wider range of storage technologies.
New public key pinning feature will help prevent man-in-the-middle attacks.
Carnegie Mellon researchers say 3 million pages could fall down the phishing hole in the next year.
The US government rolls new best-practice rules for protecting SSH.
Klaus Knopper announces the latest version of his iconic Live Linux system.
DARPA and NICTA release the code for the ultra-secure microkernel system used in aerial drones.