  <chapter id="introduction">
    <title>Introduction</title>

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

      <para>
        Written by &name-john-sheets; <email>&email-john-sheets;</email>
      </para>

      <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
          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.
        </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 the 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.
          <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 a Linux
          (or Solaris) 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>Emulation versus Native Linking</title>
        <!-- emulator vs. Winelib -->
        <para>
          Wine is a UNIX implementation of the win32 libraries,
          written from scratch by hundreds of volunteer developers and
          released under an open source license.  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
          <firstterm>Applications Programming Interface</firstterm>
          (API), and keeps pace with new developments from Microsoft.
        </para>
        <para>
          Wine can run applications in two discrete ways: as
          pre-compiled Windows binaries, or as natively compiled X11
          (X Window System) applications.  The former method uses
          emulation to connect a Windows application to the Wine
          libraries.  You can run your Windows application directly
          with the emulator, by installing through Wine or by simply
          copying the Windows executables onto your Linux system.
        </para>
        <para>
          The other way to run Windows applications with Wine requires
          that you have the source code for the application.  Instead
          of compiling it with native Windows compilers, you can
          compile it with a native Linux compiler --
          <command>gcc</command> for example -- and link in the Wine
          Libraries as you would with any other native UNIX
          application.  These natively linked applications are
          referred to as Winelib applications.
        </para>
        <para>
          The Wine Users Guide will focus on running precompiled
          Windows applications using the Wine emulator.
            The Winelib Users Guide will cover Winelib
            applications.
        </para>

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

<!-- *** Not really useful as is, but may be able to recycle this elsewhere...
    <sect1 id="getting-started">
      <title>Getting started</title>

      <para>
        Written by &name-john-sheets; <email>&email-john-sheets;</email>
      </para>

      <para>
        Wine can be pretty intimidating at first.  The Wine
        distribution consists of over two thousand files and half a
        million lines of source code
        <footnote>
          <para>Crudely calculated from running <command>find . | wc
              -l</command> and <command>cat `find . -name "*.c"` | wc
              -l</command>, respectively, from a fresh CVS checkout.</para>
        </footnote>,
        and is probably one of the steepest learning curves in the
        open source world.  This chapter will give you a crash course
        in the important topics you need to know to get started with
        running Wine applications.
      </para>
    </sect1>
-->

    <sect1 id="wine-stats">
      <title>Wine Requirements and Features</title>

      <para>
        Written by &name-andreas-mohr; <email>&email-andreas-mohr;</email>
      </para>

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

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

        <para>
          Now that you hopefully managed to fulfill the requirements
          mentioned above, we tell you what Wine is able to do/support:
        </para>
        <para>
          <itemizedlist>
            <listitem>
              <para>
                Support for executing DOS, Win 3.x and Win9x/NT/Win2000
                programs (most of Win32's controls are supported)
              </para>
            </listitem>
            <listitem>
              <para>
                Optional use of external vendor DLLs (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: supports native Win16 printer drivers,
                Internal PostScript driver
              </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>
  </chapter>

<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-parent-document:("wine-doc.sgml" "set" "book" "chapter" "")
End:
-->
