Added entry for DirectSoundFullDuplexCreate.
[wine] / documentation / introduction.sgml
1   <chapter id="introduction">
2     <title>Introduction</title>
3
4     <sect1>
5       <title>Overview / About</title>
6       
7       <sect2>
8       <title>Purpose of this document and intended audience</title>
9       <para>
10         This document, called the Wine User Guide, is supposed to
11         be both an easy installation guide and an extensive reference guide.
12         Thus while it completely explains how to install and configure Wine,
13         it also tries to document all configuration features and support areas
14         of the Wine environment as a whole.
15       </para>
16       <para>
17         It tries to target both the new Wine user (aka "bloody newbie"),
18         by offering a step by step approach, and the experienced Wine
19         user or expert, by offering the reference material mentioned
20         above.
21       <para>
22         The whole document has been extensively rewritten (in other
23         words: the document then deserved to be called a document :-) by
24         &name-andreas-mohr; <email>&email-andreas-mohr;</email> in
25         March 2003.
26       </para>
27       </sect2>
28
29       <sect2>
30         <title>Burning questions and comments</title>
31         <para>
32           If during reading this document there is something you
33           can't figure out, or think could be explained better, or
34           that should have been included, please immediately mail to
35           either the &name-web-admin; <email>&email-web-admin;</email> or
36           the &name-wine-devel; <email>&email-wine-devel;</email>, or
37           post a bug report to
38           <ulink url="http://bugs.winehq.com/">Wine's Bugzilla</ulink> to
39           let us know how this document can be improved.  Remember, Open
40           Source is "free as in free speech, not as in free beer": it can
41           only work in the case of very active involvement of its users!
42         </para>
43         <para>
44           <emphasis>
45           Note that I can't say that I'm too impressed with the amount
46           of feedback about this Guide that we have received so far
47           since I added this paragraph many months ago...
48           </emphasis>
49         </para>
50       </sect2>
51
52       <sect2>
53         <title>Content overview / Steps to take</title>
54         <para>
55           This section will try to give you a complete overview of
56           how to go all the way to a fully working Wine installation
57           by following this Guide.
58           We <emphasis>strongly recommend</emphasis> following every
59           single relevant step of this Guide, since you might miss important
60           information otherwise.
61         </para>
62         <para>
63           First, we start by explaining what Wine is and mentioning
64           everything else that's useful to know about it (that's
65           covered in this very chapter that you're reading a part of right now).
66         </para>
67         <para>
68           In order to be able to use Wine, you need to obtain a copy of
69           its files first. That's the purpose of the next chapter, <link
70           linkend="getting-wine">Getting Wine</link>: it tries to show
71           you how Wine can be installed on your particular system
72           (i.e. which installation methods are available in your case),
73           and then it explains the various methods: either getting Wine
74           via a binary package file suited for your particular system,
75           or getting it via a Wine <glossterm>source code</glossterm>
76           archive file, or getting the most current Wine development
77           source code via <glossterm>CVS</glossterm>.
78         </para>
79         <para>
80           Once you got your copy of Wine, you might need to follow the
81           next chapter <link linkend="compiling">Compiling</link> if you
82           got Wine source code.
83           Otherwise, the next chapter <link
84           linkend="installing">Installing Wine</link> will explain the
85           methods to use to install the Wine files to some location
86           on your system (alternatively the chapter <link
87           linkend="compiling">Compiling</link> will explain first how to
88           compile Wine if you choose to use Wine source code).
89         </para>
90         <para>
91           Once Wine is installed on your system, the next chapter <link
92           linkend="config-wine-main">Configuring Wine</link> will
93           focus on the available configuration methods for Wine: there are
94           either graphical (e.g. WineSetupTk) or text mode (wineinstall)
95           configuration helper applications available that will
96           fully configure the Wine environment for you.
97           And For those people who dislike a fully automated
98           installation (maybe because they really want to know what they're
99           doing), we'll describe how to manually set up a complete Wine
100           environment configuration.
101         </para>
102         <para>
103           Once the configuration of the Wine environment is done, the
104           next chapter <link linkend="running">Running Wine</link>
105           will show you how to run Wine and how to satisfy
106           the requirements of certain Windows programs.
107         </para>
108         <para>
109           In case you run into trouble, the chapter <link
110           linkend="bugs">Troubleshooting / Reporting bugs</link>
111           will list and explain some common troubleshooting and debugging
112           methods.
113         </para>
114       </sect2>
115
116     </sect1>
117
118     <sect1 id="what-is-wine">
119       <title>What is Wine?</title>
120
121       <para>
122         <literallayout>
123           Written by &name-john-sheets; <email>&email-john-sheets;</email>
124           Modified by &name-dustin-navea; <email>&email-dustin-navea;</email>
125         </literallayout>
126       </para>
127
128       <sect2>
129         <title>Windows and Linux</title>
130         <!-- general description of wine, what does it do? -->
131         <para>
132           Many people have faced the frustration of owning software that
133           won't run on their computer.  With the recent popularity of
134           <ulink url="http://www.tldp.org/FAQ/Linux-FAQ/index.html">
135           Linux</ulink>, this is happening more and more often because
136           of differing operating systems.  Your Windows software won't
137           run on Linux, and your Linux software won't run in Windows.
138         </para>
139         <para>
140           A common solution to this problem is to install both operating
141           systems on the same computer, as a <quote>dual boot</quote>
142           system.  If you want to write a document in MS Word, you can
143           boot up in Windows; if you want to run GnuCash, the GNOME
144           financial application, you can shut down your Windows session
145           and reboot into Linux.  The problem with this is that you
146           can't do both at the same time.  Each time you switch back and
147           forth between MS Word and GnuCash, you have to reboot again.
148           This can get tiresome quickly.
149         </para>
150         <para>
151           Life would be so much easier if you could run all your
152           applications on the same system, regardless of whether they
153           are written for Windows or for Linux.  On Windows, this isn't
154           really possible, yet.
155           <footnote>
156             <para>
157               Technically, if you have two networked computers, one
158               running Windows and the other running Linux, and if you
159               have some sort of X server software running on the Windows
160               system, you can export Linux applications onto the Windows
161               system. A free X server is available at
162               <ulink url="http://xfree86.cygwin.com/">http://xfree86.cygwin.com/</ulink>.
163               However, this doesn't solve the problem if you only own
164               one computer system.
165             </para>
166           </footnote>
167           However, Wine makes it possible to run native Windows
168           applications alongside native Linux applications on any Unix-like
169           system.  You can share desktop space between MS Word and GnuCash,
170           overlapping their windows, iconizing them, and even running them
171           from the same launcher.
172         </para>
173       </sect2>
174
175       <sect2>
176         <title>What is Wine, and how can it help me?</title>
177         <!-- emulator vs. Winelib -->
178         <para>
179           Wine is a UNIX implementation of the win32 Windows libraries,
180           written from scratch by hundreds of volunteer developers and
181           released under an Open Source license (think of it as a
182           Windows compatibility layer for Linux and other similar
183           operating systems).  Anyone can download
184           and read through the source code, and fix bugs that arise.
185           The Wine community is full of richly talented programmers
186           who have spent thousands of hours of personal time on
187           improving Wine so that it works well with the win32
188           <glossterm>Application Programming Interface</glossterm>
189           (API), and keeps pace with new developments from Microsoft.
190         </para>
191         <para>
192           Wine can run Windows applications in two discrete ways: as
193           pre-compiled Windows binaries (your average off-the-shelf
194           program package e.g. available on CD), or as natively compiled
195           <ulink url="http://www.xfree86.org/#whatis">X11 (X-Window
196           System)</ulink> applications (via the part of Wine that's called
197           Winelib). If you're interested in compiling your Windows program
198           source code, then please refer to the Winelib User's Guide
199           instead, which explains this particular topic.
200           The Wine Users Guide however will focus on running standard
201           Windows applications using Wine.
202         </para>
203
204         <!-- the development model -->
205         <para>
206         </para>
207       </sect2>
208
209       <sect2 id="wine-capabilities">
210         <title>Wine capabilities</title>
211
212         <para>
213           Now that we're done with the boring introductory babble,
214           let us tell you what Wine is able to do/support:
215         </para>
216         <para>
217           <itemizedlist>
218             <listitem>
219               <para>
220                 Support for running Win32 (Win 95/98, NT/2000/XP), Win16 (Win 3.1) and DOS programs
221               </para>
222             </listitem>
223             <listitem>
224               <para>
225                 Optional use of external vendor
226                 <glossterm>DLLs</glossterm> (e.g. original
227                 Windows DLLs)
228               </para>
229             </listitem>
230             <listitem>
231               <para>
232                 X11-based graphics display (remote display to any X
233                 terminal possible), text mode console
234               </para>
235             </listitem>
236             <listitem>
237               <para>
238                 Desktop-in-a-box or mixable windows
239               </para>
240             </listitem>
241             <listitem>
242               <para>
243                 Pretty advanced DirectX support for games
244               </para>
245             </listitem>
246             <listitem>
247               <para>
248                 Good support for sound, alternative input devices
249               </para>
250             </listitem>
251             <listitem>
252               <para>
253                 Printing: PostScript interface driver (psdrv) to
254                 standard Unix PostScript print services
255               </para>
256             </listitem>
257             <listitem>
258               <para>
259                 Modems, serial devices are supported
260               </para>
261             </listitem>
262             <listitem>
263               <para>
264                 Winsock TCP/IP networking
265               </para>
266             </listitem>
267             <listitem>
268               <para>
269                 ASPI interface (SCSI) support for scanners, CD writers,
270                 ...
271               </para>
272             </listitem>
273             <listitem>
274               <para>
275                 Unicode support, relatively advanced language support
276               </para>
277             </listitem>
278             <listitem>
279               <para>
280                 Wine debugger and configurable trace logging messages
281               </para>
282             </listitem>
283           </itemizedlist>
284         </para>
285       </sect2>
286     </sect1>
287
288 <!-- *** Not really useful as is, but may be able to recycle this elsewhere...
289     <sect1 id="getting-started">
290       <title>Getting started</title>
291
292       <para>
293         Written by &name-john-sheets; <email>&email-john-sheets;</email>
294       </para>
295
296       <para>
297         Wine can be pretty intimidating at first.  The Wine
298         distribution consists of over two thousand files and half a
299         million lines of source code
300         <footnote>
301           <para>Crudely calculated from running <command>find . | wc
302               -l</command> and <command>cat `find . -name "*.c"` | wc
303               -l</command>, respectively, from a fresh CVS checkout.</para>
304         </footnote>,
305         and is probably one of the steepest learning curves in the
306         open source world.  This chapter will give you a crash course
307         in the important topics you need to know to get started with
308         running Wine applications.
309       </para>
310     </sect1>
311 -->
312
313     <sect1>
314       <title>Other, often "Enhanced" Wine offerings</title>
315
316       <para>
317         There are a number of offerings that are derived from the standard Wine
318         codebase in some way or another.
319       </para>
320       <para>
321         Some of these are commercial products from companies that actively contribute to Wine.
322       </para>
323       <para>
324         These products often try to stand out or distinguish themselves
325         from Wine, e.g. by offering greater compatibility or much easier
326         and flexible configuration than your average standard Wine
327         release. As such it is often a good idea to shell out some bucks
328         for the commercial versions, especially since these companies
329         contribute a lot of code to Wine, and plus, I'm sure they'll be happy about your support...
330       </para>
331       <table><title>Various Wine offerings</title>
332         <tgroup cols=3 align="left">
333           <thead>
334             <row>
335               <entry>Product</entry>
336               <entry>Description</entry>
337               <entry>Distribution form</entry>
338             </row>
339           </thead>
340           <tbody>
341             <row>
342               <entry>
343                 <ulink
344                 url="http://sourceforge.net/projects/rewind">ReWind</ulink>
345               </entry>
346               <entry>
347                 ReWind is a Wine version derived from the old BSD
348                 licensed Wine tree (it's the "completely free" BSD license fork of the currently LGPL'ed Wine).
349                 Due to its BSD license it can't incorporate some Wine
350                 patches that get licensed under the more restrictive
351                 (or: protective) LGPL license by their authors.
352               </entry>
353               <entry>
354                 Free, Open Source: BSD license
355               </entry>
356             </row>
357             <row>
358               <entry>
359                 <ulink
360                 url="http://www.codeweavers.com/products/office">CodeWeavers CrossOver Office</ulink>
361               </entry>
362               <entry>
363                 CrossOver Office allows you to install your favorite
364                 Windows productivity applications in Linux, without
365                 needing a Microsoft Operating System license. CrossOver
366                 includes an easy to use, single click interface, which
367                 makes installing a Windows application simple and fast.
368               </entry>
369               <entry>
370                 Commercial
371               </entry>
372             </row>
373             <row>
374               <entry>
375                 <ulink
376                 url="http://www.codeweavers.com/products/cxofficeserver">CodeWeavers CrossOver Office Server Edition</ulink>
377               </entry>
378               <entry>
379                 CrossOver Office Server Edition allows you to run your
380                 favorite Windows productivity applications in a
381                 distributed thin-client environment under Linux, without
382                 needing Microsoft Operating System licenses for each
383                 client machine. CrossOver OfficeServer Edition allows you
384                 to satisfy the needs of literally hundreds of concurrent
385                 users, all from a single server.
386               </entry>
387               <entry>
388                 Commercial
389               </entry>
390             </row>
391             <row>
392               <entry>
393                 <ulink
394                 url="http://www.codeweavers.com/products/crossover">CodeWeavers
395                 CrossOver Plugin</ulink>
396               </entry>
397               <entry>
398                 CrossOver Plugin lets you use many Windows plugins
399                 directly from your Linux browser. In particular CrossOver
400                 fully supports QuickTime, ShockWave Director,
401                 Windows Media Player 6.4, Word Viewer, Excel Viewer,
402                 PowerPoint Viewer, and more...
403               </entry>
404               <entry>
405                 Commercial; Demo version available
406               </entry>
407             </row>
408             <row>
409               <entry>
410                 <ulink
411                 url="http://www.codeweavers.com/technology/wine/">CodeWeavers
412                 Wine preview</ulink>
413               </entry>
414               <entry>
415                 The Wine preview is a usually slightly older Wine release
416                 that's been tested as extra stable.
417                 It includes the graphical installer winesetuptk,
418                 allowing for easy configuration.
419               </entry>
420               <entry>
421                 Free, Open Source: LGPL license
422               </entry>
423             </row>
424             <row>
425               <entry>
426                 <ulink url="http://www.transgaming.com">TransGaming Technologies WineX</ulink>
427               </entry>
428               <entry>
429                 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.
430               </entry>
431               <entry>
432                 Commercial; <ulink
433                 url="http://sourceforge.net/projects/winex">free CVS
434                 download</ulink> of reduced version (no copy protection
435                 support etc.)
436               </entry>
437             </row>
438           </tbody>
439         </tgroup>
440       </table>
441     </sect1>
442     
443     <sect1 id="wine-stats">
444       <title>Basic Wine Requirements</title>
445
446       <para>
447         <literallayout>
448           Written by &name-andreas-mohr; <email>&email-andreas-mohr;</email>
449           Modified by &name-dustin-navea; <email>&email-dustin-navea;</email>
450         </literallayout>
451       </para>
452
453       <para>
454         This section only mentions the most basic system requirements of
455         Wine, in order to ease your Wine "purchasing decision" ;-)
456         For an up-to-date much more detailed list of requirements for
457         compiling and/or installing Wine,
458         please read the REQUIREMENTS section of the <ulink
459         url="http://www.winehq.org/source/README">README</ulink> file,
460         which is also available in the main directory of a Wine source code tree.
461       </para>
462       <para>
463         In case of a binary Wine package, these Wine requirements will
464         probably be fulfilled automatically by the package installation
465         process; if you want to have a look at the detailed requirements
466         nevertheless (which definitely can't hurt!), then I'd like to
467         mention that the README file can also frequently be found in the
468         documentation files directory of a Wine package.
469       </para>
470
471       <sect2 id="system-requirements">
472         <title>System requirements</title>
473         <para>
474           In order to run Wine, you generally need the following:
475         </para>
476         <para>
477           <itemizedlist>
478             <listitem>
479               <para>
480                 <literallayout>A computer ;-)</literallayout>
481                 <literallayout>  Wine: only PCs >= i386 are supported at the moment.</literallayout>
482                 <literallayout>  Winelib: selected other platforms are supported, but can be tricky.</literallayout>
483               </para>
484             </listitem>
485             <listitem>
486               <para>
487                 A UNIX-like operating system such as Linux, *BSD,
488                 Solaris x86, ReactOS, Cygwin
489               </para>
490             </listitem>
491             <listitem>
492               <para>
493                 >= 32MB of RAM.  Everything below is pretty much
494                 unusable.  >= 96 MB is needed for "good" execution.
495               </para>
496             </listitem>
497             <listitem>
498               <para>
499                 An X11 window system (XFree86 etc.).  Wine is prepared
500                 for other graphics display drivers, but writing
501                 support is not too easy.  The text console display
502                 driver (ttydrv) is nearly usable, so you don't
503                 necessarily have to install X11 if you don't need it for
504                 the programs you intend to run (in other words: mainly
505                 for text mode programs).
506               </para>
507             </listitem>
508           </itemizedlist>
509         </para>
510       </sect2>
511     </sect1>
512   </chapter>
513
514 <!-- Keep this comment at the end of the file
515 Local variables:
516 mode: sgml
517 sgml-parent-document:("wine-doc.sgml" "set" "book" "chapter" "")
518 End:
519 -->