Remove <ntstatus.h> to allow compilation with MS PSDK headers.
[wine.git] / documentation / introduction.sgml
blob8855a36331bd00b4aee29db7e91255a6062b49e0
1 <chapter id="introduction">
2 <title>Introduction</title>
4 <sect1 id="overview">
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 decided to get 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 binary files to some location
87 on your system.
88 </para>
89 <para>
90 Once Wine is installed on your system, the next chapter <link
91 linkend="config-wine-main">Configuring Wine</link> will
92 focus on the available configuration methods for Wine to set up
93 a proper Wine/Windows environment with all its requirements:
94 there are either graphical (e.g. WineSetupTk) or text mode
95 (wineinstall) 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 Windows programs with Wine and
106 how to satisfy the more specific requirements of certain
107 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 the source code of a
199 Windows program you wrote, then please refer to the
200 Winelib User's Guide instead, which explains this particular topic.
201 This 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 four thousand files and almost 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 id="other-wines">
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="competition">
445 <title>Alternatives to Wine you might want to consider</title>
447 <para>
448 We'll mention some alternatives (or we could also say:
449 competitors) to Wine here that might come in handy if Wine is
450 not usable for the program or job you want it to do, since
451 these alternatives usually provide better Windows compatibility.
452 </para>
454 <sect2>
455 <title>VMWare</title>
456 <para>
457 <ulink url="http://www.vmware.com">VMWare</ulink> is a
458 software package to emulate an additional machine on your PC.
459 In other words, it establishes a virtual machine that can be
460 used to run any kind of Intel x86 compatible operating system
461 in parallel to your currently running operating system.
462 Thus you could use Linux and at the same time run Windows 98
463 in a virtual machine on the same screen.
464 </para>
465 <para>
466 Sounds nice, doesn't it? Well, there are some drawbacks, of
467 course... First, VMWare is pretty expensive, and second, you
468 need a licensed copy of the operating system you want to run.
469 Third, since VMWare is a virtual machine, it's quite slow.
470 Wine doesn't have any of these limitations, but unfortunately
471 this also means that you will not have the relatively good
472 compatibility of a real original Windows system if you use
473 Wine.
474 </para>
475 </sect2>
476 <sect2>
477 <title>Win4Lin</title>
478 <para>
479 <ulink url="http://www.win4lin.com">Win4Lin</ulink> by
480 NeTraverse allows you to run a special version of Win98 in
481 Linux. Compared to VMWare, this has the advantage that it's
482 faster, but you still have the license fees.
483 </para>
484 </sect2>
485 </sect1>
486 <sect1 id="wine-stats">
487 <title>Basic Wine Requirements</title>
489 <para>
490 <literallayout>
491 Written by &name-andreas-mohr; <email>&email-andreas-mohr;</email>
492 Modified by &name-dustin-navea; <email>&email-dustin-navea;</email>
493 </literallayout>
494 </para>
496 <para>
497 This section only mentions the most basic system requirements of
498 Wine, in order to ease your Wine "purchasing decision" ;-)
499 For an up-to-date much more detailed list of requirements for
500 compiling and/or installing Wine,
501 please read the REQUIREMENTS section of the <ulink
502 url="http://www.winehq.org/source/README">README</ulink> file,
503 which is also available in the main directory of a Wine source code tree.
504 </para>
505 <para>
506 In case of a binary Wine package, these Wine requirements will
507 probably be fulfilled automatically by the package installation
508 process; if you want to have a look at the detailed requirements
509 nevertheless (which definitely can't hurt!), then I'd like to
510 mention that the README file can also frequently be found in the
511 documentation files directory of a Wine package.
512 </para>
514 <sect2 id="system-requirements">
515 <title>System requirements</title>
516 <para>
517 In order to run Wine, you generally need the following:
518 </para>
519 <para>
520 <itemizedlist>
521 <listitem>
522 <para>
523 A computer ;-)
524 <literallayout> Wine: only PCs >= i386 are supported at the moment.</literallayout>
525 <literallayout> Winelib: selected other platforms are supported, but can be tricky.</literallayout>
526 </para>
527 </listitem>
528 <listitem>
529 <para>
530 A UNIX-like operating system such as Linux, *BSD,
531 Solaris x86, ReactOS, Cygwin
532 </para>
533 </listitem>
534 <listitem>
535 <para>
536 >= 32MB of RAM. Everything below is pretty much
537 unusable. >= 96 MB is needed for "good" execution.
538 </para>
539 </listitem>
540 <listitem>
541 <para>
542 An X11 window system (XFree86 etc.). Wine is prepared
543 for other graphics display drivers, but writing
544 support is not too easy. The text console display
545 driver (ttydrv) is nearly usable, so you don't
546 necessarily have to install X11 if you don't need it for
547 the programs you intend to run (in other words: mainly
548 for text mode programs).
549 </para>
550 </listitem>
551 </itemizedlist>
552 </para>
553 </sect2>
554 </sect1>
555 </chapter>
557 <!-- Keep this comment at the end of the file
558 Local variables:
559 mode: sgml
560 sgml-parent-document:("wine-user.sgml" "set" "book" "chapter" "")
561 End: