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