  <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="installing">Installing
          Wine</link>, details the various install processes available to
          you.  The third 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>
              <entry>
                Commercial
              </entry>
            </row>
            <row>
              <entry>
                <ulink url="http://www.transgaming.com">TransGaming Technologies Cedega</ulink>
              </entry>
              <entry>
                Cedega, formerly known as WineX, is a Wine version derived
                from the old BSD licensed Wine tree.  It is designed
                specifically to function with games, and so development
                is centered around ensuring compatibility with technologies
                like Direct3D, DirectX, and various methods of copy protection.
              </entry>
              <entry>
                Commercial; free CVS download of reduced version (no copy
                protection support etc.)
              </entry>
            </row>
            <row>
              <entry>
                <ulink
                url="http://sourceforge.net/projects/rewind">ReWind</ulink>
              </entry>
              <entry>
                ReWind is a Wine version derived from the old BSD licensed
                Wine tree.  Due to its BSD license it can't incorporate
                most recent Wine patches, however its code can be used by
                any software project without restriction.  Although code
                is occasionally contributed to ReWind alongside the main
                Wine project, there has never been an official release of
                ReWind.
              </entry>
              <entry>
                Free, Open Source: BSD license 
              </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:
-->
