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