Make IDirectMusicScriptImpl_IDirectMusicScript_CallRoutine return S_OK
[wine] / documentation / faq.sgml
1 <!-- *** Wine FAQ *** -->
2   <title>Wine FAQ</title>
3
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>
32
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>
50
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>
69
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>
88        
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>
99
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>
105
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>
114
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>
128
129       </answer>
130       </qandaentry>
131
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>
180
181       </answer>
182       </qandaentry>
183
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>
240
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>
271
272       </answer>
273       </qandaentry>
274
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>
284
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>
295  
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>
307  
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>
327  
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>
338  
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>
350
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>
363           
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>          
377
378         </variablelist>
379       </answer>
380       </qandaentry>
381
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>
402
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>
428
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>
448
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>
468
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>
483
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>
533
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>
557
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>
578
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>
626
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>
640
641
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>
706
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>
741
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>
761
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>
779
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>
824
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>
860
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>
873  
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>
943  
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>
988
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>
1004  
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>
1023  
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>
1040
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>
1052       
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>
1089
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>
1097
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>
1105
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>
1125
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>
1199
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 
1215
1216 # If your network link is a T1 or faster, comment out the following line.
1217 #*default compress 
1218
1219 *default use-rel-suffix 
1220 wine 
1221         </screen>
1222      </answer>
1223      </qandaentry>
1224     </qandadiv>
1225
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>
1241
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>
1261
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>
1283
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>
1296
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>
1314
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>
1332
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>
1347
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>
1369
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>
1418
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>
1437
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.
1479
1480         </para>
1481       </answer>
1482       </qandaentry>
1483
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>
1511
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>
1527
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>
1543
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>
1569       
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>
1582
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>
1594
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>
1641      
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>
1655
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>
1673
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>
1713
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>
1724
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>
1738
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>
1788  
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>
1809
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>
1827
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>
1840
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>
1864  
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.
1876
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>
1896
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>
1951
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>
1963
1964   
1965     </qandadiv>
1966
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>
1981
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>
1993
1994     </qandadiv>
1995  
1996   </qandaset>
1997
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:
2003 -->