Fixed buffer overflow.
[wine/multimedia.git] / documentation / faq.sgml
blob93acfbf4d6e9ed16de32ed64bbc319eb5bf1760c
1 <!-- *** Wine FAQ *** -->
2 <title>Wine FAQ</title>
4 <qandaset>
5 <qandadiv id="About-this-FAQ"><title>About this FAQ</title>
6 <qandaentry>
7 <question id="Who-maintains-this-FAQ">
8 <para>Who maintains this FAQ ?</para>
9 </question>
10 <answer>
11 <para>Dave Gardner maintained it from 1995-1998.</para>
12 <para>Douglas Ridgway (ridgway@winehq.org) took it over in 1999.</para>
13 <para>Andreas Mohr (amohr@codeweavers.com) converted it to FAQ-O-Matic in 2000.</para>
14 <para>Dimitrie O. Paun, Keith Matthews and Tom Wickline (in alphabetical order) reorganized it in 2002.</para>
15 <para>For suggestions/additions/complaints regarding this FAQ, please send an email to
16 <ulink url="mailto:wine-faq@winehq.org">wine-faq@winehq.org</ulink></para>
17 </answer>
18 </qandaentry>
19 <qandaentry>
20 <question id="What-is-the-copyright-on-the-FAQ-And">
21 <para>What is the copyright on the FAQ? And how may I use it?</para>
22 </question>
23 <answer>
24 <para>The original Wine FAQ, which this FAQ was based on, was copyright &copy; 1995-1998 David Gardner.</para>
25 <para>It may be reproduced and modified under the same terms as Wine itself.</para>
26 </answer>
27 </qandaentry>
28 </qandadiv>
29 <qandadiv id="General-Questions-about-Wine">
30 <title>General Questions about Wine</title>
31 <qandaentry>
33 <question id="What-is-Wine-and-what-is-it-supposed-to">
34 <para>What is Wine and what is it supposed to do?</para>
35 </question>
36 <answer>
37 <para>
38 Wine is a program which allows the operation of DOS and MS
39 Windows programs (Windows 3.x and Win32 executables) on UNIX operating systems such as Linux.
40 It consists of a program loader, which loads and executes a Windows
41 binary, and a set of libraries that implements Windows API calls
42 using their UNIX or X11 equivalents. The libraries may also be used
43 for porting Win32 code into native UNIX executables, often
44 without many changes in the source. Wine is free software,
45 and its license (contained in the file LICENSE
46 in each distribution) is the LGPL.
47 </para>
48 </answer>
49 </qandaentry>
51 <qandaentry>
52 <question id="Is-Wine-an-emulator">
53 <para>Does Wine emulate a full computer?</para>
54 </question>
55 <answer>
56 <para>
57 No, as the name says, Wine Is Not a (CPU) Emulator. Wine just
58 provides the Windows API. This means that you will need an
59 x86-compatible processor to run an x86 Windows application, for instance from Intel or AMD. The
60 advantage is that, unlike solutions that rely on CPU emulation, Wine
61 runs applications at full speed. Sometimes a program run under
62 Wine will be slower than when run on a copy of Microsoft Windows, but
63 this is more due to the fact that Microsoft have heavily optimized parts of their
64 code, whereas mostly Wine is not well optimized (yet). Occasionally, an app
65 may run faster under Wine than on Windows. Most apps run at roughly the same speed.
66 </para>
67 </answer>
68 </qandaentry>
70 <qandaentry>
71 <question id="Are-here-any-alternatives-to-Wine">
72 <para>Are there any alternatives to Wine?</para>
73 </question>
74 <answer>
75 <para>
76 Yes, there are. You can use <ulink url="http://www.vmware.com">VMWare</ulink> to run a Windows installation inside a virtual machine,
77 or use <ulink url="http://www.win4lin.com">Win4Lin</ulink>
78 to run a specially adapted Windows version on Linux.
79 Both solutions cost money for both the software itself
80 and a Windows license.
81 </para>
82 <para>
83 Note that, like Wine, they can only use the hardware platform that
84 the target programs were originally compiled for (see below).
85 </para>
86 </answer>
87 </qandaentry>
89 <qandaentry>
90 <question id="Difference-between-Wine-and-emulators">
91 <para>What is the difference between Wine and x86 hardware emulators?</para>
92 </question>
93 <answer>
94 <para>
95 There are two free x86 hardware emulators:
96 <ulink url="http://bochs.sourceforge.net">Bochs</ulink>, and
97 <ulink url="http://savannah.nongnu.org/projects/plex86">Plex86</ulink>.
98 </para>
100 <para>
101 Plex86 is the open-source free-software alternative for VMWare,
102 VirtualPC, and other IA-32 on IA-32 "Virtual PC products." It
103 can only run on the IA-32 architecture.
104 </para>
106 <para>
107 Bochs is a highly portable open source IA-32 (x86) PC emulator
108 written in C++, that runs on most popular platforms. It includes emulation
109 of the Intel x86 CPU, common I/O devices, and a custom BIOS. Currently,
110 Bochs can be compiled to emulate a 386, 486 or Pentium CPU. Bochs is capable
111 of running most Operating Systems inside the emulation including Linux,
112 Windows® 95, DOS, and recently Windows® NT 4.
113 </para>
115 <para>
116 Both are licensed under the GPL. Bochs is older than Plex86, seems to be
117 easier to install, but Plex86 will run faster because Plex86 uses a just in
118 time binary compiler.
119 </para>
120 <para>
121 The drawback of all emulators is that you need a version
122 of Windows in order to run Windows, and that they all have an
123 impact on performance. Wine also gives much better desktop integration - for
124 instance, programs use your standard window manager, system tray icons will
125 appear in your tray area (if you have one), and you can run programs direct from the
126 command line and the menus. The clipboard also works seamlessly.
127 </para>
129 </answer>
130 </qandaentry>
132 <qandaentry>
133 <question id="Integrate-an-x86-emulator">
134 <para>When will Wine integrate an x86 CPU emulator so we can
135 run Windows applications on non-x86 machines?</para>
136 </question>
137 <answer>
138 <para>
139 The short answer is 'probably never'. Remember, Wine Is Not a
140 (CPU) Emulator. The long answer is that we probably don't want or
141 need to integrate one in the traditional sense.
142 </para>
143 <para>
144 Integrating a CPU emulator in Wine would be extremely hard,
145 due to the large number of Windows APIs and the complex
146 data types they exchange. It is not uncommon for a Windows API to
147 take three or more pointers to structures composed of many fields,
148 including pointers to other complex structures. For each of these
149 we would need a conversion routine to deal with the byte order and
150 alignment issues. Furthermore, Windows also contains many callback
151 mechanisms that constitute as many extra places where we would have
152 to handle these conversion issues. Wine already has to deal with
153 16 vs. 32 bit APIs and Ansi vs. Unicode APIs which both
154 introduce significant complexity. Adding support for a CPU emulator
155 inside Wine would introduce at least double that complexity and
156 only serve to slow down the development of Wine.
157 </para>
158 <para>
159 Fortunately another solution exists to run Windows applications
160 on non-x86 platforms: run both Wine and the application inside the
161 CPU emulator. As long as the emulator provides a standard Unix
162 environment, Wine should only need minimal modifications. What
163 performance you lose due to Wine running inside the emulator
164 rather than natively, you gain in complexity inside of Wine.
165 Furthermore, if the emulator is fast enough to run Windows
166 applications, Photoshop for instance, then it should be fast enough
167 to run that same Windows application plus Wine.
168 </para>
169 <para>
170 Two projects have started along those lines: <ulink
171 url="http://fabrice.bellard.free.fr/qemu/">QEMU</>, an
172 open-source project, and <ulink
173 url="http://www.transitives.com/tech_overview.htm">Dynamite</>,
174 a commercial CPU emulator environment from
175 <ulink url="http://www.transitives.com/">Transitives Technologies</>
176 which has been <ulink
177 url="http://www.transgaming.com/news.php?newsid=37">paired
178 with Wine</>.
179 </para>
181 </answer>
182 </qandaentry>
184 <qandaentry>
185 <question id="Why-would-anyone-want-Wine-Windows-suck">
186 <para>Why would anyone want Wine? Doesn't Windows suck?</para>
187 </question>
188 <answer>
189 <para>
190 First Wine is not about running Windows but about running Windows
191 applications.
192 </para>
193 <para>
194 So if all your computing needs are fulfilled by native Unix
195 applications, then you do not need Wine and should not be using
196 it. However, if you depend on one or more of the tens of
197 thousands of Windows applications, then Wine is the best way to
198 use it without giving up on Unix. Let's look at the alternatives
199 to see why:
200 </para>
201 <para>
202 The most obvious alternative is to dual-boot. This is the solution
203 that provides the best compatibility. However it requires that you
204 acquire a Windows license and then dedicate a good chunk of your
205 hard-drive to Windows. But the worst is yet to come. Each time you
206 will want to use that application you will have to reboot to
207 Windows. This is especially significant if external factors dictate
208 when you must use this application (e.g. credit card to process,
209 email to retrieve from a Lotus Notes server). Then you will find
210 yourself forced to close all your Linux applications just to run
211 that one Windows application. You may quickly get tired of this, or
212 will find that such a situation is impossible to justify in a
213 business environment.
214 </para>
215 <para>
216 The next solution is to install virtual machine emulation software
217 such as VMWare, Win4Lin or Plex86. Then you can use windows
218 applications without suffering such a big disruption. But it still
219 requires that you acquire a Windows license and dedicate as much
220 disk space to Windows. Furthermore you will pay for the added
221 convenience: if using VMWare or Win4Lin you have to buy another
222 license, and more importantly you now have to dedicate a good chunk
223 of your computer's memory to the virtual machine. Performance will
224 take a significant hit too.
225 </para>
226 <para>
227 Using Wine lets you avoid all of that overhead: Windows license,
228 hard-drive space required by Windows, memory and performance hit
229 taken by emulated virtual machines. Now you can start your Windows
230 application straight from your regular desktop environment, place
231 that application's window side by side with native applications,
232 copy/paste from one to the other, and run it all at full speed.
233 </para>
234 <para>
235 It is also a pretty vital part of migrating a large organization,
236 you can't change a 5000 desktop setup overnight without a lot of risk.
237 </para>
238 </answer>
239 </qandaentry>
241 <qandaentry>
242 <question id="Use-Windows-driver-with-Wine">
243 <para>Can I use Wine to make the Windows driver for my network card /
244 graphics card / scanner / etc. work on Unix?</para>
245 </question>
246 <answer>
247 <para>
248 The goal of Wine is to make it possible to run Windows applications
249 on Unix, not Windows drivers or VxDs.
250 </para>
251 <para>
252 Drivers and Windows applications belong to different worlds.
253 Applications run in user mode and use the APIs provided by
254 the kernel and the other user mode dlls. In contrast, drivers
255 are loaded in the Windows kernel, i.e. in ring 0 instead of ring
256 3, have to deal with specific memory management issues, and use
257 instructions not available to regular applications. This means
258 they would not be able to run in Wine since Wine runs entirely
259 in user mode. Rather you would have to modify the Linux kernel.
260 But in addition, drivers use a completely different API from
261 regular Windows applications. So the work performed on Wine would
262 not even be of any use for such a project. In other words, making
263 it possible to use Windows drivers or VxDs on Unix would be a
264 completely separate project.
265 </para>
266 <para>
267 However, if you want to reuse Windows drivers on a non-Microsoft
268 operating system we recommend that you have a look at
269 <ulink url="http://www.reactos.com/">ReactOS</>.
270 </para>
272 </answer>
273 </qandaentry>
275 <qandaentry>
276 <question id="Which-one-of-the-different-Wine-packages">
277 <para>Which one of the different Wine packages out there is good for me?</para>
278 </question>
279 <answer>
280 <para>
281 Currently there is a broad selection of different Wine packages/versions:
282 </para>
283 <variablelist>
285 <varlistentry>
286 <term><ulink url="http://www.winehq.org">Wine</ulink></term>
287 <listitem>
288 <para>
289 This is the "standard" distribution of Wine. Its license is
290 the LGPL, it can be downloaded for free. Both source code and binaries
291 are available in the download section of the site.
292 </para>
293 </listitem>
294 </varlistentry>
296 <varlistentry>
297 <term><ulink url="http://rewind.sourceforge.net">ReWind</ulink></term>
298 <listitem>
299 <para>
300 This is a forked Wine tree that got created when Wine changed its
301 license from X11 to the more restrictive LGPL, in order to let
302 people continue to maintain an X11 licensed Wine version. Its
303 license is X11, it can be downloaded for free.
304 </para>
305 </listitem>
306 </varlistentry>
308 <varlistentry>
309 <term><ulink url="http://www.transgaming.com">TransGaming's WineX</ulink></term>
310 <listitem>
311 <para>
312 This is TransGaming's Wine version specially suited for
313 games. It includes more mature Direct3D support than
314 WineHQ, although these days WineHQ has quite advanced
315 D3D support as well. Most of the code is under the AFPL
316 and can be downloaded for free.
317 </para>
318 <para>
319 However TransGaming also distributes binaries that contain
320 improved copy protection support (needed for many
321 games), support, and other enhancements. These packages are
322 only available in binary form to subscribed customers
323 ($5/month, minimum three months).
324 </para>
325 </listitem>
326 </varlistentry>
328 <varlistentry>
329 <term><ulink url="http://wine.codeweavers.com">CodeWeavers' Wine preview</ulink></term>
330 <listitem>
331 <para>
332 This is a special packaged version of the standard Wine tree
333 which has a nice setup for easy installation. License LGPL, free
334 download. It's pretty old now, and not recommended for general use.
335 </para>
336 </listitem>
337 </varlistentry>
339 <varlistentry>
340 <term><ulink url="http://www.codeweavers.com/products/crossover/">CodeWeavers' CrossOver Plugin</ulink></term>
341 <listitem>
342 <para>
343 Special Wine installation to be used for running Windows
344 Netscape browser plugins such as e.g. QuickTime in Linux
345 browsers. Costs $34.95.
346 Well worth it (very stable and useful packaging).
347 </para>
348 </listitem>
349 </varlistentry>
351 <varlistentry>
352 <term><ulink url="http://www.codeweavers.com/products/office/">CodeWeavers' CrossOver Office</ulink></term>
353 <listitem>
354 <para>
355 Wine version with special packaging to make sure almost all
356 important Office type programs work pretty well. Costs $54.95.
357 Seems to be well worth it so far according to some comments.
358 (note: you're supporting a company actively contributing to Wine
359 if you decide to buy either Plugin or Office.)
360 </para>
361 </listitem>
362 </varlistentry>
364 <varlistentry>
365 <term><ulink url="http://www.codeweavers.com/products/cxofficeserver/">CodeWeavers' CrossOver Office Server Edition</ulink></term>
366 <listitem>
367 <para>
368 Allows you to run your favorite Windows productivity applications in
369 a distributed thin-client environment under Linux. Server Edition is
370 also a great addition to Solaris environments, since there built-in
371 support for Solaris desktops makes running Windows applications a
372 possibility on Sun workstations as well. For pricing just follow this link:
373 <ulink url="http://www.codeweavers.com/products/pricing.php">CrossOver Office Server Edition Pricing</ulink>
374 </para>
375 </listitem>
376 </varlistentry>
378 </variablelist>
379 </answer>
380 </qandaentry>
382 <qandaentry>
383 <question id="Whats-the-history-of-Wine">
384 <para>What's the history of Wine?</para>
385 </question>
386 <answer>
387 <para>
388 The Wine project started in 1993 as a way to support running Windows 3.1
389 programs on Linux. Bob Amstadt was the original coordinator, but turned
390 it over fairly early on to Alexandre Julliard, who has run it ever
391 since. A <ulink url="news:comp.emulators.ms-windows.wine">newsgroup</ulink>
392 was created in July 1994. Over the years, ports for
393 other Unixes have been added, along with support for Win32 as Win32
394 applications became popular.
395 </para>
396 <para>
397 For more information, see <ulink url="http://www.winehq.org/site/about">
398 http://www.winehq.org/site/about</ulink>
399 </para>
400 </answer>
401 </qandaentry>
403 <qandaentry>
404 <question id="What-is-the-current-version-of-Wine">
405 <para>What is the current version of Wine?</para>
406 </question>
407 <answer>
408 <para>
409 A new version of Wine is distributed about every month. You will be
410 able to keep up on all the latest releases by reading the newsgroup
411 <ulink url="news:comp.emulators.ms-windows.wine">
412 comp.emulators.ms-windows.wine</ulink>, or by visiting the
413 <ulink url="http://www.winehq.org">Wine HQ homepage</ulink>. When
414 downloading Wine from your FTP site of choice (see
415 <ulink url="http://www.winehq.org/download.shtml">the Download page</ulink>
416 for some of these choices), you can make sure that you are getting
417 the latest version by watching the version numbers in the distribution
418 file name. For instance, the distribution released on August 13, 2003
419 was called Wine-20030813.tar.gz. Patch files are also available. If
420 you are current to the previous version, you can download and apply
421 just the current patch file rather than the entire new distribution.
422 The patch file names follow the same conventions as the monthly
423 distribution. <ulink url="http://www.winehq.org/site/cvs">
424 Read-only CVS</ulink> access is also available.
425 </para>
426 </answer>
427 </qandaentry>
429 <qandaentry>
430 <question id="What-is-the-current-Status-of-Wine">
431 <para>What is the current Status of Wine?</para>
432 </question>
433 <answer>
434 <para>
435 As of mid 2003, Wine consists of about 1.4 million lines of code,
436 written by more than 550 developers from dozens of countries around
437 the world. Wine is in active use by an estimated 100K people. Wine
438 implements more than 90% of the calls in popular Windows
439 specifications such as ECMA-234 and Open32.
440 </para>
441 <para>
442 You may also want to look at the
443 <ulink url="http://www.winehq.org/site/status">
444 Status page</ulink> for a global view on Wine's implementation progress.
445 </para>
446 </answer>
447 </qandaentry>
449 <qandaentry>
450 <question id="When-will-Wine-be-finished">
451 <para>When will Wine be finished?</para>
452 </question>
453 <answer>
454 <para>
455 Large software projects are never finished, only released. In any
456 case Wine is chasing a moving target since every new release of
457 Windows contains new API calls or variations on the existing ones.
458 </para>
459 <para>
460 Because Wine is being developed by volunteers, it is difficult to
461 predict when it will be ready for general release. But due to the
462 much increased interest by companies in porting apps via Wine, Wine
463 development is constantly getting more and more active. Right now
464 we are working on releasing Wine 0.9 Real Soon Now(tm).
465 </para>
466 </answer>
467 </qandaentry>
469 <qandaentry>
470 <question id="Who-is-responsible-for-Wine">
471 <para>Who is responsible for Wine?</para>
472 </question>
473 <answer>
474 <para>
475 Wine is available thanks to the work of many people. Please see the
476 <ulink url="http://source.winehq.org/source/AUTHORS">AUTHORS</ulink>
477 file in the distribution for the complete list. Some companies that
478 are or have been involved with Wine development are CodeWeavers,
479 TransGaming, Corel, and Macadamian.
480 </para>
481 </answer>
482 </qandaentry>
484 <qandaentry>
485 <question id="folks-who-contributed-money-or-equipment">
486 <para>Who are the folks and organizations who have contributed money or equipment to the Wine project?</para>
487 </question>
488 <answer>
489 <para>
490 People and organizations who have given generous contributions of
491 money, equipment, or licenses, include:
492 </para>
493 <itemizedlist spacing="compact">
494 <listitem>
495 <para>David L. Harper</para>
496 </listitem>
497 <listitem>
498 <para>Bob Hepple</para>
499 </listitem>
500 <listitem>
501 <para>Mark A. Horton</para>
502 </listitem>
503 <listitem>
504 <para>Kevin P. Lawton</para>
505 </listitem>
506 <listitem>
507 <para>The Syntropy Institute</para>
508 </listitem>
509 <listitem>
510 <para>James Woulfe</para>
511 </listitem>
512 <listitem>
513 <para>
514 VMWare Inc. (<ulink url="http://www.vmware.com">
515 http://www.vmware.com</ulink>)
516 </para>
517 </listitem>
518 <listitem>
519 <para>
520 Corel (<ulink url="http://www.corel.com">
521 http://www.corel.com</ulink>)
522 </para>
523 </listitem>
524 <listitem>
525 <para>
526 CodeWeavers
527 (<ulink url="http://www.codeweavers.com/">http://www.codeweavers.com</ulink>)
528 </para>
529 </listitem>
530 </itemizedlist>
531 </answer>
532 </qandaentry>
534 <qandaentry>
535 <question id="What-undocumented-APIs-are-not-understood">
536 <para>What undocumented APIs / interfaces are not understood? Would
537 seeing Microsoft source help?
538 </para>
539 </question>
540 <answer>
541 <para>
542 The best would be if the Windows API was fully documented, so Wine
543 could be a perfect "clean-room" implementation. Seeing the source
544 code might make it harder to prove that no copyright violations have
545 taken place. That said, the documentation is often bad, nonexistent,
546 and even misleading where it exists, so a fair amount of reverse
547 engineering has been necessary, particularly in the shell (Explorer)
548 interface. The biggest problem facing Wine though is simply lack of
549 manpower. At one point, over 5000 people were working on Windows 2000.
550 While Wine doesn't need to replicate all of Windows (we only cover the
551 parts needed to make Windows programs work), that's still nearly 10 times
552 more people working simply on one release than have <emphasis>ever</emphasis>
553 worked on Wine, in the history of the project.
554 </para>
555 </answer>
556 </qandaentry>
558 <qandaentry>
559 <question id="Is-TransGamings-last-patch-included-in-Wine">
560 <para>Is TransGaming's latest patch included in the standard Wine release?</para>
561 </question>
562 <answer>
563 <para>
564 No, it's not.
565 </para>
566 <para>
567 TransGaming makes money via a subscription service and the license
568 of their WineX tree is incompatible with the Wine license. Thus
569 WineX patches cannot be integrated into the Wine tree without
570 express permission by TransGaming. They have submitted some
571 of their work for integration into Wine, most notably DirectDraw
572 and some DirectSound work, and such work has been integrated into
573 the Wine tree. However it seems unlikely they will submit their
574 Direct3D work.
575 </para>
576 </answer>
577 </qandaentry>
579 <qandaentry>
580 <question id="Will-there-be-a-Windows-version-of-Wine">
581 <para>Will there be a Windows version of Wine?</para>
582 </question>
583 <answer>
584 <para>
585 Some people are working on getting Wine code to compile on Windows
586 using one of the following projects as a basis:
587 </para>
588 <itemizedlist spacing="compact">
589 <listitem>
590 <para>
591 Cygwin
592 (<ulink url="http:/www.cygwin.com/">http://www.cygwin.com</ulink>)
593 </para>
594 </listitem>
595 <listitem>
596 <para>
597 MinGW
598 (<ulink url="http:/www.mingw.org/">http://www.mingw.org</ulink>)
599 </para>
600 </listitem>
601 <listitem>
602 <para>
603 ReactOS
604 (<ulink url="http://www.reactos.com/">http://www.reactos.com</ulink>)
605 </para>
606 </listitem>
607 </itemizedlist>
608 <para>
609 There's some progress, so a Wine version that's usable on Windows
610 might be available at some time.
611 </para>
612 <para>
613 Part of the rationale for these projects is to find out areas where
614 Wine portability is lacking. This is especially true of the
615 ReactOS project which is a reimplementation of the Windows kernel
616 and should thus be able to reuse most of Wine dlls.
617 </para>
618 <para>
619 Another reason for pursuing these projects is to be able to
620 replace a single Windows dll with its Wine counterpart. Besides
621 being a good test for the Wine dll, this lets us detect cases where
622 we made incorrect assumptions about how the dlls interact.
623 </para>
624 </answer>
625 </qandaentry>
627 <qandaentry>
628 <question id="Can-I-use-native-drivers">
629 <para>Can I use Windows printer drivers in Wine?</para>
630 </question>
631 <answer>
632 <para>
633 Native printer drivers are not supported. At one time Wine supported 16bit
634 native drivers but that was long ago. Wine uses the printers (and other
635 devices) installed in your operating system. For the most part if you don't
636 have the device installed on your OS then wine can't use it.
637 </para>
638 </answer>
639 </qandaentry>
642 </qandadiv>
643 <qandadiv id="What-do-I-need-in-order-to-use-Wine">
644 <title>What do I need in order to use Wine?</title>
645 <qandaentry>
646 <question id="Under-what-platforms-will-Wine-run">
647 <para>
648 Under what hardware platform(s) and operating system(s) will
649 Wine(Lib) run?
650 </para>
651 </question>
652 <answer>
653 <para>
654 Wine is being developed specifically to run on the <emphasis>Intel
655 x86</emphasis> class of CPUs under certain UNIXes that run on this
656 platform. Winelib however is capable of porting the Windows
657 applications <emphasis>source code</emphasis> to other platforms
658 also, not only x86.
659 </para>
660 <para>
661 Thus running Windows binaries on other platforms (e.g. Mac OS X on
662 PowerPC) using just Wine is <emphasis>not</emphasis> possible. You
663 would have to either run Wine in an emulated x86 environment or
664 take the Windows application source code and recompile it using
665 Winelib.
666 </para>
667 <para>
668 These are the platforms supported by Wine.
669 Winelib support for other platforms keeps evolving,
670 so it's not specifically listed here.
671 </para>
672 <para>
673 NetBSD, OpenBSD, UnixWare, and SCO OpenServer 5 worked at one time,
674 but Wine now requires kernel-level threads which are not currently
675 available (or understood by the Wine team) on those platforms.
676 </para>
677 <para>
678 The Wine development team hopes to attract the interest of other
679 commercial UNIX and UNIX clone vendors as well.
680 </para>
681 <para>
682 BeOS: porting efforts (BeWine) used to be pretty strong, but BeOS
683 has severe limitations in Unix call support. The demise of Be
684 further hampered the project though it might come back one day on
685 one of the open BeOS projects. In any case a functional port seems
686 unlikely to ever happen at this stage.
687 </para>
688 <para>
689 Mac OS X / Darwin: The <ulink
690 url="http://darwine.sourceforge.net/project.html">Darwine</> is
691 currently working on porting Wine to the Darwin/x86 platform. Their
692 goal is to eventually make it possible to run x86 Windows
693 applications on Darwin/PPC and then Mac OS X by using Bochs.
694 </para>
695 <para>
696 FreeBSD: This port is well maintained and should work with
697 limitations in specific areas (mainly missing device/hardware
698 support).
699 </para>
700 <para>
701 Linux/x86: Works, and as the most popular platform for both
702 developers and users, it is the best supported platform of all.
703 </para>
704 </answer>
705 </qandaentry>
707 <qandaentry>
708 <question id="What-minimum-CPU-must-I-have">
709 <para>
710 What minimum CPU must I have in my computer to be able to run Wine
711 and MS Windows applications smoothly?
712 </para>
713 </question>
714 <answer>
715 <para>
716 We need to differentiate between Wine and Winelib here.
717 </para>
718 <para>
719 Wine won't run on any x86 CPU less than an 80386 due to address
720 management limitations.
721 </para>
722 <para>
723 It is known to also work in the 80486 and upwards compatible CPUs.
724 The basic test is, if you can run X11 now, you should be able to run
725 Wine and MS Windows applications under it.
726 </para>
727 <para>
728 As always, the faster your CPU, the better. Having a math coprocessor
729 is unimportant. However, having a graphics accelerated video card
730 supported by X will help greatly.
731 </para>
732 <para>
733 Depending on your application you may find that faster speeds are
734 required for sensible use. We can't give specific advice on that due
735 to the vast range of applications out there. However the rule of
736 thumb is that if your application runs fine on Windows, it should
737 run fine on the same platform in Wine.
738 </para>
739 </answer>
740 </qandaentry>
742 <qandaentry>
743 <question id="How-much-disk-space-will-Wine-take">
744 <para>
745 How much disk space will the Wine source code and binaries take on my
746 hard drive?
747 </para>
748 </question>
749 <answer>
750 <para>
751 You need approximately 250 megabytes of free hard drive space to
752 store and compile the source code. Wine also needs about 18 megs in
753 your /tmp directory. And about 50 MB are needed to do a make install.
754 </para>
755 <para>
756 Binary packages, especially those not containing debug information,
757 have much lower disk space requirements, usually in the 20MB range.
758 </para>
759 </answer>
760 </qandaentry>
762 <qandaentry>
763 <question id="What-other-software-do-I-need-to-compile">
764 <para>
765 What other software do I need to install, compile and run
766 Wine?
767 </para>
768 </question>
769 <answer>
770 <para>
771 Many development tools are needed in order to compile Wine.
772 A list of required packages for several distributions is included in
773 the README (<ulink url="http://source.winehq.org/source/README">
774 http://source.winehq.org/source/README</ulink>).
775 </para>
776 <para>
777 To run Wine, you will need the following:
778 </para>
780 <itemizedlist spacing="compact">
781 <listitem>
782 <para>The compiled Wine binary</para>
783 </listitem>
784 <listitem>
785 <para>A properly configured wine.conf file (or ~/.winerc file)</para>
786 </listitem>
787 <listitem>
788 <para>An installed and working X Window system</para>
789 </listitem>
790 <listitem>
791 <para>Some Windows programs to test</para>
792 </listitem>
793 </itemizedlist>
794 </answer>
795 </qandaentry>
796 <qandaentry>
797 <question id="How-much-RAM-do-I-need">
798 <para>
799 How much RAM do I need to have on my UNIX system to be able to run
800 Wine and MS Windows applications smoothly?
801 </para>
802 </question>
803 <answer>
804 <para>
805 If you can run X smoothly on your UNIX system now, you should be
806 able to run Wine and MS Windows applications just fine too, depending
807 on how memory hungry the application is.
808 </para>
809 <para>
810 A Wine workstation will work with 16 megabytes of RAM and a 16
811 megabyte swap partition as long as you have a reasonable graphics
812 card. Most applications will run reasonably with 64/64 Mb,
813 interactive games are likely to need more. You can run Wine with 8/8,
814 but it is going to be unusably slow and very constraining on the
815 applications you can run. If you wish to be part of the development
816 team and program Wine itself, be aware that the debugger is rather
817 memory intensive. Some have suggested that 64 megabytes is the
818 minimum RAM needed for Wine development, although some are able to
819 work (albeit slowly) with 24 megabytes of physical RAM and lots of
820 swap space.
821 </para>
822 </answer>
823 </qandaentry>
825 <qandaentry>
826 <question id="How-long-does-Wine-take-to-build">
827 <para>How long does Wine take to build</para>
828 </question>
829 <answer>
830 <para>
831 Wine is getting to be quite large, and building from scratch takes a
832 lot of processing. As of September 2002, compile times were around 20
833 minutes on an Athlon 1200 with 640 Mb and 45-50 minutes on a Cyrix
834 300 with 64 Mb. If you have a CVS copy, you may not need to rebuild
835 the whole thing every time you update.
836 </para>
837 </answer>
838 </qandaentry>
839 <qandaentry>
840 <question id="I-have-a-Drivespaced-partition">
841 <para>
842 I have a Drivespaced, Doublespaced or Stackered DOS partition. Can
843 Wine run MS Windows binaries located in such a partition?
844 </para>
845 </question>
846 <answer>
847 <para>
848 Yes, but only if the operating system supports mounting those types
849 of drives. There is a Linux file system driver called dmsdos that
850 will allow read/write access to Doublespaced and Drivespace 1.0
851 drives. More specifically, it supports mounting DOS 6.0 and 6.2
852 Doublespaced, DOS 6.22 Drivespaced, and Windows 95 Doublespaced
853 compressed partitions (read and write access works fine, but write
854 access is slow). It can be found at
855 <ulink url="ftp://metalab.unc.edu/pub/Linux/system/filesystems/dosfs/">
856 ftp://metalab.unc.edu/pub/Linux/system/filesystems/dosfs/</ulink>
857 </para>
858 </answer>
859 </qandaentry>
861 <qandaentry>
862 <question id="Do-I-need-to-have-a-DOS-partition">
863 <para>Do I need to have a DOS partition on my system to use Wine?</para>
864 </question>
865 <answer>
866 <para>
867 You do not need a licensed and installed copy of DOS or MS Windows to
868 install, configure and run Wine. However, Wine has to be able to
869 'see' an MS Windows binary (i.e. application) if it is to run it.
870 </para>
871 </answer>
872 </qandaentry>
874 <qandaentry>
875 <question id="Does-MS-Windows-need-to-be-installed">
876 <para>
877 Does MS Windows need to be loaded into that partition in order to
878 run MS Windows programs under Wine?
879 </para>
880 </question>
881 <answer>
882 <para>
883 Many folks have successfully installed and run programs
884 in their UNIX file system without having a DOS partition or MS
885 Windows. However, in many cases you need a directory and file
886 infrastructure that is similar to an existing Windows installation.
887 Some applications' installation programs want to distribute some of
888 the package's files into the /windows and /windows/system
889 directories in order to run, and unless these exist on your UNIX
890 file system, those programs will not install correctly and probably
891 will not run well, if at all. Most packages will set that up for you
892 as part of the install process.
893 </para>
894 <para>
895 If you have a DOS partition with MS Windows installed in it, make
896 sure that your UNIX system can 'see' this partition (check your
897 /etc/fstab file or mount the partition manually) so that Wine can
898 run the MS Windows binaries located in the DOS partition. To run
899 without a DOS partition, you need to set a UNIX path to be your
900 drive C, and make sure that the /windows and /windows/system
901 directories point to some place that actually exist.
902 </para>
903 <para>
904 Here's an example, copied from a machine which has no DOS partition
905 but successfully runs Wine:
906 </para>
907 <screen>
908 [Drive C]
909 Path=/var/lib/wine
910 Type=hd
911 [wine]
912 Windows=c:\windows
913 System=c:\windows\system
914 Temp=e:\
915 Path=c:\windows;c:\windows\system;c:
916 </screen>
917 <para>
918 In <filename>/var/lib/wine/windows</filename>, you will need to
919 install a <filename>win.ini</filename> config file that you might
920 find on a typical MS Windows 3.1 machine. The directory
921 <filename>/var/lib/wine/windows/system</filename> should exist, but
922 doesn't need to contain anything. However, to use MS DLLs, you can
923 copy them into that directory. Note that this is a contravention of
924 the Windows licence unless Windows is properly installed on the
925 machine. If you have DOS/MS Windows installed on your system, you can
926 mount that partition at bootup by modifying the file
927 <filename>/etc/fstab</filename> in your UNIX partition (assuming that
928 the UNIX kernel supports the DOS/MS Windows file system type).
929 </para>
930 <para>
931 If you edit this file by hand, it should contain something similar
932 to the following:
933 </para>
934 <screen>
935 /dev/hda1 /dosc msdos uid=0,gid=100,umask=007 0 0
936 </screen>
937 <para>
938 This will allow you to read and write to the DOS partition without
939 being root.
940 </para>
941 </answer>
942 </qandaentry>
944 <qandaentry>
945 <question id="If-Wine-completely-replaces-MS-Windows">
946 <para>
947 If Wine completely replaces MS Windows, will it duplicate all of the
948 functions of MS Windows?
949 </para>
950 </question>
951 <answer>
952 <para>
953 Wine's goal is to make it possible to run Windows applications on
954 Unix. To this end it will provide replacements for just those
955 DLLs and APIs that are needed by these Windows applications.
956 This means that Wine will not provide replacements for DLLs that
957 are not shipped with Windows or are always shipped with Windows
958 application (e.g. the Visual Basic run time). This also
959 means that implementing an API that no application ever uses is not
960 a priority. Similarly, until there are applications out there that
961 use the Win64 API, it will not be a priority. That being said,
962 we will certainly try to keep our options open and to improve our API
963 coverage as we can.
964 </para>
965 <para>
966 Also Wine is not an operating system, so that writing device
967 drivers is not part of Wine's goals. However if you are interested
968 in device drivers, the <ulink url="http://www.kernel.org/">Linux</ulink>,
969 <ulink url="http://www.freebsd.org/">FreeBSD</ulink> and
970 <ulink url="http://www.reactos.com/">ReactOS</ulink> kernel developers
971 would certainly appreciate your contribution.
972 </para>
973 <para>
974 Similarly Wine does not try to be a desktop environment so
975 providing applets such as a calculator, a file manager or even
976 window manager that look like Windows, are low priority or would
977 even best be done as a separate project. Such projects would also
978 to a large extant be redundant with other open-source projects.
979 Again, there are projects that would certainly appreciate your
980 contributions in this areas, such as the
981 <ulink url="http://www.gnome.org/">Gnome</ulink> or
982 <ulink url="http://www.kde.org/">KDE</ulink> desktop environments. You
983 will get the added benefit that your contribution will then be
984 usable by everyone, not just by Wine users.
985 </para>
986 </answer>
987 </qandaentry>
989 <qandaentry>
990 <question id="Will-I-install-on-any-UNIX-file-system">
991 <para>
992 Will I be able to install MS Windows applications in any flavor of a
993 UNIX file system?
994 </para>
995 </question>
996 <answer>
997 <para>
998 Wine is written to be file system independent, so MS Windows
999 applications will install and run under virtually any file system
1000 supported by your brand of UNIX.
1001 </para>
1002 </answer>
1003 </qandaentry>
1005 <qandaentry>
1006 <question id="Will-Wine-run-only-under-X">
1007 <para>Will Wine run only under X, or can it run in character mode?</para>
1008 </question>
1009 <answer>
1010 <para>
1011 Most of Wine's development effort is geared towards MS Windows' GUI,
1012 but some limited support for character mode has appeared, by setting
1013 <parameter>GraphicsDriver=ttydrv</parameter> in wine.conf's
1014 <parameter>[wine]</parameter> section.
1015 </para>
1016 <para>
1017 Wine's infrastructure is already somewhat prepared for supporting
1018 other graphics drivers than x11drv, but no real "alternative"
1019 graphics driver has been developed yet.
1020 </para>
1021 </answer>
1022 </qandaentry>
1024 <qandaentry>
1025 <question id="Will-Wine-run-under-any-X-window-manager">
1026 <para>Will Wine run under any X window manager? Does it require a window manager at all?</para>
1027 </question>
1028 <answer>
1029 <para>
1030 Wine is window manager independent, so the X window manager you
1031 choose to run has (almost) no bearing on your ability to run MS
1032 Windows programs under Wine. Wine uses standard X libraries, so no
1033 additional ones are needed. Wine has its own window management,
1034 which acts like MS Windows. It can be turned off to use the native
1035 window manager by modifying Managed or Desktop settings as described
1036 in <command>man wine.conf</command>.
1037 </para>
1038 </answer>
1039 </qandaentry>
1041 <qandaentry>
1042 <question id="Will-32-bit-applications-run-under-Wine">
1043 <para>Will 32-bit Windows 95/98 applications run under Wine?</para>
1044 </question>
1045 <answer>
1046 <para>
1047 Yes, 32-bit programs are now about as well supported as 16-bit
1048 programs.
1049 </para>
1050 </answer>
1051 </qandaentry>
1053 </qandadiv>
1054 <qandadiv id="FAQ-Getting-Wine">
1055 <title>Getting Wine</title>
1056 <qandaentry>
1057 <question id="Where-can-I-get-Wine">
1058 <para>Where can I get Wine?</para>
1059 </question>
1060 <answer>
1061 <para>
1062 Because of lags created by using mirror, word of the latest release
1063 may reach you before the release is actually available at the ftp
1064 sites listed here. The sources are available from the following
1065 locations:
1066 </para>
1067 <itemizedlist>
1068 <listitem>
1069 <para>
1070 <ulink url="http://sourceforge.net/project/showfiles.php?group_id=6241&amp;package_id=77449">
1071 http://sourceforge.net/project/showfiles.php?group_id=6241&amp;package_id=77449
1072 </ulink>
1073 </para>
1074 </listitem>
1075 <listitem>
1076 <para>
1077 <ulink url="http://www.ibiblio.org/pub/Linux/ALPHA/wine/development/">
1078 http://www.ibiblio.org/pub/Linux/ALPHA/wine/development/
1079 </ulink>
1080 </para>
1081 </listitem>
1082 <listitem>
1083 <para>
1084 <ulink url="ftp://ftp.infomagic.com/pub/mirrors/linux/sunsite/ALPHA/wine/development/">
1085 ftp://ftp.infomagic.com/pub/mirrors/linux/sunsite/ALPHA/wine/development/
1086 </ulink>
1087 </para>
1088 </listitem>
1090 <listitem>
1091 <para>
1092 <ulink url="ftp://ftp.fu-berlin.de/unix/linux/mirrors/sunsite.unc.edu/ALPHA/wine/development/">
1093 ftp://ftp.fu-berlin.de/unix/linux/mirrors/sunsite.unc.edu/ALPHA/wine/development/
1094 </ulink>
1095 </para>
1096 </listitem>
1098 <listitem>
1099 <para>
1100 <ulink url="ftp://orcus.progsoc.uts.edu.au/pub/Wine/development/">
1101 ftp://orcus.progsoc.uts.edu.au/pub/Wine/development/
1102 </ulink>
1103 </para>
1104 </listitem>
1106 </itemizedlist>
1107 <para>
1108 It should also be available from any other site that mirrors
1109 ibiblio.org, see <ulink url="http://www.ibiblio.org/pub/Linux/MIRRORS.html">http://www.ibiblio.org/pub/Linux/MIRRORS.html</>. Some of
1110 these sites may archive previous versions of Wine as well as the
1111 current one. To determine which is the latest one, look at the
1112 distribution file name, which will take the form
1113 Wine-YYYYMMDD.tar.gz. Simply replace YYYYMMDD in the distribution
1114 file name with the numbers for year, month and date, respectively.
1115 The latest one is the one to get.
1116 </para>
1117 <para>
1118 Wine binary packages are available for several OS'es and
1119 distributions. See
1120 <ulink url="http://www.winehq.org/site/download">
1121 the download page</ulink> for the most recent list.
1122 </para>
1123 </answer>
1124 </qandaentry>
1126 <qandaentry>
1127 <question id="Is-there-a-CVS-tree">
1128 <para>Is there a CVS tree?</para>
1129 </question>
1130 <answer>
1131 <para>
1132 Current Wine sources are also available via anonymous client/server
1133 CVS. You will need CVS 1.9 or above. If you are coming from behind a
1134 firewall, you will either need a hole in the firewall for the CVS
1135 port (2401) or use SOCKS.
1136 </para>
1137 <para>
1138 To login to the CVS tree, do
1139 </para>
1140 <screen>
1141 export CVSROOT=:pserver:cvs@cvs.winehq.org/home/wine
1142 cvs login
1143 </screen>
1144 <para>
1145 Use "cvs" as the password (without the quotes). Note that
1146 <filename>/home/wine</filename> is a path on the server, not on your
1147 machine. To check out the entire Wine source tree (which may be
1148 slow), use
1149 </para>
1150 <screen>
1151 cvs -z 3 checkout wine
1152 </screen>
1153 <para>
1154 or if you just want a subtree, or individual file, you can do that
1155 too with
1156 </para>
1157 <screen>
1158 cvs -z 3 checkout wine/ANNOUNCE
1159 </screen>
1160 <para>
1161 Be aware, though, that getting the entire Wine source tree via CVS
1162 is pretty slow, especially compared to getting Wine from an FTP
1163 mirror near you. For a CVS mirror list, see
1164 <ulink url="http://www.winehq.org/site/cvs#cvsservers">
1165 http://www.winehq.org/site/cvs#cvsservers</ulink>
1166 </para>
1167 <para>
1168 Patch files are also available, so that you don't have to download,
1169 install, and configure the entire distribution each week if you are
1170 current to the previous release. Patch file release names follow the
1171 same numbering convention as do the general releases, and take the
1172 form
1173 </para>
1174 <para>
1175 Wine-YYYYMMDD.diff.gz
1176 </para>
1177 <para>
1178 Patch files are available from the same sites that distribute the
1179 full release. To upgrade to a new release by using a patch file,
1180 first cd to the top-level directory of the release (the one
1181 containing the README file), then do a "make clean", and patch the
1182 release with
1183 </para>
1184 <screen>
1185 gunzip -c patch-file | patch -p1
1186 </screen>
1187 <para>
1188 where patch-file is the name of the patch file something like
1189 Wine-YYYYMMDD.diff.gz. You can then re-run ./configure, and then run
1190 make depend && make
1191 </para>
1192 <para>
1193 If you are mirroring the Wine distribution from the tsx-11 site and
1194 wish to be listed here in this FAQ, please add it to the
1195 "things to go into the documentation" area.
1196 </para>
1197 </answer>
1198 </qandaentry>
1200 <qandaentry>
1201 <question id="Can-I-get-Wine-using-cvsup">
1202 <para>Can I get Wine using cvsup?</para>
1203 </question>
1204 <answer>
1205 <para>
1206 The CVS mirrors don't offer cvsup support yet, but the main server
1207 does. Use a <filename>wine.sup</filename> file of:
1208 </para>
1209 <screen>
1210 *default host=cvs.winehq.org
1211 *default base=/cvs
1212 *default prefix=/cvs/wine
1213 *default release=wine
1214 *default delete
1216 # If your network link is a T1 or faster, comment out the following line.
1217 #*default compress
1219 *default use-rel-suffix
1220 wine
1221 </screen>
1222 </answer>
1223 </qandaentry>
1224 </qandadiv>
1226 <qandadiv id="Installing-And-Configuring-Wine">
1227 <title>Installing and Configuring Wine</title>
1228 <qandaentry>
1229 <question id="How-do-I-compile-the-Wine-source-code">
1230 <para>How do I compile the Wine distribution source code?</para>
1231 </question>
1232 <answer>
1233 <para>
1234 See the README (<ulink url="http://source.winehq.org/source/README">http://source.winehq.org/source/README</ulink>) for instructions.
1235 Additionally, you may want to set the <parameter>TMPDIR</parameter>
1236 environment variable <command>TMPDIR=~/tmp</command> or
1237 <command>TMPDIR=/tmp</command> (if you are root).
1238 </para>
1239 </answer>
1240 </qandaentry>
1242 <qandaentry>
1243 <question id="How-do-I-install-Windows-in-Wine">
1244 <para>How do I install Windows in Wine under Linux?</para>
1245 </question>
1246 <answer>
1247 <para>
1248 Simple answer: you CAN'T. Windows demands direct access to the
1249 hardware and cannot get it with Wine and UNIX in the way
1250 </para>
1251 <para>
1252 Wine is supposed to be primarily used WITHOUT Windows. If you want
1253 to use a Windows installation, then use an existing installation
1254 alongside the UNIX installation (see the dual-boot HOWTO for your OS
1255 for more details). Or alternatively use the cabextract utility to
1256 extract Windows install archives to a directory that you want to use
1257 as Wine's Windows tree.
1258 </para>
1259 </answer>
1260 </qandaentry>
1262 <qandaentry>
1263 <question id="How-do-I-configure-Wine-to-run-on-my-system">
1264 <para>How do I configure Wine to run on my system?</para>
1265 </question>
1266 <answer>
1267 <para>
1268 Wine requires that you have a config file as
1269 <filename>~/.wine/config</filename>. The format of this file is
1270 explained in the <filename>wine.conf</filename> man page. The file
1271 <filename>documentation/samples/config</filename>
1272 (<ulink url="http://source.winehq.org/source/documentation/samples/config">
1273 http://source.winehq.org/source/documentation/samples/config</ulink>)
1274 contains a config file example. More explicit directions can be
1275 found in the <filename>README</filename> file
1276 (<ulink url="http://source.winehq.org/source/README">
1277 http://source.winehq.org/source/README</ulink>) that will be located in
1278 the base Wine directory after you gunzip and untar the distribution
1279 file.
1280 </para>
1281 </answer>
1282 </qandaentry>
1284 <qandaentry>
1285 <question id="How-do-I-upgrade-configuration">
1286 <para>How do I upgrade Wine without losing my working configuration?</para>
1287 </question>
1288 <answer>
1289 <para>
1290 Upgrading the wine installation does not affect the existing wine
1291 configuration. So after upgrading wine you still have the old (working )
1292 wine configuration.
1293 </para>
1294 </answer>
1295 </qandaentry>
1297 <qandaentry>
1298 <question id="If-I-use-Windows-which-versions-OK">
1299 <para>If I want to use a Windows install, which versions are OK?</para>
1300 </question>
1301 <answer>
1302 <para>
1303 Either use a classic no-windows install (Wine is getting better all
1304 the time) or use a Win9x install (Win95, 98, 98SE, ME). DON'T
1305 configure Wine to use an NT-based Windows install (NT, Win2K, WinXP, Win2K3).
1306 </para>
1307 <para>
1308 In general, most Windows installations contain vast quantities of garbage
1309 that can confuse Wine and make it less reliable. If you can, it's best to
1310 install the programs you want into Wine's fake windows drive.
1311 </para>
1312 </answer>
1313 </qandaentry>
1315 <qandaentry>
1316 <question id="If-I-use-Windows-which-one-works-best">
1317 <para>If I use a Windows install with Wine, which one works best?</para>
1318 </question>
1319 <answer>
1320 <para>
1321 As of 02/2002:
1322 </para>
1323 <para>
1324 I'd say Win98SE is the best version to use with Wine, as it's fairly
1325 widespread amongst developers and relatively old. Using Win2K files
1326 is <emphasis>definitely</emphasis> worse than a plain no-windows
1327 Wine install, and Win ME is said to be problematic, too (as probably
1328 no developer uses it). In short: all Win9x &lt;= W98SE are good.
1329 </para>
1330 </answer>
1331 </qandaentry>
1333 <qandaentry>
1334 <question id="Installing-Visual-Basic-apps-wont-run">
1335 <para>
1336 Installing applications generated by Visual Basic won't run. What
1337 should I do?
1338 </para>
1339 </question>
1340 <answer>
1341 <para>
1342 Make sure you have all the VB run time libraries installed. You can
1343 get the latest version from the Microsoft web site.
1344 </para>
1345 </answer>
1346 </qandaentry>
1348 <qandaentry>
1349 <question id="When-I-click-on-exe-file-nothing-happens">
1350 <para>When I click on *.exe file in my file Manager, nothing happens.</para>
1351 </question>
1352 <answer>
1353 <para>
1354 The normal Wine releases don't have .exe extensions registered for
1355 Wine in KDE/Gnome yet. You have to open a terminal window instead
1356 (often an icon showing a "black screen") and type something like:
1357 </para>
1358 <screen>
1359 cd /my/windows/program/directory
1360 wine myprogram.exe
1361 </screen>
1362 <para>
1363 Or alternatively you could download the CodeWeavers Wine preview
1364 which includes .exe extension registration for KDE/Gnome and a nice
1365 setup program.
1366 </para>
1367 </answer>
1368 </qandaentry>
1370 <qandaentry>
1371 <question id="bash-wine-Command-not-found-What-can-I-do">
1372 <para>bash says "wine: Command not found" What can I do?</para>
1373 </question>
1374 <answer>
1375 <para>
1376 Try to logout and login again into bash. That might fix it.
1377 </para>
1378 <para>
1379 If it doesn't, then make sure the wine binary is in your
1380 <parameter>PATH</parameter>.
1381 </para>
1382 <para>
1383 Run as root:
1384 </Para>
1385 <screen>
1386 find / -name "wine" -type f -perm +111
1387 </screen>
1388 <para>
1389 to find the path where the wine binary is in. Then check whether
1390 <parameter>PATH</parameter> includes it:
1391 </para>
1392 <screen>
1393 echo $PATH
1394 </screen>
1395 <para>
1396 If not, add that e.g. to <filename>/etc/profile</filename> by doing:
1397 </para>
1398 <screen>
1399 export PATH=$PATH:/path/to/wine/binary
1400 </screen>
1401 <para>
1402 That should help.
1403 </para>
1404 <para>
1405 If you used a package manager (<command>rpm</command> or
1406 <command>apt</command>) - Verify your packages. The package
1407 <filename>winesetuptk.rpm</filename> is only a front-end for
1408 making a meaningful config file, it DOES NOT install the wine
1409 package...
1410 </para>
1411 <para>
1412 For complete packages, use <ulink url="http://rpmseek.com/rpm-pl/wine.html?hl=com&amp;cx=0::">
1413 http://rpmseek.com/</ulink> or the <ulink url="http://www.winehq.org/site/download">
1414 Download</ulink> section.
1415 </para>
1416 </answer>
1417 </qandaentry>
1419 <qandaentry>
1420 <question id="How-do-I-remove-Wine-from-my-Computer">
1421 <para>How do I remove Wine from my Computer?</para>
1422 </question>
1423 <answer>
1424 <para>
1425 It depends on how you installed. If you used an RPM, the right command is this:
1426 <command>rpm -e wine (as root)</command>
1427 </para>
1428 <para>
1429 If you installed from source (the .tar.gz file), the right
1430 way to do it is to change to the root of the source tree (the directory with the configure script,
1431 readme etc) then run as root:
1432 <command>make uninstall</command>
1433 </para>
1434 </answer>
1435 </qandaentry>
1436 </qandadiv>
1438 <qandadiv id="About-running-Wine">
1439 <title>About running Wine</title>
1440 <qandaentry>
1441 <question id="How-do-I-run-an-MS-Windows-program">
1442 <para>How do I run an MS Windows program under Wine?</para>
1443 </question>
1444 <answer>
1445 <para>
1446 When invoking Wine, you must specify the entire path to the
1447 executable, or by file name only. For example to run Windows'
1448 solitaire, type any of the following:
1449 </para>
1450 <itemizedlist>
1451 <listitem>
1452 <para>
1453 <command>wine sol</command> or <command>wine sol.exe</command>
1454 (using the search path to locate the file).
1455 </para>
1456 </listitem>
1457 <listitem>
1458 <para>
1459 <command>wine c:\\windows\\sol.exe</command>
1460 (using a DOS file name).
1461 </para>
1462 </listitem>
1463 <listitem>
1464 <para>
1465 <command>wine /usr/windows/sol.exe</command>
1466 (using a UNIX file name).
1467 </para>
1468 </listitem>
1469 <listitem>
1470 <para>
1471 <command>wine "c:\windows\sol.exe"</command>
1472 (using quoted DOS file name).
1473 </para>
1474 </listitem>
1475 </itemizedlist>
1476 <para>
1477 The path of the file will also be added to the path when a full name
1478 is supplied on the command line.
1480 </para>
1481 </answer>
1482 </qandaentry>
1484 <qandaentry>
1485 <question id="Wine-cannot-find-MS-Windows-on-my-drive">
1486 <para>
1487 I have installed and configured Wine, but Wine cannot find MS
1488 Windows on my drive. Where did I go wrong?
1489 </para>
1490 </question>
1491 <answer>
1492 <para>
1493 If you have a DOS partition, first make sure that you have mounted
1494 it, either by putting the entry into <filename>/etc/fstab</filename>,
1495 or by manually mounting it.
1496 </para>
1497 <para>
1498 Remember too that unless your version of UNIX can see through it, or
1499 you are running a utility that can see through it, your DOS
1500 partition must not be located on a Drivespaced, Doublespaced or
1501 Stackered partition, as neither Linux, FreeBSD, NetBSD or Wine can
1502 natively 'see' files located in these compressed DOS partitions.
1503 </para>
1504 <para>
1505 Check your path statements in the <filename>wine.conf</filename>
1506 file. No capital letters may be used in paths, as they are
1507 automatically converted to lowercase.
1508 </para>
1509 </answer>
1510 </qandaentry>
1512 <qandaentry>
1513 <question id="Parts-of-my-app-do-not-work-What-is-wrong">
1514 <para>
1515 I was able to get various MS Windows programs to run, but parts of
1516 them do not work. What is wrong?
1517 </para>
1518 </question>
1519 <answer>
1520 <para>
1521 Wine is not complete at this time, so some of each programs'
1522 features may not work. They will in time as more of the MS
1523 Windows API calls are included in Wine.
1524 </para>
1525 </answer>
1526 </qandaentry>
1528 <qandaentry>
1529 <question id="Menus-do-not-work-how-can-I-exit">
1530 <para>
1531 I have run various MS Windows programs, but since the program menus
1532 do not work, how can I exit these programs?
1533 </para>
1534 </question>
1535 <answer>
1536 <para>
1537 Kill the xterm shell window that you called up to run your MS
1538 Windows program, and the X window that appeared with the program
1539 will be killed too.
1540 </para>
1541 </answer>
1542 </qandaentry>
1544 <qandaentry>
1545 <question id="My-app-doesnt-work-what-can-i-do">
1546 <para>
1547 My program doesn't work, what can I do?
1548 </para>
1549 </question>
1550 <answer>
1551 <para>
1552 If you are a programmer and know C, then start debugging
1553 Wine and help us make it better! If you can't, then you will
1554 have to either convince a Wine developer to try and make your
1555 program work (there must be a downloadable version or demo for
1556 that), or hire somebody to do it for you. If this application
1557 is an internal corporate application, you may be able to hire a
1558 Wine developer to do consulting work for you on the matter.
1559 </para>
1560 <para>
1561 Alternatively, you may be able to get the app working by
1562 taking native DLLs from a Microsoft Windows install, and using
1563 them (set the dlls to native in the config file). Not all DLLs
1564 can be replaced that way - in particular DirectX cannot be, nor
1565 can some core system DLLs like user, ntdll, kernel32 etc
1566 </para>
1567 </answer>
1568 </qandaentry>
1570 <qandaentry>
1571 <question id="Can-I-use-Wine-with-other-Linux-Distros">
1572 <para>Can I use Wine with SUSE, Peanut or other Linux Distro's?</para>
1573 </question>
1574 <answer>
1575 <para>
1576 You can use Wine on any sufficiently recent Linux installation. The
1577 amount of work getting Wine up and running depends on whether there
1578 are proper packages available or a source compile has to be done.
1579 </para>
1580 </answer>
1581 </qandaentry>
1583 <qandaentry>
1584 <question id="Does-Wine-work-with-AMD-Processors">
1585 <para>Does Wine work with AMD Processors?</para>
1586 </question>
1587 <answer>
1588 <para>
1589 Yes, it does. Wine should work on any processor compatible with
1590 the Pentium or greater.
1591 </para>
1592 </answer>
1593 </qandaentry>
1595 <qandaentry>
1596 <question id="Can-I-launch-Unix-app-from-Windows-app">
1597 <para> Can I launch a Unix program from a Windows program?</para>
1598 </question>
1599 <answer>
1600 <para>
1601 Sure, Wine supports that. Just enter the unix program name wherever
1602 a program has something that it's supposed to execute, and it
1603 should just work.
1604 </para>
1605 </answer>
1606 </qandaentry>
1607 <qandaentry>
1608 <question id="Error-with-installshield-6">
1609 <para>
1610 I get <quote>Error installing iKernel.exe: (0x1400)</quote>
1611 when running an InstallShield 6 installer.
1612 </para>
1613 </question>
1614 <answer>
1615 <para>
1616 If you get the error "Error installing iKernel.exe: (0x1400)" at any
1617 point, it's probably because there are leftover processes from a
1618 previous try. You can verify this with the command
1619 </para>
1620 <para><prompt>$ </><command>ps augxw | grep wine</command></para>
1621 <para>
1622 If that command shows old copies of wine running your setup,
1623 you need to kill them before you can run the setup program.
1624 If there are no other Wine programs running, you can kill them
1625 all with the command
1626 </para>
1627 <para><prompt>$ </><command>killall wine</command></para>
1628 <para>
1629 If you're also running Wine programs you care about, you'll
1630 have to kill off the old Setup instances one by one using
1631 kill and the individual PIDs (or perhaps Wine's spiffy Task Manager,
1632 which doesn't exist yet).
1633 </para>
1634 <para>
1635 You should repeat the <command>ps</command> to make sure the old
1636 Wine processes are gone.
1637 </para>
1638 </answer>
1639 </qandaentry>
1640 </qandadiv>
1642 <qandadiv id="Getting-help">
1643 <title>Getting help</title>
1644 <qandaentry>
1645 <question id="Is-there-any-documentation-for-Wine">
1646 <para>Is there any documentation for Wine?</para>
1647 </question>
1648 <answer>
1649 <para>
1650 Yes, see <ulink url="http://www.winehq.org/site/documentation">
1651 http://www.winehq.org/site/documentation.</ulink>
1652 </para>
1653 </answer>
1654 </qandaentry>
1656 <qandaentry>
1657 <question id="I-have-written-some-documententation">
1658 <para>
1659 I couldn't find the answer to my question in the documentation, but
1660 I've written a document explaining how to solve it. What should I do?
1661 </para>
1662 </question>
1663 <answer>
1664 <para>
1665 Updates and additions to the Wine documentation directory should be
1666 sent to the wine-patches mailing list at
1667 <ulink url="http://www.winehq.org/site/forums">
1668 http://www.winehq.org/site/forums</ulink>. Website and FAQ
1669 additions should be added to the appropriate Wine Knowledge base directory.
1670 </para>
1671 </answer>
1672 </qandaentry>
1674 <qandaentry>
1675 <question id="Is-there-a-Usenet-newsgroup-for-Wine">
1676 <para>Is there a Usenet newsgroup for Wine?</para>
1677 </question>
1678 <answer>
1679 <para>
1680 Yes, and it's called
1681 <ulink url="news:comp.emulators.ms-windows.wine">
1682 comp.emulators.ms-windows.wine</ulink>. The newsgroup serves as a
1683 place for users and developers to discuss Wine, and for minor
1684 announcements for the general public. Major announcements will be
1685 cross posted to other appropriate newsgroups, such as the following:
1686 </para>
1687 <itemizedlist>
1688 <listitem>
1689 <para>
1690 <ulink url="news:comp.os.linux.announce">
1691 comp.os.linux.announce</ulink>
1692 </para>
1693 </listitem>
1694 <listitem>
1695 <para>
1696 <ulink url="news:ccomp.windows.x.announce">
1697 comp.windows.x.announce</ulink>
1698 </para>
1699 </listitem>
1700 <listitem>
1701 <para>
1702 <ulink url="news:ccomp.emulators.announce">
1703 comp.emulators.announce</ulink>
1704 </para>
1705 </listitem>
1706 </itemizedlist>
1707 <para>
1708 If your Usenet site does not carry these newsgroups, please urge
1709 your ISP's sysadmin to add and/or uplink them.
1710 </para>
1711 </answer>
1712 </qandaentry>
1714 <qandaentry>
1715 <question id="Is-there-a-World-Wide-Web-site-for-Wine">
1716 <para>Is there a World Wide Web site for Wine?</para>
1717 </question>
1718 <answer>
1719 <para>
1720 Wine HQ (<ulink url="http://www.winehq.org">http://www.winehq.org</ulink>) is the official site.
1721 </para>
1722 </answer>
1723 </qandaentry>
1725 <qandaentry>
1726 <question id="Is-there-an-IRC-channel-for-Wine">
1727 <para>Is there an IRC channel for Wine?</para>
1728 </question>
1729 <answer>
1730 <para>
1731 Sure. It's channel <filename>#WineHQ</filename> on
1732 <filename>irc.freenode.net</filename> see
1733 (<ulink url="http://freenode.net">http://freenode.net</ulink>).
1734 Usually several Wine developers hang out there just to help YOU ;-)
1735 </para>
1736 </answer>
1737 </qandaentry>
1739 <qandaentry>
1740 <question id="I-think-I-found-a-bug-How-do-I-report-it">
1741 <para>
1742 I think I've found a bug. How do I report this bug to the Wine
1743 programming team?
1744 </para>
1745 </question>
1746 <answer>
1747 <para>
1748 Bug reports should be submitted to our online Bugzilla system
1749 (<ulink url="http://bugs.winehq.org/">http://bugs.winehq.org/</ulink>).
1750 You should include at least the following:
1751 </para>
1752 <itemizedlist>
1753 <listitem>
1754 <para>
1755 The Wine version tested
1756 </para>
1757 </listitem>
1758 <listitem>
1759 <para>
1760 The Windows application name, including the version, and, if
1761 applicable, a URL the application can be downloaded from
1762 </para>
1763 </listitem>
1764 <listitem>
1765 <para>
1766 A brief description of the bug
1767 </para>
1768 </listitem>
1769 <listitem>
1770 <para>
1771 The relevant part(s) of the output of the Wine debugger
1772 </para>
1773 </listitem>
1774 <listitem>
1775 <para>
1776 A screenshot of the visual problem, if applicable
1777 </para>
1778 </listitem>
1779 </itemizedlist>
1780 <para>
1781 For more information about reporting bugs please see the
1782 <ulink url="http://www.winehq.org/Docs/wine-user/bug-reporting.shtml">
1783 How to report a bug</ulink> section of the Wine Users Guide.
1784 </para>
1785 </answer>
1786 </qandaentry>
1787 </qandadiv>
1789 <qandadiv id="Helping-Wine-or-becoming-a-Wine-developer">
1790 <title>Helping Wine or becoming a Wine developer</title>
1791 <qandaentry>
1792 <question id="How-do-I-become-a-Wine-developer">
1793 <para>How do I become a Wine developer? What do I need to know?</para>
1794 </question>
1795 <answer>
1796 <para>
1797 If you can program C, that's a good start. Download the sources via
1798 (<ulink url="http://www.winehq.org/site/cvs">CVS,</ulink>)
1799 subscribe to the mailing lists, look around the source, and
1800 pay attention to the comp.emulators.ms-windows.wine newsgroup
1801 and the mailing lists (<ulink
1802 url="http://www.winehq.org/site/forums">http://www.winehq.org/site/forums</ulink>).
1803 See if there's anything that you think you can fix or work
1804 on. You won't have much trouble finding areas that need work
1805 in Wine (grep for FIXMEs in the source).
1806 </para>
1807 </answer>
1808 </qandaentry>
1810 <qandaentry>
1811 <question id="How-can-I-contribute-to-the-Wine-project">
1812 <para>How can I help contribute to the Wine project, and in what way(s)?</para>
1813 </question>
1814 <answer>
1815 <para>
1816 You can contribute programming or documentation skills, or monetary
1817 or equipment donations, to aid the Wine developers in reaching their
1818 goals.
1819 </para>
1820 <para>
1821 For a list of ideas of how you can help, please consult the
1822 <ulink url="http://www.winehq.org/site/contributing">
1823 Wine contrib page</ulink>.
1824 </para>
1825 </answer>
1826 </qandaentry>
1828 <qandaentry>
1829 <question id="I-want-to-help-beta-test-Wine">
1830 <para>I want to help beta test Wine. How can I do this?</para>
1831 </question>
1832 <answer>
1833 <para>
1834 Wine still consists of some Alpha code at this time. However, anyone
1835 is welcome to download the latest version, and try it out at any
1836 time.
1837 </para>
1838 </answer>
1839 </qandaentry>
1841 <qandaentry>
1842 <question id="I-wrote-some-code-I-would-like-to-submit">
1843 <para>
1844 I have written some code that I would like to submit to the Wine
1845 project. How do I go about doing this?
1846 </para>
1847 </question>
1848 <answer>
1849 <para>
1850 Submitting a patch for inclusion in Wine is pretty simple.
1851 Basically all you have to do is send the patch to the
1852 wine-patches mailing list
1853 (<ulink url="http://www.winehq.org/mailman/listinfo/wine-patches">http://www.winehq.org/mailman/listinfo/wine-patches</>).
1854 Still there are a couple of recommendations about the patch format
1855 and all so it's best to read our page describing <ulink
1856 url="http://www.winehq.org/site/sending_patches">how to submit
1857 patches</>. This will also give you more details about the whole
1858 process and in particular to what will happen to your patch once
1859 submitted.
1860 </para>
1861 </answer>
1862 </qandaentry>
1863 </qandadiv>
1865 <qandadiv id="Developing-programs-using-Wine-WineLib">
1866 <title>Developing programs using Wine/WineLib</title>
1867 <qandaentry>
1868 <question id="Can-I-use-Wine-to-port-Win32-sources-to-Unix">
1869 <para>Can I use Wine to port my Win32 sources to Unix?</para>
1870 </question>
1871 <answer>
1872 <para>
1873 That is the idea of Winelib. Right now you may still have some
1874 difficulties, but this is changing all the time. Read the
1875 <ulink url="http://www.winehq.org/Docs/winelib-user/">Winelib User's Guide</ulink> for info.
1877 </para>
1878 </answer>
1879 </qandaentry>
1880 <qandaentry>
1881 <question id="Will-MFC-work-with-Wine-What-do-I-need-to-do">
1882 <para>Will MFC work with Wine? What do I need to do?</para>
1883 </question>
1884 <answer>
1885 <para>
1886 Wine is not implementing an MFC replacement nor does it intend to.
1887 However it is possible (with a lot of work) to compile the MFC from
1888 source and thus produce an <filename>mfc42.dll.so</filename> library.
1889 </para>
1890 <para>
1891 Please refer to the
1892 <ulink url="http://www.winehq.org/Docs/winelib-user/">Winelib User's Guide</ulink> for how to do this.
1893 </para>
1894 </answer>
1895 </qandaentry>
1897 <qandaentry>
1898 <question id="Are-there-commercial-apps-ported-using-Wine">
1899 <para>
1900 Are there any commercial applications which have been ported
1901 using Wine?
1902 </para>
1903 </question>
1904 <answer>
1905 <para>
1906 Here are few examples of applications ported using Wine or Winelib:
1907 </para>
1908 <itemizedlist>
1909 <listitem>
1910 <para>
1911 Corel's WordPerfect Office Suite 2000 was ported to Linux using
1912 Wine.
1913 </para>
1914 </listitem>
1915 <listitem>
1916 <para>
1917 Kylix, the Linux version of Delphi, was ported to Linux using
1918 Winelib. The IDE actually uses a combination of QT and Winelib
1919 which would not have been possible to achieve using only Wine.
1920 The generated applications however do not depend on Wine in
1921 any way.
1922 </para>
1923 </listitem>
1924 <listitem>
1925 <para>
1926 MusicMatch Jukebox 5 has also been
1927 <ulink url="http://www.itworld.com/nl/lnx_desktop/01042001/">ported</>
1928 to Linux using Winelib. However more recent versions have not, and
1929 version 5 is no longer available.
1930 </para>
1931 </listitem>
1932 <listitem>
1933 <para>
1934 Ability Office
1935 (<ulink url="http://www.ability.com/linux/abilitylinux.php">http://www.ability.com/linux/abilitylinux.php</ulink>)
1936 </para>
1937 </listitem>
1938 <listitem>
1939 <para>
1940 IBM's Websphere
1941 (<ulink url="http://www7b.boulder.ibm.com/dl/swws/swwsgddb-p">http://www7b.boulder.ibm.com/dl/swws/swwsgddb-p</ulink>)
1942 </para>
1943 </listitem>
1944 </itemizedlist>
1945 <para>
1946 Many other important applications have already been ported. (we are
1947 speaking of several top 500 applications here)
1948 </para>
1949 </answer>
1950 </qandaentry>
1952 <qandaentry>
1953 <question id="How-can-I-detect-Wine">
1954 <para>How can I detect Wine?</para>
1955 </question>
1956 <answer>
1957 <para>
1958 You really shouldn't want to do this. If there's a quirk in Wine
1959 you need to work around, it's much better to fix it in Wine.
1960 </para>
1961 </answer>
1962 </qandaentry>
1965 </qandadiv>
1967 <qandadiv id="Wine-HQ-issues">
1968 <title>Wine HQ issues</title>
1969 <qandaentry>
1970 <question id="Why-are-the-maillists-set-to-reply-to-author">
1971 <para>
1972 Why are the mailing lists set to reply to author, not to mailing list?
1973 </para>
1974 </question>
1975 <answer>
1976 <para>
1977 There are very valid reasons for doing so.
1978 </para>
1979 </answer>
1980 </qandaentry>
1982 <qandaentry>
1983 <question id="How-to-unsubscribe-from-the-mailing-lists">
1984 <para>How to unsubscribe from the mailing lists?</para>
1985 </question>
1986 <answer>
1987 <para>
1988 Please see: <ulink url="http://www.winehq.org/site/forums">http://www.winehq.org/site/forums</ulink>
1989 And select [(Un-)Subscribe]
1990 </para>
1991 </answer>
1992 </qandaentry>
1994 </qandadiv>
1996 </qandaset>
1998 <!-- Keep this comment at the end of the file
1999 Local variables:
2000 mode: sgml
2001 sgml-parent-document:("wine-devel.sgml" "book" "part" "chapter" "")
2002 End: