blob: 66575537de876a8144fa8af19679a8452f9c78d8 [file] [log] [blame]
<chapter id="introduction">
<title>Introduction</title>
<sect1 id="overview">
<title>Overview / About</title>
<sect2>
<title>Purpose of this document and intended audience</title>
<para>
This document, called the Wine User Guide, is both an easy
installation guide and an extensive reference guide. This guide
is for both the new Wine user and the experienced Wine user,
offering full step-by-step installation and configuration
instructions, as well as featuring extensive reference material
by documenting all configuration features and support areas.
</para>
</sect2>
<sect2>
<title>Further questions and comments</title>
<para>
If, after examining this guide, the FAQ, and other relevant
documentation there is still something you cannot figure out,
we would love to hear from you. The <ulink
url="http://www.winehq.org/site/forums">mailing lists</ulink>
section contains several mailing lists and an IRC channel, all
of which are great places to seek help and offer suggestions.
If you are particularly savvy, and believe that something can be
explained better, you can file a <ulink
url="http://bugs.winehq.org/">bug report</ulink> or <ulink
url="http://www.winehq.org/site/sending_patches">post a
patch</ulink> on Wine's documentation itself.
</para>
</sect2>
<sect2>
<title>Content overview / Steps to take</title>
<para>
In order to be able to use Wine, you must first have a working
installation. This guide will help you to move your system
from an empty, Wineless void to one boasting a fresh, up to
date Wine install. The first step, <link
linkend="getting-wine">Getting Wine</link>, illustrates the
various methods of getting Wine's files onto your computer.
The second step, <link linkend="config-wine-main">Configuring
Wine</link>, shows how to customize a Wine installation depending
on your individual needs. The final step, <link
linkend="running">Running Wine</link>, covers the specific
steps you can take to get a particular application to run
better under Wine, and provides useful links in case you need
further help.
</para>
</sect2>
</sect1>
<sect1 id="what-is-wine">
<title>What is Wine?</title>
<sect2>
<title>Windows and Linux</title>
<para>
Different software programs are designed for different
operating systems, and most won't work on systems that they
weren't designed for. Windows programs, for example, won't run
in Linux because they contain instructions that the system can't
understand until they're translated by the Windows environment.
Linux programs, likewise, won't run under the Windows operating
system because Windows is unable to interpret all of their
instructions.
</para>
<para>
This situation presents a fundamental problem for anyone who
wants to run software for both Windows and Linux. A common
solution to this problem is to install both operating systems on
the same computer, known as "dual booting." When a Windows
program is needed, the user boots the machine into Windows to
run it; when a Linux program is then needed, the user then
reboots the machine into Linux. This option presents great
difficulty: not only must the user endure the frustration of
frequent rebooting, but programs for both platforms can't be
run simultaneously. Having Windows on a system also creates
an added burden: the software is expensive, requires a separate
disk partition, and is unable to read most filesystem formats,
making the sharing of data between operating systems difficult.
</para>
</sect2>
<sect2>
<title>What is Wine, and how can it help me?</title>
<para>
Wine makes it possible to run Windows programs alongside any
Unix-like operating system, particularly Linux. At its heart,
Wine is an implementation of the Windows Application
Programing Interface (API) library, acting as a bridge between
the Windows program and Linux. Think of Wine as a compatibility
layer, when a Windows program tries to perform a function that
Linux doesn't normally understand, Wine will translate that
program's instruction into one supported by the system. For
example, if a program asks the system to create a Windows
pushbutton or text-edit field, Wine will convert that
instruction into its Linux equivalent in the form of a command
to the window manager using the standard X11 protocol.
</para>
<para>
If you have access to the Windows program's source code, Wine
can also be used to recompile a program into a format that Linux
can understand more easily. Wine is still needed to launch the
program in its recompiled form, however there are many advantages
to compiling a Windows program natively within Linux. For more
information, see the Winelib User Guide.
</para>
</sect2>
<sect2 id="wine-features">
<title>Wine features</title>
<para>
Throughout the course of its development, Wine has continually
grown in the features it carries and the programs it can run.
A partial list of these features follows:
</para>
<para>
<itemizedlist>
<listitem>
<para>
Support for running Win32 (Win 95/98, NT/2000/XP), Win16
(Win 3.1) and DOS programs
</para>
</listitem>
<listitem>
<para>
Optional use of external vendor DLL files (such as those
included with Windows)
</para>
</listitem>
<listitem>
<para>
X11-based graphics display, allowing remote display to any
X terminal, as well as a text mode console
</para>
</listitem>
<listitem>
<para>
Desktop-in-a-box or mixable windows
</para>
</listitem>
<listitem>
<para>
DirectX support for games
</para>
</listitem>
<listitem>
<para>
Good support for various sound drivers including OSS and ALSA
</para>
</listitem>
<listitem>
<para>
Support for alternative input devices
</para>
</listitem>
<listitem>
<para>
Printing: PostScript interface driver (psdrv) to standard
Unix PostScript print services
</para>
</listitem>
<listitem>
<para>
Modem, serial device support
</para>
</listitem>
<listitem>
<para>
Winsock TCP/IP networking support
</para>
</listitem>
<listitem>
<para>
ASPI interface (SCSI) support for scanners, CD writers,
and other devices
</para>
</listitem>
<listitem>
<para>
Advanced unicode and foreign language support
</para>
</listitem>
<listitem>
<para>
Full-featured Wine debugger and configurable trace
logging messages for easier troubleshooting
</para>
</listitem>
</itemizedlist>
</para>
</sect2>
</sect1>
<sect1 id="wine-versions">
<title>Versions of Wine</title>
<sect2>
<title>Wine from Wine HQ</title>
<para>
Wine is an open source project, and there are accordingly
many different versions of Wine for you to choose from. The
standard version of Wine comes in intermittant releases
(roughly once a month), and can be downloaded over the
internet in both prepackaged binary form and ready to compile
source code form. Alternatively, you can install a development
version of Wine by using the latest available source code on
the CVS server. See the next chapter, <link
linkend="getting-wine">Getting Wine</link>, for further details.
</para>
</sect2>
<sect2>
<title>Other Versions of Wine</title>
<para>
There are a number of programs 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 the Wine project.
</para>
<para>
These products try to stand out or distinguish themselves
from the standard version of Wine by offering greater
compatibility, easier configuration, and commercial support.
If you require such things, it is a good idea to consider
purchasing these products.
</para>
<table><title>Various Wine offerings</title>
<tgroup cols=3 align="left">
<thead>
<row>
<entry>Product</entry>
<entry>Description</entry>
<entry>Distribution Form</entry>
</row>
</thead>
<tbody>
<row>
<entry>
<ulink
url="http://www.codeweavers.com/products/office">CodeWeavers CrossOver Office</ulink>
</entry>
<entry>
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.
</entry>
<entry>
Commercial; 30-day fully-functional demo available.
</entry>
</row>
<row>
<entry>
<ulink
url="http://www.codeweavers.com/products/cxofficeserver">CodeWeavers CrossOver Office Server Edition</ulink>
</entry>
<entry>
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 Office Server Edition allows you
to satisfy the needs of literally hundreds of concurrent
users, all from a single server.
</entry>
</row>
</tbody>
</tgroup>
</table>
</sect2>
</sect1>
<sect1 id="alternatives">
<title>Alternatives to Wine you might want to consider</title>
<para>
There are many ways to run software other than through Wine. If
you are considering using Wine to run an application you might
want to think about the viability of these approaches if you
encounter difficulty.
</para>
<sect2>
<title>Native Applications</title>
<para>
Instead of running a particular Windows application with Wine,
one frequently viable alternative is to simply run a different
application. Many Windows applications, particularly more
commonly used ones such as media players, instant messengers,
and filesharing programs have very good open source equivalents.
Furthermore, a sizable number of Windows programs have been
ported to Linux directly, eliminating the need for Wine (or
Windows) entirely.
</para>
</sect2>
<sect2>
<title>Another Operating System</title>
<para>
Probably the most obvious method of getting a Windows
application to run is to simply run it on Windows. However,
security, license cost, backward-compatibility, and machine
efficiency issues can make this a difficult proposition, which
is why Wine is so useful in the first place.
</para>
<para>
Another alternative is to use <ulink
url="http://www.reactos.com">ReactOS</ulink>, which is a fully
open source alternative to Windows. ReactOS shares code
heavily with the Wine project, but rather than running Windows
applications on top of Linux they are instead run on top of the
ReactOS kernel. ReactOS also offers compatibility with Windows
driver files, allowing the use of hardware without functional
Linux drivers.
</para>
</sect2>
<sect2>
<title>Virtual Machines</title>
<para>
Rather than installing an entirely new operating system on your
machine, you can instead run a virtual machine at the software
level and install a different operating system on it. Thus, you
could run a Linux system and at the same time run Windows along
with your application in a virtual machine simultaneously on the
same hardware. Virtual machines allow you to install and run
not only different versions of Windows on the same hardware, but
also other operating systems, including ReactOS.
</para>
<para>
There are several different virtual machine offerings out there,
and some are also able to emulate x86 hardware on different
platforms. The open source <ulink
url="http://bochs.sourceforge.net/">Bochs</ulink> and <ulink
url="http://fabrice.bellard.free.fr/qemu/">QEMU</ulink> can run
both Windows and ReactOS virtually. Other, commercial virtual
machine offerings include <ulink
url="http://www.vmware.com/">VMware</ulink> and Microsoft's
<ulink url="http://www.microsoft.com/windowsxp/virtualpc/">VirtualPC</ulink>.
</para>
<para>
There are significant drawbacks to using virtual machines,
however. Unlike Wine, such programs <emphasis>are</emphasis>
emulators, so there is an inevitable speed decrease which can
be quite substantial. Furthermore, running an application
inside a virtual machine prevents fully integrating the
application within the current environment. You won't, for
example, be able to have windows system tray icons or program
shortcuts sitting alongside your desktop Linux ones, since
instead the Windows applications must reside completely within
the virtual machine.
</para>
</sect2>
</sect1>
</chapter>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-parent-document:("wine-user.sgml" "set" "book" "chapter" "")
End:
-->