Removed W->A from DEFWND_ImmIsUIMessageW.
[wine] / documentation / introduction.sgml
1   <chapter id="introduction">
2     <title>Introduction</title>
3
4     <sect1 id="overview">
5       <title>Overview / About</title>
6       
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>
18
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>
35
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>
56
57     </sect1>
58
59     <sect1 id="what-is-wine">
60       <title>What is Wine?</title>
61
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>
90
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>
116
117       <sect2 id="wine-features">
118         <title>Wine features</title>
119
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>
202
203     <sect1 id="wine-versions">
204       <title>Versions of Wine</title>
205         <sect2>
206           <title>Wine from Wine HQ</title>
207
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     </sect1>
317
318     <sect1 id="alternatives">
319       <title>Alternatives to Wine you might want to consider</title>
320       <para>
321           There are many ways to run software other than through Wine.  If
322           you are considering using Wine to run an application you might
323           want to think about the viability of these approaches if you
324           encounter difficulty.
325       </para>
326
327       <sect2>
328         <title>Native Applications</title>
329         <para>
330           Instead of running a particular Windows application with Wine,
331           one frequently viable alternative is to simply run a different
332           application.  Many Windows applications, particularly more
333           commonly used ones such as media players, instant messengers,
334           and filesharing programs have very good open source equivalents.
335           Furthermore, a sizable number of Windows programs have been
336           ported to Linux directly, eliminating the need for Wine (or
337           Windows) entirely.
338         </para>
339       </sect2>
340       <sect2>
341         <title>Another Operating System</title>
342         <para>
343           Probably the most obvious method of getting a Windows
344           application to run is to simply run it on Windows.  However,
345           security, license cost, backward-compatibility, and machine
346           efficiency issues can make this a difficult proposition, which
347           is why Wine is so useful in the first place.
348         </para>
349         <para>
350           Another alternative is to use <ulink
351           url="http://www.reactos.com">ReactOS</ulink>, which is a fully
352           open source alternative to Windows.  ReactOS shares code
353           heavily with the Wine project, but rather than running Windows
354           applications on top of Linux they are instead run on top of the
355           ReactOS kernel.  ReactOS also offers compatibility with Windows
356           driver files, allowing the use of hardware without functional
357           Linux drivers.
358         </para>
359       </sect2>
360       <sect2>
361         <title>Virtual Machines</title>
362         <para>
363           Rather than installing an entirely new operating system on your
364           machine, you can instead run a virtual machine at the software
365           level and install a different operating system on it.  Thus, you
366           could run a Linux system and at the same time run Windows along
367           with your application in a virtual machine simultaneously on the
368           same hardware.  Virtual machines allow you to install and run
369           not only different versions of Windows on the same hardware, but
370           also other operating systems, including ReactOS.
371         </para>
372         <para>
373           There are several different virtual machine offerings out there,
374           and some are also able to emulate x86 hardware on different
375           platforms.  The open source <ulink
376           url="http://bochs.sourceforge.net/">Bochs</ulink> and <ulink
377           url="http://fabrice.bellard.free.fr/qemu/">QEMU</ulink> can run
378           both Windows and ReactOS virtually.  Other, commercial virtual
379           machine offerings include <ulink
380           url="http://www.vmware.com/">VMware</ulink> and Microsoft's
381           <ulink url="http://www.microsoft.com/windowsxp/virtualpc/">VirtualPC</ulink>.
382         </para>
383         <para>
384           There are significant drawbacks to using virtual machines,
385           however.  Unlike Wine, such programs <emphasis>are</emphasis>
386           emulators, so there is an inevitable speed decrease which can
387           be quite substantial.  Furthermore, running an application
388           inside a virtual machine prevents fully integrating the
389           application within the current environment.  You won't, for
390           example, be able to have windows system tray icons or program
391           shortcuts sitting alongside your desktop Linux ones, since
392           instead the Windows applications must reside completely within
393           the virtual machine.
394         </para>
395       </sect2>
396     </sect1>
397   </chapter>
398
399 <!-- Keep this comment at the end of the file
400 Local variables:
401 mode: sgml
402 sgml-parent-document:("wine-user.sgml" "set" "book" "chapter" "")
403 End:
404 -->