IntroductionOverview / AboutPurpose of this document and intended audience
This document, called the Wine User Guide, is supposed to
be both an easy installation guide and an extensive reference guide.
Thus while it completely explains how to install and configure Wine,
it also tries to document all configuration features and support areas
of the Wine environment as a whole.
It tries to target both the new Wine user, by offering a step by
step approach, and the experienced Wine user, by offering the reference
material mentioned above.
Burning questions and comments
If during reading this document there is something you
can't figure out, or think could be explained better, or
that should have been included, please immediately mail to the
wine-devel, or
post a bug report to
Wine's Bugzilla to
let us know how this document can be improved. Remember, Open
Source is "free as in free speech, not as in free beer": it can
only work in the case of very active involvement of its users!
Note that I can't say that I'm too impressed with the amount
of feedback about this Guide that we have received so far
since I added this paragraph many months ago...
Content overview / Steps to take
This section will try to give you a complete overview of
how to go all the way to a fully working Wine installation
by following this Guide.
We strongly recommend following every
single relevant step of this Guide, since you might miss important
information otherwise.
First, we start by explaining what Wine is and mentioning
everything else that's useful to know about it (that's
covered in this very chapter that you're reading a part of right now).
In order to be able to use Wine, you need to obtain a copy of
its files first. That's the purpose of the next chapter, Getting Wine: it tries to show
you how Wine can be installed on your particular system
(i.e. which installation methods are available in your case),
and then it explains the various methods: either getting Wine
via a binary package file suited for your particular system,
or getting it via a Wine source code
archive file, or getting the most current Wine development
source code via CVS.
Once you got your copy of Wine, you might need to follow the
next chapter Compiling if you
decided to get Wine source code.
Otherwise, the next chapter Installing Wine will explain the
methods to use to install the Wine binary files to some location
on your system.
Once Wine is installed on your system, the next chapter Configuring Wine will
focus on the available configuration methods for Wine to set up
a proper Wine/Windows environment with all its requirements:
there are either graphical (e.g. WineSetupTk) or text mode
(wineinstall) configuration helper applications available that will
fully configure the Wine environment for you.
And for those people who dislike a fully automated
installation (maybe because they really want to know what they're
doing), we'll describe how to manually set up a complete Wine
environment configuration.
Once the configuration of the Wine environment is done, the
next chapter Running Wine
will show you how to run Windows programs with Wine and
how to satisfy the more specific requirements of certain
Windows programs.
In case you run into trouble, the chapter Troubleshooting / Reporting bugs
will list and explain some common troubleshooting and debugging
methods.
What is Wine?Windows and Linux
Many people have faced the frustration of owning software that
won't run on their computer. With the recent popularity of
Linux, this is happening more and more often because
of differing operating systems. Your Windows software won't
run on Linux, and your Linux software won't run in Windows.
A common solution to this problem is to install both operating
systems on the same computer, as a dual boot
system. If you want to write a document in MS Word, you can
boot up in Windows; if you want to run GnuCash, the GNOME
financial application, you can shut down your Windows session
and reboot into Linux. The problem with this is that you
can't do both at the same time. Each time you switch back and
forth between MS Word and GnuCash, you have to reboot again.
This can get tiresome quickly.
Life would be so much easier if you could run all your
applications on the same system, regardless of whether they
are written for Windows or for Linux. On Windows, this isn't
really possible, yet.
Technically, if you have two networked computers, one
running Windows and the other running Linux, and if you
have some sort of X server software running on the Windows
system, you can export Linux applications onto the Windows
system. A free X server is available at
http://xfree86.cygwin.com/.
However, this doesn't solve the problem if you only own
one computer system.
However, Wine makes it possible to run native Windows
applications alongside native Linux applications on any Unix-like
system. You can share desktop space between MS Word and GnuCash,
overlapping their windows, iconizing them, and even running them
from the same launcher.
What is Wine, and how can it help me?
Wine is a UNIX implementation of the win32 Windows libraries,
written from scratch by hundreds of volunteer developers and
released under an Open Source license (think of it as a
Windows compatibility layer for Linux and other similar
operating systems). Anyone can download
and read through the source code, and fix bugs that arise.
The Wine community is full of richly talented programmers
who have spent thousands of hours of personal time on
improving Wine so that it works well with the win32
Application Programming Interface
(API), and keeps pace with new developments from Microsoft.
Wine can run Windows applications in two discrete ways: as
pre-compiled Windows binaries (your average off-the-shelf
program package e.g. available on CD), or as natively compiled
X11 (X-Window
System) applications (via the part of Wine that's called
Winelib). If you're interested in compiling the source code of a
Windows program you wrote, then please refer to the
Winelib User's Guide instead, which explains this particular topic.
This Wine Users Guide however will focus on running standard
Windows applications using Wine.
Wine capabilities
Now that we're done with the boring introductory babble,
let us tell you what Wine is able to do/support:
Support for running Win32 (Win 95/98, NT/2000/XP), Win16 (Win 3.1) and DOS programs
Optional use of external vendor
DLLs (e.g. original
Windows DLLs)
X11-based graphics display (remote display to any X
terminal possible), text mode console
Desktop-in-a-box or mixable windows
Pretty advanced DirectX support for games
Good support for sound, alternative input devices
Printing: PostScript interface driver (psdrv) to
standard Unix PostScript print services
Modems, serial devices are supported
Winsock TCP/IP networking
ASPI interface (SCSI) support for scanners, CD writers,
...
Unicode support, relatively advanced language support
Wine debugger and configurable trace logging messages
Other, often "Enhanced" Wine offerings
There are a number of offerings that are derived from the standard Wine
codebase in some way or another.
Some of these are commercial products from companies that actively contribute to Wine.
These products often try to stand out or distinguish themselves
from Wine, e.g. by offering greater compatibility or much easier
and flexible configuration than your average standard Wine
release. As such it is often a good idea to shell out some bucks
for the commercial versions, especially since these companies
contribute a lot of code to Wine, and plus, I'm sure they'll be happy about your support...
Various Wine offeringsProductDescriptionDistribution formReWind
ReWind is a Wine version derived from the old BSD
licensed Wine tree (it's the "completely free" BSD license fork of the currently LGPL'ed Wine).
Due to its BSD license it can't incorporate some Wine
patches that get licensed under the more restrictive
(or: protective) LGPL license by their authors.
Free, Open Source: BSD license
CodeWeavers CrossOver Office
CrossOver Office allows you to install your favorite
Windows productivity applications in Linux, without
needing a Microsoft Operating System license. CrossOver
includes an easy to use, single click interface, which
makes installing a Windows application simple and fast.
Commercial
CodeWeavers CrossOver Office Server Edition
CrossOver Office Server Edition allows you to run your
favorite Windows productivity applications in a
distributed thin-client environment under Linux, without
needing Microsoft Operating System licenses for each
client machine. CrossOver OfficeServer Edition allows you
to satisfy the needs of literally hundreds of concurrent
users, all from a single server.
Commercial
CodeWeavers
CrossOver Plugin
CrossOver Plugin lets you use many Windows plugins
directly from your Linux browser. In particular CrossOver
fully supports QuickTime, Shockwave Director,
Windows Media Player 6.4, Word Viewer, Excel Viewer,
PowerPoint Viewer, and more...
Commercial; Demo version available
CodeWeavers
Wine preview
The Wine preview is a usually slightly older Wine release
that's been tested as extra stable.
It includes the graphical installer winesetuptk,
allowing for easy configuration.
Free, Open Source: LGPL license
TransGaming Technologies WineX
WineX is a Wine version derived from the old BSD licensed Wine tree, with currently better support for Direct3D and DirectX software than standard Wine, and with added copy protection support for multiple types of copy protection e.g. used in games.
Commercial; free CVS
download of reduced version (no copy protection
support etc.)
Alternatives to Wine you might want to consider
We'll mention some alternatives (or we could also say:
competitors) to Wine here that might come in handy if Wine is
not usable for the program or job you want it to do, since
these alternatives usually provide better Windows compatibility.
VMWareVMWare is a
software package to emulate an additional machine on your PC.
In other words, it establishes a virtual machine that can be
used to run any kind of Intel x86 compatible operating system
in parallel to your currently running operating system.
Thus you could use Linux and at the same time run Windows 98
in a virtual machine on the same screen.
Sounds nice, doesn't it? Well, there are some drawbacks, of
course... First, VMWare is pretty expensive, and second, you
need a licensed copy of the operating system you want to run.
Third, since VMWare is a virtual machine, it's quite slow.
Wine doesn't have any of these limitations, but unfortunately
this also means that you will not have the relatively good
compatibility of a real original Windows system if you use
Wine.
Win4LinWin4Lin by
NeTraverse allows you to run a special version of Win98 in
Linux. Compared to VMWare, this has the advantage that it's
faster, but you still have the license fees.
Basic Wine Requirements
This section only mentions the most basic system requirements of
Wine, in order to ease your Wine "purchasing decision" ;-)
For an up-to-date much more detailed list of requirements for
compiling and/or installing Wine,
please read the REQUIREMENTS section of the README file,
which is also available in the main directory of a Wine source code tree.
In case of a binary Wine package, these Wine requirements will
probably be fulfilled automatically by the package installation
process; if you want to have a look at the detailed requirements
nevertheless (which definitely can't hurt!), then I'd like to
mention that the README file can also frequently be found in the
documentation files directory of a Wine package.
System requirements
In order to run Wine, you generally need the following:
A computer ;-)
Wine: only PCs >= i386 are supported at the moment. Winelib: selected other platforms are supported, but can be tricky.
A UNIX-like operating system such as Linux, *BSD,
Solaris x86, ReactOS, Cygwin
>= 32MB of RAM. Everything below is pretty much
unusable. >= 96 MB is needed for "good" execution.
An X11 window system (XFree86 etc.). Wine is prepared
for other graphics display drivers, but writing
support is not too easy. The text console display
driver (ttydrv) is nearly usable, so you don't
necessarily have to install X11 if you don't need it for
the programs you intend to run (in other words: mainly
for text mode programs).