Replace '\' with '/' in the URL in HTTP_HttpSendRequestW.
[wine/multimedia.git] / documentation / introduction.sgml
blobf8d2b1923400f840dcdc47ac746b62fda9f089a9
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 <entry>
276 Commercial
277 </entry>
278 </row>
279 <row>
280 <entry>
281 <ulink url="http://www.transgaming.com">TransGaming Technologies Cedega</ulink>
282 </entry>
283 <entry>
284 Cedega, formerly known as WineX, is a Wine version derived
285 from the old BSD licensed Wine tree. It is designed
286 specifically to function with games, and so development
287 is centered around ensuring compatibility with technologies
288 like Direct3D, DirectX, and various methods of copy protection.
289 </entry>
290 <entry>
291 Commercial; free CVS download of reduced version (no copy
292 protection support etc.)
293 </entry>
294 </row>
295 <row>
296 <entry>
297 <ulink
298 url="http://sourceforge.net/projects/rewind">ReWind</ulink>
299 </entry>
300 <entry>
301 ReWind is a Wine version derived from the old BSD licensed
302 Wine tree. Due to its BSD license it can't incorporate
303 most recent Wine patches, however its code can be used by
304 any software project without restriction. Although code
305 is occasionally contributed to ReWind alongside the main
306 Wine project, there has never been an official release of
307 ReWind.
308 </entry>
309 <entry>
310 Free, Open Source: BSD license
311 </entry>
312 </row>
313 </tbody>
314 </tgroup>
315 </table>
316 </sect2>
317 </sect1>
319 <sect1 id="alternatives">
320 <title>Alternatives to Wine you might want to consider</title>
321 <para>
322 There are many ways to run software other than through Wine. If
323 you are considering using Wine to run an application you might
324 want to think about the viability of these approaches if you
325 encounter difficulty.
326 </para>
328 <sect2>
329 <title>Native Applications</title>
330 <para>
331 Instead of running a particular Windows application with Wine,
332 one frequently viable alternative is to simply run a different
333 application. Many Windows applications, particularly more
334 commonly used ones such as media players, instant messengers,
335 and filesharing programs have very good open source equivalents.
336 Furthermore, a sizable number of Windows programs have been
337 ported to Linux directly, eliminating the need for Wine (or
338 Windows) entirely.
339 </para>
340 </sect2>
341 <sect2>
342 <title>Another Operating System</title>
343 <para>
344 Probably the most obvious method of getting a Windows
345 application to run is to simply run it on Windows. However,
346 security, license cost, backward-compatibility, and machine
347 efficiency issues can make this a difficult proposition, which
348 is why Wine is so useful in the first place.
349 </para>
350 <para>
351 Another alternative is to use <ulink
352 url="http://www.reactos.com">ReactOS</ulink>, which is a fully
353 open source alternative to Windows. ReactOS shares code
354 heavily with the Wine project, but rather than running Windows
355 applications on top of Linux they are instead run on top of the
356 ReactOS kernel. ReactOS also offers compatibility with Windows
357 driver files, allowing the use of hardware without functional
358 Linux drivers.
359 </para>
360 </sect2>
361 <sect2>
362 <title>Virtual Machines</title>
363 <para>
364 Rather than installing an entirely new operating system on your
365 machine, you can instead run a virtual machine at the software
366 level and install a different operating system on it. Thus, you
367 could run a Linux system and at the same time run Windows along
368 with your application in a virtual machine simultaneously on the
369 same hardware. Virtual machines allow you to install and run
370 not only different versions of Windows on the same hardware, but
371 also other operating systems, including ReactOS.
372 </para>
373 <para>
374 There are several different virtual machine offerings out there,
375 and some are also able to emulate x86 hardware on different
376 platforms. The open source <ulink
377 url="http://bochs.sourceforge.net/">Bochs</ulink> and <ulink
378 url="http://fabrice.bellard.free.fr/qemu/">QEMU</ulink> can run
379 both Windows and ReactOS virtually. Other, commercial virtual
380 machine offerings include <ulink
381 url="http://www.vmware.com/">VMware</ulink> and Microsoft's
382 <ulink url="http://www.microsoft.com/windowsxp/virtualpc/">VirtualPC</ulink>.
383 </para>
384 <para>
385 There are significant drawbacks to using virtual machines,
386 however. Unlike Wine, such programs <emphasis>are</emphasis>
387 emulators, so there is an inevitable speed decrease which can
388 be quite substantial. Furthermore, running an application
389 inside a virtual machine prevents fully integrating the
390 application within the current environment. You won't, for
391 example, be able to have windows system tray icons or program
392 shortcuts sitting alongside your desktop Linux ones, since
393 instead the Windows applications must reside completely within
394 the virtual machine.
395 </para>
396 </sect2>
397 </sect1>
398 </chapter>
400 <!-- Keep this comment at the end of the file
401 Local variables:
402 mode: sgml
403 sgml-parent-document:("wine-user.sgml" "set" "book" "chapter" "")
404 End: