Running Windows programs on Linux with Wine

Wine Importer

© Shanna Korby, Fotolia

© Shanna Korby, Fotolia

Article from Issue 94/2008
Author(s):

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.

Preparation

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 [1]. 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

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

SINGLE ISSUES
 
SUBSCRIPTIONS
 
TABLET & SMARTPHONE APPS
Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • Windows apps with Wine

    If you need to make a Windows application run on Linux, there is no better way than Wine. We investigated the free and commercial Wine variants to see how they bear up under real-life conditions.

  • Gaming with Wine

    Although Linux has made great strides in gaming, users sometimes miss the games that are only available on Windows. Linux provides a way to solve this problem with Wine, the Windows "not an emulator."

  • Wine

    The Wine compatibility layer lets Linux users run Windows programs. Unfortunately, configuring Wine is anything but trivial, and it helps if you enjoy experimenting.

  • A Smoother Wine 1.1.24

    Wine 1.1.24 has smoothed out rough edges and now functions with various Windows games while Linux applications run better.

  • Tutorials – Wine

    Convert your home/office/friends to be completely Microsoft-free with our tips and tricks.

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More

News