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