Fixed refcount handling (waiting clients must not increase the
[wine/multimedia.git] / documentation / introduction.sgml
blobe5f6563f3b67498541bd14034c8b3f9b139d6db0
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 both an easy
11 installation guide and an extensive reference guide. This guide
12 is for both the new Wine user and the experienced Wine user,
13 offering full step-by-step installation and configuration
14 instructions, as well as featuring extensive reference material
15 by documenting all configuration features and support areas.
16 </para>
17 </sect2>
19 <sect2>
20 <title>Further questions and comments</title>
21 <para>
22 If, after examining this guide, the FAQ, and other relevant
23 documentation there is still something you cannot figure out,
24 we would love to hear from you. The <ulink
25 url="http://www.winehq.org/site/forums">mailing lists</ulink>
26 section contains several mailing lists and an IRC channel, all
27 of which are great places to seek help and offer suggestions.
28 If you are particularly savvy, and believe that something can be
29 explained better, you can file a <ulink
30 url="http://bugs.winehq.org/">bug report</ulink> or <ulink
31 url="http://www.winehq.org/site/sending_patches">post a
32 patch</ulink> on Wine's documentation itself.
33 </para>
34 </sect2>
36 <sect2>
37 <title>Content overview / Steps to take</title>
38 <para>
39 In order to be able to use Wine, you must first have a working
40 installation. This guide will help you to move your system
41 from an empty, Wineless void to one boasting a fresh, up to
42 date Wine install. The first step, <link
43 linkend="getting-wine">Getting Wine</link>, illustrates the
44 various methods of getting Wine's files onto your computer.
45 The second step, <link linkend="installing">Installing
46 Wine</link>, details the various install processes available to
47 you. The third step, <link linkend="config-wine-main">Configuring
48 Wine</link>, shows how to customize a Wine installation depending
49 on your individual needs. The final step, <link
50 linkend="running">Running Wine</link>, covers the specific
51 steps you can take to get a particular application to run
52 better under Wine, and provides useful links in case you need
53 further help.
54 </para>
55 </sect2>
57 </sect1>
59 <sect1 id="what-is-wine">
60 <title>What is Wine?</title>
62 <sect2>
63 <title>Windows and Linux</title>
64 <para>
65 Different software programs are designed for different
66 operating systems, and most won't work on systems that they
67 weren't designed for. Windows programs, for example, won't run
68 in Linux because they contain instructions that the system can't
69 understand until they're translated by the Windows environment.
70 Linux programs, likewise, won't run under the Windows operating
71 system because Windows is unable to interpret all of their
72 instructions.
73 </para>
74 <para>
75 This situation presents a fundamental problem for anyone who
76 wants to run software for both Windows and Linux. A common
77 solution to this problem is to install both operating systems on
78 the same computer, known as "dual booting." When a Windows
79 program is needed, the user boots the machine into Windows to
80 run it; when a Linux program is then needed, the user then
81 reboots the machine into Linux. This option presents great
82 difficulty: not only must the user endure the frustration of
83 frequent rebooting, but programs for both platforms can't be
84 run simultaneously. Having Windows on a system also creates
85 an added burden: the software is expensive, requires a separate
86 disk partition, and is unable to read most filesystem formats,
87 making the sharing of data between operating systems difficult.
88 </para>
89 </sect2>
91 <sect2>
92 <title>What is Wine, and how can it help me?</title>
93 <para>
94 Wine makes it possible to run Windows programs alongside any
95 Unix-like operating system, particularly Linux. At its heart,
96 Wine is an implementation of the Windows Application
97 Programing Interface (API) library, acting as a bridge between
98 the Windows program and Linux. Think of Wine as a compatibility
99 layer, when a Windows program tries to perform a function that
100 Linux doesn't normally understand, Wine will translate that
101 program's instruction into one supported by the system. For
102 example, if a program asks the system to create a Windows
103 pushbutton or text-edit field, Wine will convert that
104 instruction into its Linux equivalent in the form of a command
105 to the window manager using the standard X11 protocol.
106 </para>
107 <para>
108 If you have access to the Windows program's source code, Wine
109 can also be used to recompile a program into a format that Linux
110 can understand more easily. Wine is still needed to launch the
111 program in its recompiled form, however there are many advantages
112 to compiling a Windows program natively within Linux. For more
113 information, see the Winelib User Guide.
114 </para>
115 </sect2>
117 <sect2 id="wine-features">
118 <title>Wine features</title>
120 <para>
121 Throughout the course of its development, Wine has continually
122 grown in the features it carries and the programs it can run.
123 A partial list of these features follows:
124 </para>
125 <para>
126 <itemizedlist>
127 <listitem>
128 <para>
129 Support for running Win32 (Win 95/98, NT/2000/XP), Win16
130 (Win 3.1) and DOS programs
131 </para>
132 </listitem>
133 <listitem>
134 <para>
135 Optional use of external vendor DLL files (such as those
136 included with Windows)
137 </para>
138 </listitem>
139 <listitem>
140 <para>
141 X11-based graphics display, allowing remote display to any
142 X terminal, as well as a text mode console
143 </para>
144 </listitem>
145 <listitem>
146 <para>
147 Desktop-in-a-box or mixable windows
148 </para>
149 </listitem>
150 <listitem>
151 <para>
152 DirectX support for games
153 </para>
154 </listitem>
155 <listitem>
156 <para>
157 Good support for various sound drivers including OSS and ALSA
158 </para>
159 </listitem>
160 <listitem>
161 <para>
162 Support for alternative input devices
163 </para>
164 </listitem>
165 <listitem>
166 <para>
167 Printing: PostScript interface driver (psdrv) to standard
168 Unix PostScript print services
169 </para>
170 </listitem>
171 <listitem>
172 <para>
173 Modem, serial device support
174 </para>
175 </listitem>
176 <listitem>
177 <para>
178 Winsock TCP/IP networking support
179 </para>
180 </listitem>
181 <listitem>
182 <para>
183 ASPI interface (SCSI) support for scanners, CD writers,
184 and other devices
185 </para>
186 </listitem>
187 <listitem>
188 <para>
189 Advanced unicode and foreign language support
190 </para>
191 </listitem>
192 <listitem>
193 <para>
194 Full-featured Wine debugger and configurable trace
195 logging messages for easier troubleshooting
196 </para>
197 </listitem>
198 </itemizedlist>
199 </para>
200 </sect2>
201 </sect1>
203 <sect1 id="wine-versions">
204 <title>Versions of Wine</title>
205 <sect2>
206 <title>Wine from Wine HQ</title>
208 <para>
209 Wine is an open source project, and there are accordingly
210 many different versions of Wine for you to choose from. The
211 standard version of Wine comes in intermittant releases
212 (roughly once a month), and can be downloaded over the
213 internet in both prepackaged binary form and ready to compile
214 source code form. Alternatively, you can install a development
215 version of Wine by using the latest available source code on
216 the CVS server. See the next chapter, <link
217 linkend="getting-wine">Getting Wine</link>, for further details.
218 </para>
219 </sect2>
220 <sect2>
221 <title>Other Versions of Wine</title>
222 <para>
223 There are a number of programs that are derived from the
224 standard Wine codebase in some way or another. Some of these
225 are commercial products from companies that actively contribute
226 to the Wine project.
227 </para>
228 <para>
229 These products try to stand out or distinguish themselves
230 from the standard version of Wine by offering greater
231 compatibility, easier configuration, and commercial support.
232 If you require such things, it is a good idea to consider
233 purchasing these products.
234 </para>
235 <table><title>Various Wine offerings</title>
236 <tgroup cols=3 align="left">
237 <thead>
238 <row>
239 <entry>Product</entry>
240 <entry>Description</entry>
241 <entry>Distribution Form</entry>
242 </row>
243 </thead>
244 <tbody>
245 <row>
246 <entry>
247 <ulink
248 url="http://www.codeweavers.com/products/office">CodeWeavers CrossOver Office</ulink>
249 </entry>
250 <entry>
251 CrossOver Office allows you to install your favorite
252 Windows productivity applications in Linux, without
253 needing a Microsoft Operating System license. CrossOver
254 includes an easy to use, single click interface, which
255 makes installing a Windows application simple and fast.
256 </entry>
257 <entry>
258 Commercial; 30-day fully-functional demo available.
259 </entry>
260 </row>
261 <row>
262 <entry>
263 <ulink
264 url="http://www.codeweavers.com/products/cxofficeserver">CodeWeavers CrossOver Office Server Edition</ulink>
265 </entry>
266 <entry>
267 CrossOver Office Server Edition allows you to run your
268 favorite Windows productivity applications in a
269 distributed thin-client environment under Linux, without
270 needing Microsoft Operating System licenses for each
271 client machine. CrossOver Office Server Edition allows you
272 to satisfy the needs of literally hundreds of concurrent
273 users, all from a single server.
274 </entry>
275 </row>
276 </tbody>
277 </tgroup>
278 </table>
279 </sect2>
280 </sect1>
282 <sect1 id="alternatives">
283 <title>Alternatives to Wine you might want to consider</title>
284 <para>
285 There are many ways to run software other than through Wine. If
286 you are considering using Wine to run an application you might
287 want to think about the viability of these approaches if you
288 encounter difficulty.
289 </para>
291 <sect2>
292 <title>Native Applications</title>
293 <para>
294 Instead of running a particular Windows application with Wine,
295 one frequently viable alternative is to simply run a different
296 application. Many Windows applications, particularly more
297 commonly used ones such as media players, instant messengers,
298 and filesharing programs have very good open source equivalents.
299 Furthermore, a sizable number of Windows programs have been
300 ported to Linux directly, eliminating the need for Wine (or
301 Windows) entirely.
302 </para>
303 </sect2>
304 <sect2>
305 <title>Another Operating System</title>
306 <para>
307 Probably the most obvious method of getting a Windows
308 application to run is to simply run it on Windows. However,
309 security, license cost, backward-compatibility, and machine
310 efficiency issues can make this a difficult proposition, which
311 is why Wine is so useful in the first place.
312 </para>
313 <para>
314 Another alternative is to use <ulink
315 url="http://www.reactos.com">ReactOS</ulink>, which is a fully
316 open source alternative to Windows. ReactOS shares code
317 heavily with the Wine project, but rather than running Windows
318 applications on top of Linux they are instead run on top of the
319 ReactOS kernel. ReactOS also offers compatibility with Windows
320 driver files, allowing the use of hardware without functional
321 Linux drivers.
322 </para>
323 </sect2>
324 <sect2>
325 <title>Virtual Machines</title>
326 <para>
327 Rather than installing an entirely new operating system on your
328 machine, you can instead run a virtual machine at the software
329 level and install a different operating system on it. Thus, you
330 could run a Linux system and at the same time run Windows along
331 with your application in a virtual machine simultaneously on the
332 same hardware. Virtual machines allow you to install and run
333 not only different versions of Windows on the same hardware, but
334 also other operating systems, including ReactOS.
335 </para>
336 <para>
337 There are several different virtual machine offerings out there,
338 and some are also able to emulate x86 hardware on different
339 platforms. The open source <ulink
340 url="http://bochs.sourceforge.net/">Bochs</ulink> and <ulink
341 url="http://fabrice.bellard.free.fr/qemu/">QEMU</ulink> can run
342 both Windows and ReactOS virtually. Other, commercial virtual
343 machine offerings include <ulink
344 url="http://www.vmware.com/">VMware</ulink> and Microsoft's
345 <ulink url="http://www.microsoft.com/windowsxp/virtualpc/">VirtualPC</ulink>.
346 </para>
347 <para>
348 There are significant drawbacks to using virtual machines,
349 however. Unlike Wine, such programs <emphasis>are</emphasis>
350 emulators, so there is an inevitable speed decrease which can
351 be quite substantial. Furthermore, running an application
352 inside a virtual machine prevents fully integrating the
353 application within the current environment. You won't, for
354 example, be able to have windows system tray icons or program
355 shortcuts sitting alongside your desktop Linux ones, since
356 instead the Windows applications must reside completely within
357 the virtual machine.
358 </para>
359 </sect2>
360 </sect1>
361 </chapter>
363 <!-- Keep this comment at the end of the file
364 Local variables:
365 mode: sgml
366 sgml-parent-document:("wine-user.sgml" "set" "book" "chapter" "")
367 End: