Fixed some dll separation issues.
[wine] / documentation / introduction.sgml
1   <chapter id="introduction">
2     <title>Introduction</title>
3
4     <sect1 id="what-is-wine">
5       <title>What is Wine?</title>
6
7       <para>
8         Written by &name-john-sheets; <email>&email-john-sheets;</email>
9       </para>
10
11       <sect2>
12         <title>Windows and Linux</title>
13         <!-- general description of wine, what does it do? -->
14         <para>
15           Many people have faced the frustration of owning software that
16           won't run on their computer.  With the recent popularity of
17           Linux, this is happening more and more often because of
18           differing operating systems.  Your Windows software won't run
19           on Linux, and your Linux software won't run in Windows.
20         </para>
21         <para>
22           A common solution to this problem is to install both operating
23           systems on the same computer, as a <quote>dual boot</quote>
24           system.  If you want to write a document in MS Word, you can
25           boot up in Windows; if you want to run the GnuCash, the GNOME
26           financial application, you can shut down your Windows session
27           and reboot into Linux.  The problem with this is that you
28           can't do both at the same time.  Each time you switch back and
29           forth between MS Word and GnuCash, you have to reboot again.
30           This can get tiresome quickly.
31         </para>
32         <para>
33           Life would be so much easier if you could run all your
34           applications on the same system, regardless of whether they
35           are written for Windows or for Linux.  On Windows, this isn't
36           really possible.
37           <footnote>
38             <para>
39               Technically, if you have two networked computers, one
40               running Windows and the other running Linux, and if you
41               have some sort of X server software running on the Windows
42               system, you can export Linux applications onto the Windows
43               system. A free X server is available at
44               <ulink url="http://xfree86.cygwin.com/">http://xfree86.cygwin.com/</ulink>.
45               However, this doesn't solve the problem if you only own
46               one computer system.
47             </para>
48           </footnote>
49           However, Wine makes it possible to run native Windows
50           applications alongside native Linux applications on a Linux
51           (or BSD or Solaris) system.  You can share desktop space between MS
52           Word and GnuCash, overlapping their windows, iconizing them,
53           and even running them from the same launcher.
54         </para>
55       </sect2>
56
57       <sect2>
58         <title>Emulation versus Native Linking</title>
59         <!-- emulator vs. Winelib -->
60         <para>
61           Wine is a UNIX implementation of the win32 libraries,
62           written from scratch by hundreds of volunteer developers and
63           released under an open source license.  Anyone can download
64           and read through the source code, and fix bugs that arise.
65           The Wine community is full of richly talented programmers
66           who have spent thousands of hours of personal time on
67           improving Wine so that it works well with the win32
68           <firstterm>Applications Programming Interface</firstterm>
69           (API), and keeps pace with new developments from Microsoft.
70         </para>
71         <para>
72           Wine can run applications in two discrete ways: as
73           pre-compiled Windows binaries, or as natively compiled X11
74           (X Window System) applications.  The former method uses
75           emulation to connect a Windows application to the Wine
76           libraries.  You can run your Windows application directly
77           with the emulator, by installing through Wine or by simply
78           copying the Windows executables onto your Linux system.
79         </para>
80         <para>
81           The other way to run Windows applications with Wine requires
82           that you have the source code for the application.  Instead
83           of compiling it with native Windows compilers, you can
84           compile it with a native Linux compiler --
85           <command>gcc</command> for example -- and link in the Wine
86           Libraries as you would with any other native UNIX
87           application.  These natively linked applications are
88           referred to as Winelib applications.
89         </para>
90         <para>
91           The Wine Users Guide will focus on running precompiled
92           Windows applications using the Wine emulator.
93             The Winelib Users Guide will cover Winelib
94             applications.
95         </para>
96
97         <!-- the development model -->
98         <para>
99         </para>
100       </sect2>
101       <sect2>
102         <title>Burning questions and comments</title>
103         <para>
104           If during reading this document there is something you
105           can't figure out, or think could be explained better, or
106           that should have been included, please immediately mail to
107           &name-web-admin; <email>&email-web-admin</email> or
108           post a bug report at the
109           <ulink url="http://bugs.winehq.com/">Wine Bugzilla</ulink> to
110           let us know how this document can be improved.
111           Remember, Open Source is
112           "free as in free speech, not as in free beer":
113           it can only work in case of very active involvement of its users !
114         </para>
115       </sect2>
116     </sect1>
117
118 <!-- *** Not really useful as is, but may be able to recycle this elsewhere...
119     <sect1 id="getting-started">
120       <title>Getting started</title>
121
122       <para>
123         Written by &name-john-sheets; <email>&email-john-sheets;</email>
124       </para>
125
126       <para>
127         Wine can be pretty intimidating at first.  The Wine
128         distribution consists of over two thousand files and half a
129         million lines of source code
130         <footnote>
131           <para>Crudely calculated from running <command>find . | wc
132               -l</command> and <command>cat `find . -name "*.c"` | wc
133               -l</command>, respectively, from a fresh CVS checkout.</para>
134         </footnote>,
135         and is probably one of the steepest learning curves in the
136         open source world.  This chapter will give you a crash course
137         in the important topics you need to know to get started with
138         running Wine applications.
139       </para>
140     </sect1>
141 -->
142
143     <sect1 id="wine-stats">
144       <title>Wine Requirements and Features</title>
145
146       <para>
147         Written by &name-andreas-mohr; <email>&email-andreas-mohr;</email>
148       </para>
149
150       <sect2 id="system-requirements">
151         <title>System requirements</title>
152         <para>
153           In order to run Wine, you need the following:
154         </para>
155         <para>
156           <itemizedlist>
157             <listitem>
158               <para>
159                 a computer ;-) Wine: only PCs >= i386 are supported at
160                 the moment.  Winelib: other platforms may be
161                 supported, but can be tricky.
162               </para>
163             </listitem>
164             <listitem>
165               <para>
166                 a UNIX-like operating system such as Linux, *BSD,
167                 Solaris x86
168               </para>
169             </listitem>
170             <listitem>
171               <para>
172                 >= 16MB of RAM.  Everything below is pretty much
173                 unusable.  >= 64 MB is needed for "good" execution.
174               </para>
175             </listitem>
176             <listitem>
177               <para>
178                 an X11 window system (XFree86 etc.).  Wine is prepared
179                 for other graphics display drivers, but writing
180                 support is not too easy.  The text console display
181                 driver (ttydrv) is nearly usable.
182               </para>
183             </listitem>
184           </itemizedlist>
185         </para>
186       </sect2>
187
188       <sect2 id="wine-capabilities">
189         <title>Wine capabilities</title>
190
191         <para>
192           Now that you hopefully managed to fulfill the requirements
193           mentioned above, we tell you what Wine is able to do/support:
194         </para>
195         <para>
196           <itemizedlist>
197             <listitem>
198               <para>
199                 Support for executing DOS, Win 3.x and Win9x/NT/Win2000/XP
200                 programs (most of Win32's controls are supported)
201               </para>
202             </listitem>
203             <listitem>
204               <para>
205                 Optional use of external vendor DLLs (e.g. original
206                 Windows DLLs)
207               </para>
208             </listitem>
209             <listitem>
210               <para>
211                 X11-based graphics display (remote display to any X
212                 terminal possible), text mode console
213               </para>
214             </listitem>
215             <listitem>
216               <para>
217                 Desktop-in-a-box or mixable windows
218               </para>
219             </listitem>
220             <listitem>
221               <para>
222                 Pretty advanced DirectX support for games
223               </para>
224             </listitem>
225             <listitem>
226               <para>
227                 Good support for sound, alternative input devices
228               </para>
229             </listitem>
230             <listitem>
231               <para>
232                 Printing: supports native Win16 printer drivers,
233                 Internal PostScript driver
234               </para>
235             </listitem>
236             <listitem>
237               <para>
238                 Modems, serial devices are supported
239               </para>
240             </listitem>
241             <listitem>
242               <para>
243                 Winsock TCP/IP networking
244               </para>
245             </listitem>
246             <listitem>
247               <para>
248                 ASPI interface (SCSI) support for scanners, CD writers,
249                 ...
250               </para>
251             </listitem>
252             <listitem>
253               <para>
254                 Unicode support, relatively advanced language support
255               </para>
256             </listitem>
257             <listitem>
258               <para>
259                 Wine debugger and configurable trace logging messages
260               </para>
261             </listitem>
262           </itemizedlist>
263         </para>
264       </sect2>
265     </sect1>
266   </chapter>
267
268 <!-- Keep this comment at the end of the file
269 Local variables:
270 mode: sgml
271 sgml-parent-document:("wine-doc.sgml" "set" "book" "chapter" "")
272 End:
273 -->