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