-->
Previous Table of Contents Next


Chapter 59
The Wine Project

by Robert Pfister

In This Chapter
•   Current status of Wine
•   Setting up Wine
•   Using Wine
•   How Wine works
•   Where does Wine end and MS-Windows begin?
•   Limitations of Wine

Wine stands for Windows Emulator. It enables MS-Windows programs to run under a UNIX X Window environment. Like DOSemu, Wine takes direct advantage of the Intel 386 architecture to actually run the MS-Windows application. Wine simply translates any MS-Windows API calls into appropriate UNIX and X Window calls. Like OS/2, MS-Windows programs running under Wine can take advantage of features of the underlying operating system. Wine is simply another user-mode Linux process that is protected from corruption by other processes. This is dubbed crash-protection under OS/2. Because Linux uses preemptive multitasking, Wine processes can coexist with other processes without some of the problems experienced by applications running under native MS-Windows.

Current Status of Wine

As with most of the Linux community, developers of Wine are volunteers. Wine is currently Alpha or pre-release code. Only a few of the simplest MS-Windows applications run without incident. My favorite MS-Windows Entertainment Pack game, Pipe Dream by Lucas Arts, runs acceptably under Wine.

Although Pipe Dream and other simple games are certainly playable under Wine, everything is not perfect. Some speed degradation is noticeable, as is the occasional screen glitch.

Sun Soft has implemented a similar product to Wine, called WABI, for its UNIX-based workstations. WABI has been on the market since 1994 and supports some of the more complex Windows 3.11 applications such as Microsoft Excel and Lotus Smart Suite. However, WABI cannot run Windows 95 applications. Given enough development time, it is reasonable to expect that Wine will be capable of running general MS-Windows applications as well.

Setting Up Wine

Wine is available only as source code. If you have the prerequisite software and a little patience, setting up Wine is not very difficult—even if you are not a programmer.

System Requirements

Any Linux machine suitable for running X Window can run Wine applications at a reasonable speed. In theory, Wine should have some advantages running under Linux as opposed to under MS-Windows, which is confined to the MS-DOS environment. Experiences with current versions of Wine show that an application running under Wine is slower on the same machine running MS-DOS and MS-Windows.

To make full use of Wine, you need MS-Windows 3.1 installed on a disk partition that is accessible under Linux. It is also convenient to run existing MS-Windows applications from the same directory in which they are installed under native MS-DOS and MS-Windows. The typical Linux user also has MS-DOS and MS-Windows installed on a hard drive; thus it is only a matter of making the directories available under Linux. Linux kernels as of Version 1.1.83 do not support compressed MS-DOS file systems made by MS-DOS utilities such as stacker and drvspace.


Tip:  
Some Linux installation programs will prompt you through setting up an MS-DOS partition as a Linux subdirectory. If you do not set up such a partition, add the following line to your /etc/fstab:

/dev/hda1 /c MSDOS defaults

hda1 is the partition that contains MS-DOS and /c is the Linux subdirectory to use. In this example it is assumed that the /c subdirectory exists. Otherwise, use mkdir to create the subdirectory.


Wine is distributed as source code and must be compiled before use. It requires approximately 10MB of disk space. 3.5MB of that disk space is the source code alone. To build Wine, you need to have the following:

  GCC
  LibC
  XFree with development parts loaded
  Linux kernel newer than 99.13

Where to Get Wine Distribution

A new version of Wine is released approximately once a week. Major Linux FTP sites on the Internet contain the most recent release. On sunsite.unc.edu, Wine is found in the /pub/Linux/ALPHA/Wine directory. Wine releases are named after the date they are released. Wine-950727.tar.gz was released on 7/27/95. The most current release is the one with the latest date. For more information, check out the Web page at http://daedalus.dra.hmg.gb/gale/wine/wine.html.

How to Install Wine

Unlike DOSemu, the Wine distribution is not sensitive to where it is installed. For brevity, make a symbolic link from the actual directory (say, /usr/src/Wine950122) to /usr/wine using the ln command as follows:


bash# ln -s /usr/src/Wine950122 /usr/wine

A Wine distribution consists of a compressed tar file. To unpack the distribution, use a shell command such as


bash# tar -zxvf filename.tar.gz


Previous Table of Contents Next