Made the Interlocked*Pointer functions static inline since they aren't
[wine/multimedia.git] / documentation / introduction.sgml
blobcf1babb1d5295003a55cd6dd422f6ffa8f7c0f12
1 <chapter id="introduction">
2 <title>Introduction</title>
4 <sect1 id="what-is-wine">
5 <title>What is Wine?</title>
7 <para>
8 Written by &name-john-sheets; <email>&email-john-sheets;</email>
9 </para>
11 <sect2>
12 <title>Windows and Linux</title>
13 <!-- general description of wine, what does it do? -->
14 <para>
15 Many people have faced the frustration of owning software that
16 won't run on their computer. With the recent popularity of
17 Linux, this is happening more and more often because of
18 differing operating systems. Your Windows software won't run
19 on Linux, and your Linux software won't run in Windows.
20 </para>
21 <para>
22 A common solution to this problem is to install both operating
23 systems on the same computer, as a <quote>dual boot</quote>
24 system. If you want to write a document in MS Word, you can
25 boot up in Windows; if you want to run the GnuCash, the GNOME
26 financial application, you can shut down your Windows session
27 and reboot into Linux. The problem with this is that you
28 can't do both at the same time. Each time you switch back and
29 forth between MS Word and GnuCash, you have to reboot again.
30 This can get tiresome quickly.
31 </para>
32 <para>
33 Life would be so much easier if you could run all your
34 applications on the same system, regardless of whether they
35 are written for Windows or for Linux. On Windows, this isn't
36 really possible.
37 <footnote>
38 <para>
39 Technically, if you have two networked computers, one
40 running Windows and the other running Linux, and if you
41 have some sort of X server software running on the Windows
42 system, you can export Linux applications onto the Windows
43 system. Unfortunately, most decent win32 X servers are
44 commercial products, many of which cost quite a lot.
45 However, this doesn't solve the problem if you only own
46 one computer system.
47 </para>
48 </footnote>
49 However, Wine makes it possible to run native Windows
50 applications alongside native Linux applications on a Linux
51 (or Solaris) system. You can share desktop space between MS
52 Word and GnuCash, overlapping their windows, iconizing them,
53 and even running them from the same launcher.
54 </para>
55 </sect2>
57 <sect2>
58 <title>Emulation versus Native Linking</title>
59 <!-- emulator vs. Winelib -->
60 <para>
61 Wine is a UNIX implementation of the win32 libraries,
62 written from scratch by hundreds of volunteer developers and
63 released under an open source license. Anyone can download
64 and read through the source code, and fix bugs that arise.
65 The Wine community is full of richly talented programmers
66 who have spent thousands of hours of personal time on
67 improving Wine so that it works well with the win32
68 <firstterm>Applications Programming Interface</firstterm>
69 (API), and keeps pace with new developments from Microsoft.
70 </para>
71 <para>
72 Wine can run applications in two discrete ways: as
73 pre-compiled Windows binaries, or as natively compiled X11
74 (X Window System) applications. The former method uses
75 emulation to connect a Windows application to the Wine
76 libraries. You can run your Windows application directly
77 with the emulator, by installing through Wine or by simply
78 copying the Windows executables onto your Linux system.
79 </para>
80 <para>
81 The other way to run Windows applications with Wine requires
82 that you have the source code for the application. Instead
83 of compiling it with native Windows compilers, you can
84 compile it with a native Linux compiler --
85 <command>gcc</command> for example -- and link in the Wine
86 Libraries as you would with any other native UNIX
87 application. These natively linked applications are
88 referred to as Winelib applications.
89 </para>
90 <para>
91 The Wine Users Guide will focus on running precompiled
92 Windows applications using the Wine emulator.
93 <ulink url="http://wine.codeweavers.com/docs/winelib-user/">
94 The Winelib Users Guide</ulink> will cover Winelib
95 applications.
96 </para>
98 <!-- the development model -->
99 <para>
100 </para>
101 </sect2>
102 </sect1>
104 <!-- *** Not really useful as is, but may be able to recycle this elsewhere...
105 <sect1 id="getting-started">
106 <title>Getting started</title>
108 <para>
109 Written by &name-john-sheets; <email>&email-john-sheets;</email>
110 </para>
112 <para>
113 Wine can be pretty intimidating at first. The Wine
114 distribution consists of over two thousand files and half a
115 million lines of source code
116 <footnote>
117 <para>Crudely calculated from running <command>find . | wc
118 -l</command> and <command>cat `find . -name "*.c"` | wc
119 -l</command>, respectively, from a fresh CVS checkout.</para>
120 </footnote>,
121 and is probably one of the steepest learning curves in the
122 open source world. This chapter will give you a crash course
123 in the important topics you need to know to get started with
124 running Wine applications.
125 </para>
126 </sect1>
129 <sect1 id="wine-stats">
130 <title>Wine Requirements and Features</title>
132 <para>
133 Written by &name-andreas-mohr; <email>&email-andreas-mohr;</email>
134 </para>
136 <sect2 id="system-requirements">
137 <title>System requirements</title>
138 <para>
139 In order to run Wine, you need the following:
140 </para>
141 <para>
142 <itemizedlist>
143 <listitem>
144 <para>
145 a computer ;-) Wine: only PCs >= i386 are supported at
146 the moment. Winelib: other platforms might be
147 supported, but can be tricky.
148 </para>
149 </listitem>
150 <listitem>
151 <para>
152 a UNIX-like operating system such as Linux, *BSD,
153 Solaris x86
154 </para>
155 </listitem>
156 <listitem>
157 <para>
158 >= 16MB of RAM. Everything below is pretty much
159 unusable. >= 64 MB is needed for a "good" execution.
160 </para>
161 </listitem>
162 <listitem>
163 <para>
164 an X11 window system (XFree86 etc.). Wine is prepared
165 for other graphics display drivers, but writing
166 support is not too easy. The text console display
167 driver is nearly usable.
168 </para>
169 </listitem>
170 </itemizedlist>
171 </para>
172 </sect2>
174 <sect2 id="wine-capabilities">
175 <title>Wine capabilities</title>
177 <para>
178 Now that you hopefully managed to fulfill the requirements
179 mentioned above, we tell you what Wine is able to do/support:
180 </para>
181 <para>
182 <itemizedlist>
183 <listitem>
184 <para>
185 Support for executing DOS, Win 3.x and Win9x/NT/Win2000
186 programs (most of Win32's controls are supported)
187 </para>
188 </listitem>
189 <listitem>
190 <para>
191 Optional use of external vendor DLLs (e.g. original
192 Windows DLLs)
193 </para>
194 </listitem>
195 <listitem>
196 <para>
197 X11-based graphics display (remote display to any X
198 terminal possible), text mode console
199 </para>
200 </listitem>
201 <listitem>
202 <para>
203 Desktop-in-a-box or mixable windows
204 </para>
205 </listitem>
206 <listitem>
207 <para>
208 Pretty advanced DirectX support for games
209 </para>
210 </listitem>
211 <listitem>
212 <para>
213 Good support for sound, alternative input devices
214 </para>
215 </listitem>
216 <listitem>
217 <para>
218 Printing: supports native Win16 printer drivers,
219 Internal PostScript driver
220 </para>
221 </listitem>
222 <listitem>
223 <para>
224 Modems, serial devices are supported
225 </para>
226 </listitem>
227 <listitem>
228 <para>
229 Winsock TCP/IP networking
230 </para>
231 </listitem>
232 <listitem>
233 <para>
234 ASPI interface (SCSI) support for scanners, CD writers,
236 </para>
237 </listitem>
238 <listitem>
239 <para>
240 Unicode support, relatively advanced language support
241 </para>
242 </listitem>
243 <listitem>
244 <para>
245 Wine debugger and configurable trace logging messages
246 </para>
247 </listitem>
248 </itemizedlist>
249 </para>
250 </sect2>
251 </sect1>
252 </chapter>
254 <!-- Keep this comment at the end of the file
255 Local variables:
256 mode: sgml
257 sgml-parent-document:("wine-doc.sgml" "set" "book" "chapter" "")
258 End: