mirror of
https://github.com/reactos/wine.git
synced 2024-11-29 22:50:43 +00:00
259 lines
9.5 KiB
Plaintext
259 lines
9.5 KiB
Plaintext
<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:
|
|
-->
|