  <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 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.
      </para>
      <para>
        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.
      </para>
      </sect2>

      <sect2>
        <title>Burning questions and comments</title>
        <para>
          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 
	  <ulink url="mailto:wine-devel@winehq.org">wine-devel</ulink>, or
          post a bug report to
          <ulink url="http://bugs.winehq.com/">Wine's Bugzilla</ulink> 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!
	</para>
	<para>
	  <emphasis>
	  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...
	  </emphasis>
        </para>
      </sect2>

      <sect2>
        <title>Content overview / Steps to take</title>
	<para>
	  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 <emphasis>strongly recommend</emphasis> following every
	  single relevant step of this Guide, since you might miss important
	  information otherwise.
	</para>
	<para>
	  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).
	</para>
	<para>
	  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, <link
	  linkend="getting-wine">Getting Wine</link>: 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 <glossterm>source code</glossterm>
	  archive file, or getting the most current Wine development
	  source code via <glossterm>CVS</glossterm>.
	</para>
	<para>
	  Once you got your copy of Wine, you might need to follow the
	  next chapter <link linkend="compiling">Compiling</link> if you
	  decided to get Wine source code.
	  Otherwise, the next chapter <link
	  linkend="installing">Installing Wine</link> will explain the
	  methods to use to install the Wine binary files to some location
	  on your system.
	</para>
	<para>
	  Once Wine is installed on your system, the next chapter <link
	  linkend="config-wine-main">Configuring Wine</link> 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.
	</para>
	<para>
	  Once the configuration of the Wine environment is done, the
	  next chapter <link linkend="running">Running Wine</link>
	  will show you how to run Windows programs with Wine and
	  how to satisfy the more specific requirements of certain
	  Windows programs.
	</para>
	<para>
	  In case you run into trouble, the chapter <link
	  linkend="bugs">Troubleshooting / Reporting bugs</link>
	  will list and explain some common troubleshooting and debugging
	  methods.
	</para>
      </sect2>

    </sect1>

    <sect1 id="what-is-wine">
      <title>What is Wine?</title>

      <sect2>
        <title>Windows and Linux</title>
        <!-- general description of wine, what does it do? -->
        <para>
          Many people have faced the frustration of owning software that
          won't run on their computer.  With the recent popularity of
          <ulink url="http://www.tldp.org/FAQ/Linux-FAQ/index.html">
          Linux</ulink>, 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.
        </para>
        <para>
          A common solution to this problem is to install both operating
          systems on the same computer, as a <quote>dual boot</quote>
          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.
        </para>
        <para>
          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.
          <footnote>
            <para>
              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
	      <ulink url="http://xfree86.cygwin.com/">http://xfree86.cygwin.com/</ulink>.
              However, this doesn't solve the problem if you only own
              one computer system.
            </para>
          </footnote>
          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.
        </para>
      </sect2>

      <sect2>
        <title>What is Wine, and how can it help me?</title>
        <!-- emulator vs. Winelib -->
        <para>
          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
          <glossterm>Application Programming Interface</glossterm>
          (API), and keeps pace with new developments from Microsoft.
        </para>
        <para>
          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
          <ulink url="http://www.xfree86.org/#whatis">X11 (X-Window
          System)</ulink> 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.
        </para>

        <!-- the development model -->
        <para>
        </para>
      </sect2>

      <sect2 id="wine-capabilities">
        <title>Wine capabilities</title>

        <para>
          Now that we're done with the boring introductory babble,
	  let us tell you what Wine is able to do/support:
        </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
		<glossterm>DLLs</glossterm> (e.g. original
                Windows DLLs)
              </para>
            </listitem>
            <listitem>
              <para>
                X11-based graphics display (remote display to any X
                terminal possible), text mode console
              </para>
            </listitem>
            <listitem>
              <para>
                Desktop-in-a-box or mixable windows
              </para>
            </listitem>
            <listitem>
              <para>
                Pretty advanced DirectX support for games
              </para>
            </listitem>
            <listitem>
              <para>
                Good support for sound, alternative input devices
              </para>
            </listitem>
            <listitem>
              <para>
		Printing: PostScript interface driver (psdrv) to
		standard Unix PostScript print services
              </para>
            </listitem>
            <listitem>
              <para>
                Modems, serial devices are supported
              </para>
            </listitem>
            <listitem>
              <para>
                Winsock TCP/IP networking
              </para>
            </listitem>
            <listitem>
              <para>
                ASPI interface (SCSI) support for scanners, CD writers,
                ...
              </para>
            </listitem>
            <listitem>
              <para>
                Unicode support, relatively advanced language support
              </para>
            </listitem>
            <listitem>
              <para>
                Wine debugger and configurable trace logging messages
              </para>
            </listitem>
          </itemizedlist>
        </para>
      </sect2>
    </sect1>

    <sect1 id="other-wines">
      <title>Other, often "Enhanced" Wine offerings</title>

      <para>
        There are a number of offerings that are derived from the standard Wine
	codebase in some way or another.
      </para>
      <para>
        Some of these are commercial products from companies that actively contribute to Wine.
      </para>
      <para>
        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...
      </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://sourceforge.net/projects/rewind">ReWind</ulink>
              </entry>
              <entry>
                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.
              </entry>
              <entry>
                Free, Open Source: BSD license
              </entry>
            </row>
	    <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
	      </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 OfficeServer 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.codeweavers.com/products/crossover">CodeWeavers
		CrossOver Plugin</ulink>
	      </entry>
	      <entry>
                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...
              </entry>
              <entry>
                Commercial; Demo version available
              </entry>
            </row>
	    <row>
	      <entry>
	        <ulink
		url="http://www.codeweavers.com/technology/wine/">CodeWeavers
		Wine preview</ulink>
	      </entry>
	      <entry>
	        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.
              </entry>
	      <entry>
	        Free, Open Source: LGPL license
	      </entry>
	    </row>
            <row>
              <entry>
                <ulink url="http://www.transgaming.com">TransGaming Technologies WineX</ulink>
              </entry>
              <entry>
                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.
              </entry>
              <entry>
                Commercial; <ulink
		url="http://sourceforge.net/projects/winex">free CVS
		download</ulink> of reduced version (no copy protection
		support etc.)
              </entry>
            </row>
	  </tbody>
	</tgroup>
      </table>
    </sect1>

    <sect1 id="competition">
      <title>Alternatives to Wine you might want to consider</title>

      <para>
        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.
      </para>

      <sect2>
        <title>VMWare</title>
        <para>
	  <ulink url="http://www.vmware.com">VMWare</ulink> 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.
        </para>
	<para>
	  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.
	</para>
      </sect2>
      <sect2>
        <title>Win4Lin</title>
	<para>
	  <ulink url="http://www.win4lin.com">Win4Lin</ulink> 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.
	</para>
      </sect2>
    </sect1>
    <sect1 id="wine-stats">
      <title>Basic Wine Requirements</title>

      <para>
        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 <ulink
	url="http://www.winehq.org/source/README">README</ulink> file,
	which is also available in the main directory of a Wine source code tree.
      </para>
      <para>
	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.
      </para>

      <sect2 id="system-requirements">
        <title>System requirements</title>
        <para>
          In order to run Wine, you generally need the following:
        </para>
        <para>
          <itemizedlist>
            <listitem>
	      <para>
	        A computer ;-)
                <literallayout>  Wine: only PCs >= i386 are supported at the moment.</literallayout>
                <literallayout>  Winelib: selected other platforms are supported, but can be tricky.</literallayout>
	      </para>
            </listitem>
            <listitem>
	      <para>
                A UNIX-like operating system such as Linux, *BSD,
                Solaris x86, ReactOS, Cygwin
	      </para>
            </listitem>
            <listitem>
	      <para>
                >= 32MB of RAM.  Everything below is pretty much
                unusable.  >= 96 MB is needed for "good" execution.
	      </para>
            </listitem>
            <listitem>
	      <para>
                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).
	      </para>
            </listitem>
          </itemizedlist>
        </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:
-->
