Sweden-Number/documentation/faq.sgml

1785 lines
70 KiB
Plaintext
Raw Blame History

<!-- *** Wine FAQ *** -->
<title>Wine FAQ</title>
<qandaset>
<qandadiv id="About-this-FAQ"><title>About this FAQ</title>
<qandaentry>
<question id="Who-maintains-this-FAQ">
<para>Who maintains this FAQ ?</para>
</question>
<answer>
<para>Dave Gardner maintained it from 1995-1998.</para>
<para>Douglas Ridgway took it over in 1999.</para>
<para>Andreas Mohr converted it to FAQ-O-Matic in 2000.</para>
<para>Dimitrie O. Paun, Keith Matthews and Tom Wickline (in alphabetical order) reorganized it in 2002.</para>
<para>For suggestions/additions/complaints regarding this FAQ, please send an email to
<ulink url="mailto:wine-faq@winehq.org">wine-faq@winehq.org</ulink></para>
</answer>
</qandaentry>
<qandaentry>
<question id="What-is-the-copyright-on-the-FAQ-And">
<para>What is the copyright of this FAQ? And how may I use it?</para>
</question>
<answer>
<para>The original Wine FAQ, which this FAQ was based on, was copyright &copy; 1995-1998 David Gardner.</para>
<para>It may be reproduced and modified under the same terms as Wine itself.</para>
</answer>
</qandaentry>
</qandadiv>
<qandadiv id="General-Questions-about-Wine">
<title>General Questions about Wine</title>
<qandaentry>
<question id="What-is-Wine-and-what-is-it-supposed-to">
<para>What is Wine and what is it supposed to do?</para>
</question>
<answer>
<para>
Wine is a program which allows the operation of DOS and MS
Windows programs (Windows 3.x and Win32 executables) on UNIX operating systems such as Linux.
It consists of a program loader, which loads and executes a Windows
binary, and a set of libraries that implements Windows API calls
using their UNIX or X11 equivalents. The libraries may also be used
for porting Win32 code into native UNIX executables, often
without many changes in the source. Wine is free software,
and its license (contained in the file LICENSE
in each distribution) is the LGPL.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="Is-Wine-an-emulator">
<para>Does Wine emulate a full computer?</para>
</question>
<answer>
<para>
No, as the name says, Wine Is Not a (CPU) Emulator. Wine just
provides the Windows API. This means that you will need an
x86-compatible processor to run an x86 Windows application, for instance from Intel or AMD. The
advantage is that, unlike solutions that rely on CPU emulation, Wine
runs applications at full speed. Sometimes a program run under
Wine will be slower than when run on a copy of Microsoft Windows, but
this is more due to the fact that Microsoft has heavily optimized parts of their
code, whereas mostly Wine is not well optimized (yet). Occasionally, an app
may run faster under Wine than on Windows. Most apps run at roughly the same speed.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="Are-here-any-alternatives-to-Wine">
<para>Are there any alternatives to Wine?</para>
</question>
<answer>
<para>
Yes, there are. You can use <ulink url="http://www.vmware.com">VMWare</ulink> to run a Windows installation inside a virtual machine,
or use <ulink url="http://www.win4lin.com">Win4Lin</ulink>
to run a specially adapted Windows version on Linux.
Both solutions cost money for both the software itself
and a Windows license.
</para>
<para>
Note that, like Wine, they can only use the hardware platform that
the target programs were originally compiled for (see below).
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="Difference-between-Wine-and-emulators">
<para>What is the difference between Wine and x86 hardware emulators?</para>
</question>
<answer>
<para>
There are two free x86 hardware emulators:
<ulink url="http://bochs.sourceforge.net">Bochs</ulink>, and
<ulink url="http://savannah.nongnu.org/projects/plex86">Plex86</ulink>.
</para>
<para>
Plex86 is the open-source free-software alternative for VMWare,
VirtualPC, and other IA-32 on IA-32 "Virtual PC products." It
can only run on the IA-32 architecture.
</para>
<para>
Bochs is a highly portable open source IA-32 (x86) PC emulator
written in C++, that runs on most popular platforms. It includes emulation
of the Intel x86 CPU, common I/O devices, and a custom BIOS. Currently,
Bochs can be compiled to emulate a 386, 486 or Pentium CPU. Bochs is capable
of running most Operating Systems inside the emulation including Linux,
Windows<77> 95, DOS, and recently Windows<77> NT 4.
</para>
<para>
Both are licensed under the GPL. Bochs is older than Plex86, seems to be
easier to install, but Plex86 will run faster because Plex86 uses a just in
time binary compiler.
</para>
<para>
The drawback of all emulators is that you need a version
of Windows in order to run Windows, and that they all have an
impact on performance. Wine also gives much better desktop integration - for
instance, programs use your standard window manager, system tray icons will
appear in your tray area (if you have one), and you can run programs direct from the
command line as well as menus. The clipboard also works seamlessly at this time.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="Integrate-an-x86-emulator">
<para>When will Wine integrate an x86 CPU emulator so we can
run Windows applications on non-x86 machines?</para>
</question>
<answer>
<para>
The short answer is 'probably never'. Remember, Wine Is Not a
(CPU) Emulator. The long answer is that we probably don't want or
need to integrate one in the traditional sense.
</para>
<para>
Integrating a CPU emulator in Wine would be extremely hard,
due to the large number of Windows APIs and the complex
data types they exchange. It is not uncommon for a Windows API to
take three or more pointers to structures composed of many fields,
including pointers to other complex structures. For each of these
we would need a conversion routine to deal with the byte order and
alignment issues. Furthermore, Windows also contains many callback
mechanisms that constitute as many extra places where we would have
to handle these conversion issues. Wine already has to deal with
16 vs. 32 bit APIs and Ansi vs. Unicode APIs which both
introduce significant complexity. Adding support for a CPU emulator
inside Wine would introduce at least double that complexity and
only serve to slow down the development of Wine.
</para>
<para>
Fortunately another solution exists to run Windows applications
on non-x86 platforms: run both Wine and the application inside the
CPU emulator. As long as the emulator provides a standard Unix
environment, Wine should only need minimal modifications. What
performance you lose due to Wine running inside the emulator
rather than natively, you gain in complexity inside of Wine.
Furthermore, if the emulator is fast enough to run Windows
applications, Photoshop for instance, then it should be fast enough
to run that same Windows application plus Wine.
</para>
<para>
Two projects have started along those lines: <ulink
url="http://fabrice.bellard.free.fr/qemu/">QEMU</>, an
open-source project, and <ulink
url="http://www.transitives.com/tech_overview.htm">Dynamite</>,
a commercial CPU emulator environment from
<ulink url="http://www.transitives.com/">Transitives Technologies</>.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="Why-would-anyone-want-Wine-Windows-suck">
<para>Why would anyone want Wine? Doesn't Windows suck?</para>
</question>
<answer>
<para>
First Wine is not about running Windows but about running Windows
applications.
</para>
<para>
So if all your computing needs are fulfilled by native Unix
applications, then you do not need Wine and should not be using
it. However, if you depend on one or more of the tens of
thousands of Windows applications, then Wine is the best way to
use it without giving up on Unix. Let's look at the alternatives
to see why:
</para>
<para>
The most obvious alternative is to dual-boot. This is the solution
that provides the best compatibility. However it requires that you
acquire a Windows license and then dedicate a good chunk of your
hard-drive to Windows. But the worst is yet to come. Each time you
will want to use that application you will have to reboot to
Windows. This is especially significant if external factors dictate
when you must use this application (e.g. credit card to process,
email to retrieve from a Lotus Notes server). Then you will find
yourself forced to close all your Linux applications just to run
that one Windows application. You may quickly get tired of this, or
will find that such a situation is impossible to justify in a
business environment.
</para>
<para>
The next solution is to install virtual machine emulation software
such as VMWare, Win4Lin or Plex86. Then you can use windows
applications without suffering such a big disruption. But it still
requires that you acquire a Windows license and dedicate as much
disk space to Windows. Furthermore you will pay for the added
convenience: if using VMWare or Win4Lin you have to buy another
license, and more importantly you now have to dedicate a good chunk
of your computer's memory to the virtual machine. Performance will
take a significant hit too.
</para>
<para>
Using Wine lets you avoid all of that overhead: Windows license,
hard-drive space required by Windows, memory and performance hit
taken by emulated virtual machines. Now you can start your Windows
application straight from your regular desktop environment, place
that application's window side by side with native applications,
copy/paste from one to the other, and run it all at full speed.
</para>
<para>
It is also a pretty vital part of migrating a large organization,
you can't change a 5000 desktop setup overnight without a lot of risk.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="Use-Windows-driver-with-Wine">
<para>Can I use Wine to make the Windows driver for my network card /
graphics card / scanner / etc. work on Unix?</para>
</question>
<answer>
<para>
The goal of Wine is to make it possible to run Windows applications
on Unix, not Windows drivers or VxDs.
</para>
<para>
Drivers and Windows applications belong to different worlds.
Applications run in user mode and use the APIs provided by
the kernel and the other user mode dlls. In contrast, drivers
are loaded in the Windows kernel, i.e. in ring 0 instead of ring
3, drivers have to deal with specific memory management issues, and use
instructions not available to regular applications. This means
they would not be able to run in Wine since Wine runs entirely
in user mode. Rather you would have to modify the Linux kernel.
But in addition, drivers use a completely different API from
regular Windows applications. So the work performed on Wine would
not even be of any use for such a project. In other words, making
it possible to use Windows drivers or VxDs on Unix would be a
completely separate project.
</para>
<para>
However, if you want to reuse Windows drivers on a non-Microsoft
operating system we recommend that you have a look at
<ulink url="http://www.reactos.com/">ReactOS</>.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="Which-one-of-the-different-Wine-packages">
<para>Which one of the different Wine packages out there is good for me?</para>
</question>
<answer>
<para>
Currently there is a broad selection of different Wine packages/versions:
</para>
<variablelist>
<varlistentry>
<term><ulink url="http://www.winehq.org">Wine</ulink></term>
<listitem>
<para>
This is the "standard" distribution of Wine. Its license is
the LGPL, it can be downloaded for free. Both source code and binaries
are available in the download section of the site.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><ulink url="http://www.codeweavers.com/site/products/cxoffice/">CodeWeavers' CrossOver Office</ulink></term>
<listitem>
<para>
Wine version with special packaging to make sure almost all
important Office type programs work pretty well. Costs $74.95
for the Pro version and $39.95 for the Standard version.
Seems to be well worth it so far according to some comments.
(note: you're supporting a company actively contributing to Wine
if you decide to buy CrossOver.)
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><ulink url="http://www.codeweavers.com/site/products/cxserver/">CodeWeavers' CrossOver Office Server Edition</ulink></term>
<listitem>
<para>
Allows you to run your favorite Windows productivity applications in
a distributed thin-client environment under Linux. Server Edition is
also a great addition to Solaris environments, since there built-in
support for Solaris desktops makes running Windows applications a
possibility on Sun workstations as well. For pricing just follow this link:
<ulink url="http://www.codeweavers.com/site/products/pricing/">CrossOver Office Server Edition Pricing</ulink>
</para>
</listitem>
</varlistentry>
</variablelist>
</answer>
</qandaentry>
<qandaentry>
<question id="Whats-the-history-of-Wine">
<para>What's the history of Wine?</para>
</question>
<answer>
<para>
The Wine project started in 1993 as a way to support running Windows 3.1
programs on Linux. Bob Amstadt was the original coordinator, but turned
it over fairly early on to Alexandre Julliard, who has run it ever
since. A <ulink url="news:comp.emulators.ms-windows.wine">newsgroup</ulink>
was created in July 1994. Over the years, ports for
other Unixes have been added, along with support for Win32 as Win32
applications became popular.
</para>
<para>
For more information, see <ulink url="http://www.winehq.com/site/history">
http://www.winehq.com/site/history</ulink>
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="What-is-the-current-version-of-Wine">
<para>What is the current version of Wine?</para>
</question>
<answer>
<para>
A new version of Wine is distributed about every month. You will be
able to keep up on all the latest releases by reading the newsgroup
<ulink url="news:comp.emulators.ms-windows.wine">
comp.emulators.ms-windows.wine</ulink>, or by visiting the
<ulink url="http://www.winehq.org">Wine HQ homepage</ulink>. When
downloading Wine from your FTP site of choice (see
<ulink url="http://www.winehq.org/site/download">the Download page</ulink>
for some of these choices), you can make sure that you are getting
the latest version by watching the version numbers in the distribution
file name. For instance, the distribution released on August 13, 2004
was called Wine-20040813.tar.gz. Patch files are also available. If
you are current to the previous version, you can download and apply
just the current patch file rather than the entire new distribution.
The patch file names follow the same conventions as the monthly
distribution. <ulink url="http://www.winehq.org/site/cvs">
Read-only CVS</ulink> access is also available.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="What-is-the-current-Status-of-Wine">
<para>What is the current Status of Wine?</para>
</question>
<answer>
<para>
As of mid 2004, Wine consists of about 1.6 million lines of code,
written by more than 600 developers from dozens of countries around
the world. Wine is in active use by an estimated 100K people. Wine
implements more than 90% of the calls in popular Windows
specifications such as ECMA-234 and Open32.
</para>
<para>
You may also want to look at the
<ulink url="http://www.winehq.org/site/status">
Status page</ulink> for a global view on Wine's implementation progress.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="When-will-Wine-be-finished">
<para>When will Wine be finished?</para>
</question>
<answer>
<para>
Large software projects are never finished, only released. In any
case Wine is chasing a moving target since every new release of
Windows contains new API calls or variations on the existing ones.
</para>
<para>
Because Wine is being developed by volunteers, it is difficult to
predict when it will be ready for general release. But due to the
much increased interest by companies in porting apps via Wine, Wine
development is constantly getting more and more active. Right now
we are working on releasing Wine 0.9 Real Soon Now(tm).
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="Who-is-responsible-for-Wine">
<para>Who is responsible for Wine?</para>
</question>
<answer>
<para>
Wine is available thanks to the work of many people. Please see the
<ulink url="http://source.winehq.org/source/AUTHORS">AUTHORS</ulink>
file in the distribution for the complete list. Some companies that
are or have been involved with Wine development are CodeWeavers,
TransGaming, Corel, and Macadamian.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="What-undocumented-APIs-are-not-understood">
<para>What undocumented APIs / interfaces are not understood? Would
seeing Microsoft source help?
</para>
</question>
<answer>
<para>
The best would be if the Windows API was fully documented, so Wine
could be a perfect "clean-room" implementation. Seeing the source
code might make it harder to prove that no copyright violations have
taken place. That said, the documentation is often bad, nonexistent,
and even misleading where it exists, so a fair amount of reverse
engineering has been necessary, particularly in the shell (Explorer)
interface. The biggest problem facing Wine though is simply lack of
manpower. At one point, over 5000 people were working on Windows 2000.
While Wine doesn't need to replicate all of Windows (we only cover the
parts needed to make Windows programs work), that's still nearly 10 times
more people working simply on one release than have <emphasis>ever</emphasis>
worked on Wine, in the history of the project.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="Will-there-be-a-Windows-version-of-Wine">
<para>Will there be a Windows version of Wine?</para>
</question>
<answer>
<para>
Some people are working on getting Wine code to compile on Windows
using one of the following projects as a basis:
</para>
<itemizedlist spacing="compact">
<listitem>
<para>
Cygwin
(<ulink url="http://www.cygwin.com/">http://www.cygwin.com</ulink>)
</para>
</listitem>
<listitem>
<para>
MinGW
(<ulink url="http://www.mingw.org/">http://www.mingw.org</ulink>)
</para>
</listitem>
<listitem>
<para>
ReactOS
(<ulink url="http://www.reactos.com/">http://www.reactos.com</ulink>)
</para>
</listitem>
</itemizedlist>
<para>
There's some progress, so a Wine version that's usable on Windows
might be available at some time in the future.
</para>
<para>
Part of the rationale for these projects is to find out areas where
Wine portability is lacking. This is especially true of the
ReactOS project which is a reimplementation of the Windows kernel
and should thus be able to reuse most of Wine dlls.
</para>
<para>
Another reason for pursuing these projects is to be able to
replace a single Windows dll with its Wine counterpart. Besides
being a good test for the Wine dll, this lets us detect cases where
we made incorrect assumptions about how the dlls interact.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="Can-I-use-native-drivers">
<para>Can I use Windows printer drivers in Wine?</para>
</question>
<answer>
<para>
Native printer drivers are not supported. At one time Wine supported 16bit
native drivers but that was long ago. Wine uses the printers (and other
devices) installed in your operating system. For the most part if you don't
have the device installed on your OS then wine can't use it.
</para>
</answer>
</qandaentry>
</qandadiv>
<qandadiv id="What-do-I-need-in-order-to-use-Wine">
<title>What do I need in order to use Wine?</title>
<qandaentry>
<question id="Under-what-platforms-will-Wine-run">
<para>
Under what hardware platform(s) and operating system(s) will
Wine(Lib) run?
</para>
</question>
<answer>
<para>
Wine is being developed specifically to run on the <emphasis>Intel
x86</emphasis> class of CPUs under certain UNIXes that run on this
platform. Winelib however is capable of porting the Windows
applications <emphasis>source code</emphasis> to other platforms
also, not only x86.
</para>
<para>
Thus running Windows binaries on other platforms (e.g. Mac OS X on
PowerPC) using just Wine is <emphasis>not</emphasis> possible. You
would have to either run Wine in an emulated x86 environment or
take the Windows application source code and recompile it using
Winelib.
</para>
<para>
These are the platforms supported by Wine.
Winelib support for other platforms keeps evolving,
so it's not specifically listed here.
</para>
<para>
NetBSD, OpenBSD, UnixWare, and SCO OpenServer 5 worked at one time,
but Wine now requires kernel-level threads which are not currently
available (or understood by the Wine team) on those platforms.
</para>
<para>
The Wine development team hopes to attract the interest of other
commercial UNIX and UNIX clone vendors as well.
</para>
<para>
BeOS: porting efforts (BeWine) used to be pretty strong, but BeOS
has severe limitations in Unix call support. The demise of Be
further hampered the project though it might come back one day on
one of the open BeOS projects. In any case a functional port seems
unlikely to ever happen at this stage.
</para>
<para>
Mac OS X / Darwin: The <ulink
url="http://darwine.sourceforge.net/project.html">Darwine</> is
currently working on porting Wine to the Darwin/x86 platform. Their
goal is to eventually make it possible to run x86 Windows
applications on Darwin/PPC and then Mac OS X by using Bochs.
</para>
<para>
FreeBSD: This port is well maintained and should work with
limitations in specific areas (mainly missing device/hardware
support).
</para>
<para>
Linux/x86: Works, and as the most popular platform for both
developers and users, it is the best supported platform of all.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="What-minimum-CPU-must-I-have">
<para>
What minimum CPU must I have in my computer to be able to run Wine
and MS Windows applications smoothly?
</para>
</question>
<answer>
<para>
We need to differentiate between Wine and Winelib here.
</para>
<para>
Wine won't run on any x86 CPU less than an 80386 due to address
management limitations.
</para>
<para>
It is known to also work in the 80486 and upwards compatible CPUs.
The basic test is, if you can run X11 now, you should be able to run
Wine and MS Windows applications under it.
</para>
<para>
As always, the faster your CPU, the better. Having a math coprocessor
is unimportant. However, having a graphics accelerated video card
supported by X will help greatly.
</para>
<para>
Depending on your application you may find that faster speeds are
required for sensible use. We can't give specific advice on that due
to the vast range of applications out there. However the rule of
thumb is that if your application runs fine on Windows, it should
run fine on the same platform in Wine.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="How-much-disk-space-will-Wine-take">
<para>
How much disk space will the Wine source code and binaries take on my
hard drive?
</para>
</question>
<answer>
<para>
You need approximately 250 megabytes of free hard drive space to
store and compile the source code. Wine also needs about 18 megs in
your /tmp directory. And about 50 MB are needed to do a make install.
</para>
<para>
Binary packages, especially those not containing debug information,
have much lower disk space requirements, usually in the 20MB range.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="How-much-RAM-do-I-need">
<para>
How much RAM do I need to have on my UNIX system to be able to run
Wine and MS Windows applications smoothly?
</para>
</question>
<answer>
<para>
If you can run X smoothly on your UNIX system now, you should be
able to run Wine and MS Windows applications just fine too, depending
on how memory hungry the application is.
</para>
<para>
Wine's memory requirements will depend on the application or game
that you choose to run. You will need to meet the minimum requirements for
the application as well as the overhead of your underlying OS.
You may want to check with the vendor of the application for its
suggested memory requirements.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="How-long-does-Wine-take-to-build">
<para>How long does Wine take to build</para>
</question>
<answer>
<para>
Wine is getting to be quite large, and building from scratch takes a
lot of processing. As of May 2004, compile times were around 10
minutes on a Athlon 2000 with 512 MB of RAM and 20 minutes on a Athlon
1200 with 640 MB of RAM. If you have a CVS copy of wine, you may not need
to rebuild every thing each update.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="I-have-a-Drivespaced-partition">
<para>
I have a Drivespaced, Doublespaced or Stackered DOS partition. Can
Wine run MS Windows binaries located in such a partition?
</para>
</question>
<answer>
<para>
Yes, but only if the operating system supports mounting those types
of drives. There is a Linux file system driver called dmsdos that
will allow read/write access to Doublespaced and Drivespace 1.0
drives. More specifically, it supports mounting DOS 6.0 and 6.2
Doublespaced, DOS 6.22 Drivespaced, and Windows 95 Doublespaced
compressed partitions (read and write access works fine, but write
access is slow). It can be found at
<ulink url="ftp://metalab.unc.edu/pub/Linux/system/filesystems/dosfs/">
ftp://metalab.unc.edu/pub/Linux/system/filesystems/dosfs/</ulink>
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="Do-I-need-to-have-a-DOS-partition">
<para>Do I need to have a DOS partition on my system to use Wine?</para>
</question>
<answer>
<para>
You do not need a licensed and installed copy of DOS or MS Windows to
install, configure and run Wine. However, Wine has to be able to
'see' an MS Windows binary (i.e. application) if it is to run it.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="If-Wine-completely-replaces-MS-Windows">
<para>
If Wine completely replaces MS Windows, will it duplicate all of the
functions of MS Windows?
</para>
</question>
<answer>
<para>
Wine's goal is to make it possible to run Windows applications on
Unix. To this end it will provide replacements for just those
DLLs and APIs that are needed by these Windows applications.
This means that Wine will not provide replacements for DLLs that
are not shipped with Windows or are always shipped with Windows
application (e.g. the Visual Basic run time). This also
means that implementing an API that no application ever uses is not
a priority. Similarly, until there are applications out there that
use the Win64 API, it will not be a priority. That being said,
we will certainly try to keep our options open and to improve our API
coverage as we can.
</para>
<para>
Also Wine is not an operating system, so that writing device
drivers is not part of Wine's goals. However if you are interested
in device drivers, the <ulink url="http://www.kernel.org/">Linux</ulink>,
<ulink url="http://www.freebsd.org/">FreeBSD</ulink> and
<ulink url="http://www.reactos.com/">ReactOS</ulink> kernel developers
would certainly appreciate your contribution.
</para>
<para>
Similarly Wine does not try to be a desktop environment so
providing applets such as a calculator, a file manager or even
window manager that look like Windows, are low priority or would
even best be done as a separate project. Such projects would also
to a large extant be redundant with other open-source projects.
Again, there are projects that would certainly appreciate your
contributions in this areas, such as the
<ulink url="http://www.gnome.org/">Gnome</ulink> or
<ulink url="http://www.kde.org/">KDE</ulink> desktop environments. You
will get the added benefit that your contribution will then be
usable by everyone, not just by Wine users.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="Will-I-install-on-any-UNIX-file-system">
<para>
Will I be able to install MS Windows applications in any flavor of a
UNIX file system?
</para>
</question>
<answer>
<para>
Wine is written to be file system independent, so MS Windows
applications will install and run under virtually any file system
supported by your brand of UNIX.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="Will-Wine-run-only-under-X">
<para>Will Wine run only under X, or can it run in character mode?</para>
</question>
<answer>
<para>
Most of Wine's development effort is geared towards MS Windows' GUI,
but some limited support for character mode has appeared, by setting
<parameter>GraphicsDriver=ttydrv</parameter> in ~/.wine/config's
<parameter>[wine]</parameter> section.
</para>
<para>
Wine's infrastructure is already somewhat prepared for supporting
other graphics drivers than x11drv, but no real "alternative"
graphics driver has been developed yet.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="Will-Wine-run-under-any-X-window-manager">
<para>Will Wine run under any X window manager? Does it require a window manager at all?</para>
</question>
<answer>
<para>
Wine is window manager independent, so the X window manager you
choose to run has (almost) no bearing on your ability to run MS
Windows programs under Wine. Wine uses standard X libraries, so no
additional ones are needed. Wine has its own window management,
which acts like MS Windows. It can be turned off to use the native
window manager by modifying Managed or Desktop settings as described
in <command>man wine.conf</command>.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="Will-32-bit-applications-run-under-Wine">
<para>Will 32-bit Windows 95/98/ME/NT/2000/XP applications run under Wine?</para>
</question>
<answer>
<para>
Yes, 32-bit programs are now well supported.
</para>
</answer>
</qandaentry>
</qandadiv>
<qandadiv id="FAQ-Getting-Wine">
<title>Getting Wine</title>
<qandaentry>
<question id="Where-can-I-get-Wine">
<para>Where can I get Wine?</para>
</question>
<answer>
<para>
Because of lags created by using a mirror, word of the latest release
may reach you before the release is actually available at the ftp
sites listed here. The sources are available from the following
locations:
</para>
<itemizedlist>
<listitem>
<para>
<ulink url="http://sourceforge.net/project/showfiles.php?group_id=6241&amp;package_id=77449">
http://sourceforge.net/project/showfiles.php?group_id=6241&amp;package_id=77449
</ulink>
</para>
</listitem>
<listitem>
<para>
<ulink url="http://www.ibiblio.org/pub/Linux/ALPHA/wine/development/">
http://www.ibiblio.org/pub/Linux/ALPHA/wine/development/
</ulink>
</para>
</listitem>
<listitem>
<para>
<ulink url="ftp://ftp.infomagic.com/pub/mirrors/linux/sunsite/ALPHA/wine/development/">
ftp://ftp.infomagic.com/pub/mirrors/linux/sunsite/ALPHA/wine/development/
</ulink>
</para>
</listitem>
<listitem>
<para>
<ulink url="ftp://ftp.fu-berlin.de/unix/linux/mirrors/sunsite.unc.edu/ALPHA/wine/development/">
ftp://ftp.fu-berlin.de/unix/linux/mirrors/sunsite.unc.edu/ALPHA/wine/development/
</ulink>
</para>
</listitem>
<listitem>
<para>
<ulink url="ftp://orcus.progsoc.uts.edu.au/pub/Wine/development/">
ftp://orcus.progsoc.uts.edu.au/pub/Wine/development/
</ulink>
</para>
</listitem>
</itemizedlist>
<para>
It should also be available from any other site that mirrors
ibiblio.org, see <ulink url="http://www.ibiblio.org/pub/Linux/MIRRORS.html">http://www.ibiblio.org/pub/Linux/MIRRORS.html</>.
Some of these sites may archive previous versions of Wine as well as the
current one. To determine which is the latest one, look at the
distribution file name, which will take the form
Wine-YYYYMMDD.tar.gz. Simply replace YYYYMMDD in the distribution
file name with the numbers for year, month and date, respectively.
The latest one is the one to get.
</para>
<para>
Wine binary packages are available for several OS'es and
distributions. See
<ulink url="http://www.winehq.org/site/download">
the download page</ulink> for the most recent list.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="Is-there-a-CVS-tree">
<para>Is there a CVS tree?</para>
</question>
<answer>
<para>
Current Wine sources are also available via anonymous client/server
CVS. You will need CVS 1.9 or above. If you are coming from behind a
firewall, you will either need a hole in the firewall for the CVS
port (2401) or use SOCKS.
</para>
<para>
To login to the CVS tree, do
</para>
<screen>
export CVSROOT=:pserver:cvs@cvs.winehq.org/home/wine
cvs login
</screen>
<para>
Use "cvs" as the password (without the quotes). Note that
<filename>/home/wine</filename> is a path on the server, not on your
machine. To check out the entire Wine source tree (which may be
slow), use
</para>
<screen>
cvs -z 3 checkout wine
</screen>
<para>
or if you just want a subtree, or individual file, you can do that
too with
</para>
<screen>
cvs -z 3 checkout wine/ANNOUNCE
</screen>
<para>
Be aware, though, that getting the entire Wine source tree via CVS
is pretty slow, especially compared to getting Wine from an FTP
mirror near you. For a CVS mirror list, see
<ulink url="http://www.winehq.org/site/cvs#cvsservers">
http://www.winehq.org/site/cvs#cvsservers</ulink>
</para>
<para>
Patch files are also available, so that you don't have to download,
install, and configure the entire distribution each month if you are
current to the previous release. Patch file release names follow the
same numbering convention as do the general releases, and take the
form
</para>
<para>
Wine-YYYYMMDD.diff.gz
</para>
<para>
Patch files are available from the same sites that distribute the
full release. To upgrade to a new release by using a patch file,
first cd to the top-level directory of the release (the one
containing the README file), then do a "make clean", and patch the
release with
</para>
<screen>
gunzip -c patch-file | patch -p1
</screen>
<para>
where patch-file is the name of the patch file something like
Wine-YYYYMMDD.diff.gz. You can then re-run ./configure, and then run
make depend && make
</para>
<para>
If you are mirroring the Wine distribution from the tsx-11 site and
wish to be listed here in this FAQ, please add it to the
"things to go into the documentation" area.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="Can-I-get-Wine-using-cvsup">
<para>Can I get Wine using cvsup?</para>
</question>
<answer>
<para>
The CVS mirrors don't offer cvsup support yet, but the main server
does. Use a <filename>wine.sup</filename> file of:
</para>
<screen>
*default host=cvs.winehq.org
*default base=/cvs
*default prefix=/cvs/wine
*default release=wine
*default delete
# If your network link is a T1 or faster, comment out the following line.
#*default compress
*default use-rel-suffix
wine
</screen>
</answer>
</qandaentry>
</qandadiv>
<qandadiv id="Installing-And-Configuring-Wine">
<title>Installing and Configuring Wine</title>
<qandaentry>
<question id="How-do-I-compile-the-Wine-source-code">
<para>How do I compile the Wine distribution source code?</para>
</question>
<answer>
<para>
See the README (<ulink url="http://source.winehq.org/source/README">http://source.winehq.org/source/README</ulink>) for instructions.
Additionally, you may want to set the <parameter>TMPDIR</parameter>
environment variable <command>TMPDIR=~/tmp</command> or
<command>TMPDIR=/tmp</command> (if you are root).
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="How-do-I-install-Windows-in-Wine">
<para>How do I install Windows in Wine under Linux?</para>
</question>
<answer>
<para>
Simple answer: you CAN'T. Windows demands direct access to the
hardware and cannot get it with Wine and UNIX in the way
</para>
<para>
Wine is supposed to be primarily used WITHOUT Windows. If you want
to use a Windows installation, then use an existing installation
alongside the UNIX installation (see the dual-boot HOWTO for your OS
for more details). Or alternatively use the cabextract utility to
extract Windows install archives to a directory that you want to use
as Wine's Windows tree.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="How-do-I-configure-Wine-to-run-on-my-system">
<para>How do I configure Wine to run on my system?</para>
</question>
<answer>
<para>
Wine requires that you have a config file as
<filename>~/.wine/config</filename>. The format of this file is
explained in the <filename>wine.conf</filename> man page. The file
<filename>documentation/samples/config</filename>
(<ulink url="http://source.winehq.org/source/documentation/samples/config">
http://source.winehq.org/source/documentation/samples/config</ulink>)
contains a config file example. More explicit directions can be
found in the <filename>README</filename> file
(<ulink url="http://source.winehq.org/source/README">
http://source.winehq.org/source/README</ulink>) that will be located in
the base Wine directory after you gunzip and untar the distribution
file.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="How-do-I-upgrade-configuration">
<para>How do I upgrade Wine without losing my working configuration?</para>
</question>
<answer>
<para>
Upgrading the wine installation does not affect the existing wine
configuration. So after upgrading wine you still have the old (working )
wine configuration.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="If-I-use-Windows-which-versions-OK">
<para>If I want to use a Windows install, which versions are OK?</para>
</question>
<answer>
<para>
Either use a classic no-windows install (Wine is getting better all
the time) or use a Win9x install (Win95, 98, 98SE, ME). DON'T
configure Wine to use an NT-based Windows install (NT, Win2K, WinXP, Win2K3).
</para>
<para>
In general, most Windows installations contain vast quantities of garbage
that can confuse Wine and make it less reliable. If you can, it's best to
install the programs you want into Wine's fake windows drive.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="If-I-use-Windows-which-one-works-best">
<para>If I use a Windows install with Wine, which one works best?</para>
</question>
<answer>
<para>
As of 02/2002:
</para>
<para>
I'd say Win98SE is the best version to use with Wine, as it's fairly
widespread amongst developers and relatively old. Using Win2K files
is <emphasis>definitely</emphasis> worse than a plain no-windows
Wine install, and Win ME is said to be problematic, too (as probably
no developer uses it). In short: all Win9x &lt;= W98SE are good.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="Installing-Visual-Basic-apps-wont-run">
<para>
Installing applications generated by Visual Basic won't run. What
should I do?
</para>
</question>
<answer>
<para>
Make sure you have all the VB run time libraries installed. You can
get the latest version from the Microsoft web site.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="When-I-click-on-exe-file-nothing-happens">
<para>When I click on *.exe file in my file Manager, nothing happens.</para>
</question>
<answer>
<para>
The normal Wine releases don't have .exe extensions registered for
Wine in KDE/Gnome yet. You have to open a terminal window instead
(often an icon showing a "black screen") and type something like:
</para>
<screen>
cd /my/windows/program/directory
wine myprogram.exe
</screen>
</answer>
</qandaentry>
<qandaentry>
<question id="bash-wine-Command-not-found-What-can-I-do">
<para>bash says "wine: Command not found" What can I do?</para>
</question>
<answer>
<para>
Try to logout and login again into bash. That might fix it.
</para>
<para>
If it doesn't, then make sure the wine binary is in your
<parameter>PATH</parameter>.
</para>
<para>
Run as root:
</Para>
<screen>
find / -name "wine" -type f -perm +111
</screen>
<para>
to find the path where the wine binary is in. Then check whether
<parameter>PATH</parameter> includes it:
</para>
<screen>
echo $PATH
</screen>
<para>
If not, add that e.g. to <filename>/etc/profile</filename> by doing:
</para>
<screen>
export PATH=$PATH:/path/to/wine/binary
</screen>
<para>
That should help.
</para>
<para>
If you used a package manager (<command>rpm</command> or
<command>apt</command>) - Verify your packages. The package
<filename>winesetuptk.rpm</filename> is only a front-end for
making a meaningful config file, it DOES NOT install the wine
package...
</para>
<para>
For complete packages, use <ulink url="http://rpmseek.com/rpm-pl/wine.html?hl=com&amp;cx=0::">
http://rpmseek.com/</ulink> or the <ulink url="http://www.winehq.org/site/download">
Download</ulink> section.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="How-do-I-remove-Wine-from-my-Computer">
<para>How do I remove Wine from my Computer?</para>
</question>
<answer>
<para>
It depends on how you installed. If you used an RPM, the right command is this:
<command>rpm -e wine (as root)</command>
</para>
<para>
If you installed from source (the .tar.gz file), the right
way to do it is to change to the root of the source tree (the directory with the configure script,
readme etc) then run as root:
<command>make uninstall</command>
</para>
</answer>
</qandaentry>
</qandadiv>
<qandadiv id="About-running-Wine">
<title>About running Wine</title>
<qandaentry>
<question id="How-do-I-run-an-MS-Windows-program">
<para>How do I run an MS Windows program under Wine?</para>
</question>
<answer>
<para>
When invoking Wine, you must specify the entire path to the
executable, or by file name only. For example to run Windows'
solitaire, type any of the following:
</para>
<itemizedlist>
<listitem>
<para>
<command>wine sol</command> or <command>wine sol.exe</command>
(using the search path to locate the file).
</para>
</listitem>
<listitem>
<para>
<command>wine c:\\windows\\sol.exe</command>
(using a DOS file name).
</para>
</listitem>
<listitem>
<para>
<command>wine /usr/windows/sol.exe</command>
(using a UNIX file name).
</para>
</listitem>
<listitem>
<para>
<command>wine "c:\windows\sol.exe"</command>
(using quoted DOS file name).
</para>
</listitem>
</itemizedlist>
<para>
The path of the file will also be added to the path when a full name
is supplied on the command line.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="Wine-cannot-find-MS-Windows-on-my-drive">
<para>
I have installed and configured Wine, but Wine cannot find MS
Windows on my drive. Where did I go wrong?
</para>
</question>
<answer>
<para>
If you have a DOS partition, first make sure that you have mounted
it, either by putting the entry into <filename>/etc/fstab</filename>,
or by manually mounting it.
</para>
<para>
Remember too that unless your version of UNIX can see through it, or
you are running a utility that can see through it, your DOS
partition must not be located on a Drivespaced, Doublespaced or
Stackered partition, as neither Linux, FreeBSD, NetBSD or Wine can
natively 'see' files located in these compressed DOS partitions.
</para>
<para>
Check your path statements in the <filename>wine.conf</filename>
file. No capital letters may be used in paths, as they are
automatically converted to lowercase.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="Parts-of-my-app-do-not-work-What-is-wrong">
<para>
I was able to get various MS Windows programs to run, but parts of
them do not work. What is wrong?
</para>
</question>
<answer>
<para>
Wine is not complete at this time, so some of each programs'
features may not work. They will in time as more of the MS
Windows API calls are included in Wine.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="Menus-do-not-work-how-can-I-exit">
<para>
I have run various MS Windows programs, but since the program menus
do not work, how can I exit these programs?
</para>
</question>
<answer>
<para>
Kill the xterm shell window that you called up to run your MS
Windows program, and the X window that appeared with the program
will be killed too.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="My-app-doesnt-work-what-can-i-do">
<para>
My program doesn't work, what can I do?
</para>
</question>
<answer>
<para>
If you are a programmer and know C, then start debugging
Wine and help us make it better! If you can't, then you will
have to either convince a Wine developer to try and make your
program work (there must be a downloadable version or demo for that).
</para>
<para>
You can submit your application to the <ulink url="http://appdb.winehq.org/">
Wine Application DB </ulink> and gather tips on ways to get your app to work its best.
</para>
<para>
You can also submit your application to the CodeWeavers CrossOver
<ulink url="http://www.codeweavers.com/site/compatibility/"> Compatibility </ulink> Center.
Where you can pledge/vote toward future support of your favorite application.
</para>
<para>
Alternatively, you may be able to get the app working by
taking native DLLs from a Microsoft Windows install, and using
them (set the dlls to native in the config file). Not all DLLs
can be replaced that way - in particular DirectX cannot be, nor
can some core system DLLs like gdi32, user, ntdll, kernel32 etc.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="Can-I-use-Wine-with-other-Linux-Distros">
<para>Can I use Wine with SUSE, RedHat or other Linux Distro's?</para>
</question>
<answer>
<para>
You can use Wine on any sufficiently recent Linux installation. The
amount of work getting Wine up and running depends on whether you
install a binary packages or do a source install.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="Does-Wine-work-with-AMD-Processors">
<para>Does Wine work with AMD Processors?</para>
</question>
<answer>
<para>
Yes, it does. Wine should work on any processor compatible with
the Pentium or greater.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="Can-I-launch-Unix-app-from-Windows-app">
<para> Can I launch a Unix program from a Windows program?</para>
</question>
<answer>
<para>
Sure, Wine supports that. Just enter the unix program name wherever
a program has something that it's supposed to execute, and it
should just work.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="Error-with-installshield-6">
<para>
I get <quote>Error installing iKernel.exe: (0x1400)</quote>
when running an InstallShield 6 installer.
</para>
</question>
<answer>
<para>
If you get the error "Error installing iKernel.exe: (0x1400)" at any
point, it's probably because there are leftover processes from a
previous try. You can verify this with the command
</para>
<para><prompt>$ </><command>ps augxw | grep wine</command></para>
<para>
If that command shows old copies of wine running your setup,
you need to kill them before you can run the setup program.
If there are no other Wine programs running, you can kill them
all with the command
</para>
<para><prompt>$ </><command>killall wine</command></para>
<para>
If you're also running Wine programs you care about, you'll
have to kill off the old Setup instances one by one using
kill and the individual PIDs (or perhaps Wine's spiffy Task Manager,
which doesn't exist yet).
</para>
<para>
You should repeat the <command>ps</command> to make sure all of the old
Wine processes are gone.
</para>
</answer>
</qandaentry>
</qandadiv>
<qandadiv id="Getting-help">
<title>Getting help</title>
<qandaentry>
<question id="Is-there-any-documentation-for-Wine">
<para>Is there any documentation for Wine?</para>
</question>
<answer>
<para>
Yes, see <ulink url="http://www.winehq.org/site/documentation">
http://www.winehq.org/site/documentation.</ulink>
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="I-have-written-some-documententation">
<para>
I couldn't find the answer to my question in the documentation, but
I've written a document explaining how to solve it. What should I do?
</para>
</question>
<answer>
<para>
Updates and additions to the Wine documentation directory should be
sent to the wine-patches mailing list at
<ulink url="http://www.winehq.org/site/forums">
http://www.winehq.org/site/forums</ulink>. Website and FAQ
additions should be added to the appropriate Wine Knowledge base directory.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="Is-there-a-Usenet-newsgroup-for-Wine">
<para>Is there a Usenet newsgroup for Wine?</para>
</question>
<answer>
<para>
Yes, and it's called
<ulink url="news:comp.emulators.ms-windows.wine">
comp.emulators.ms-windows.wine</ulink>. The newsgroup serves as a
place for users and developers to discuss Wine, and for minor
announcements for the general public. Major announcements will be
cross posted to other appropriate newsgroups, such as the following:
</para>
<itemizedlist>
<listitem>
<para>
<ulink url="news:comp.os.linux.announce">
comp.os.linux.announce</ulink>
</para>
</listitem>
<listitem>
<para>
<ulink url="news:ccomp.windows.x.announce">
comp.windows.x.announce</ulink>
</para>
</listitem>
<listitem>
<para>
<ulink url="news:ccomp.emulators.announce">
comp.emulators.announce</ulink>
</para>
</listitem>
</itemizedlist>
<para>
If your Usenet site does not carry these newsgroups, please urge
your ISP's sysadmin to add and/or uplink them.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="Is-there-a-World-Wide-Web-site-for-Wine">
<para>Is there a World Wide Web site for Wine?</para>
</question>
<answer>
<para>
Wine HQ (<ulink url="http://www.winehq.org">http://www.winehq.org</ulink>) is the official site.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="Is-there-an-IRC-channel-for-Wine">
<para>Is there an IRC channel for Wine?</para>
</question>
<answer>
<para>
Sure. It's channel <filename>#WineHQ</filename> on
<filename>irc.freenode.net</filename> see
(<ulink url="http://freenode.net">http://freenode.net</ulink>).
Usually several Wine developers hang out there just to help YOU ;-)
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="I-think-I-found-a-bug-How-do-I-report-it">
<para>
I think I've found a bug. How do I report this bug to the Wine
programming team?
</para>
</question>
<answer>
<para>
Bug reports should be submitted to our online Bugzilla system
(<ulink url="http://bugs.winehq.org/">http://bugs.winehq.org/</ulink>).
You should include at least the following:
</para>
<itemizedlist>
<listitem>
<para>
The Wine version tested
</para>
</listitem>
<listitem>
<para>
The Windows application name, including the version, and, if
applicable, a URL the application can be downloaded from
</para>
</listitem>
<listitem>
<para>
A brief description of the bug
</para>
</listitem>
<listitem>
<para>
The relevant part(s) of the output of the Wine debugger
</para>
</listitem>
<listitem>
<para>
A screenshot of the visual problem, if applicable
</para>
</listitem>
</itemizedlist>
<para>
For more information about reporting bugs please see the
<ulink url="http://www.winehq.org/Docs/wine-user/bug-reporting.shtml">
How to report a bug</ulink> section of the Wine Users Guide.
</para>
</answer>
</qandaentry>
</qandadiv>
<qandadiv id="Helping-Wine-or-becoming-a-Wine-developer">
<title>Helping Wine or becoming a Wine developer</title>
<qandaentry>
<question id="How-do-I-become-a-Wine-developer">
<para>How do I become a Wine developer? What do I need to know?</para>
</question>
<answer>
<para>
If you can program C, that's a good start. Download the sources via
(<ulink url="http://www.winehq.org/site/cvs">CVS,</ulink>)
subscribe to the mailing lists, look around the source, and
pay attention to the comp.emulators.ms-windows.wine newsgroup
and the mailing lists (<ulink
url="http://www.winehq.org/site/forums">http://www.winehq.org/site/forums</ulink>).
See if there's anything that you think you can fix or work
on. You won't have much trouble finding areas that need work
in Wine (grep for FIXMEs in the source).
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="How-can-I-contribute-to-the-Wine-project">
<para>How can I help contribute to the Wine project, and in what way(s)?</para>
</question>
<answer>
<para>
You can contribute programming or documentation skills, or monetary
or equipment donations, to aid the Wine developers in reaching their
goals.
</para>
<para>
For a list of ideas of how you can help, please consult the
<ulink url="http://www.winehq.org/site/contributing">
Wine contrib page</ulink>.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="I-want-to-help-beta-test-Wine">
<para>I want to help beta test Wine. How can I do this?</para>
</question>
<answer>
<para>
Wine still consists of some Alpha code at this time. However, anyone
is welcome to download the latest version, and try it out at any
time.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="I-wrote-some-code-I-would-like-to-submit">
<para>
I have written some code that I would like to submit to the Wine
project. How do I go about doing this?
</para>
</question>
<answer>
<para>
Submitting a patch for inclusion in Wine is pretty simple.
Basically all you have to do is send the patch to the
wine-patches mailing list
(<ulink url="http://www.winehq.org/mailman/listinfo/wine-patches">http://www.winehq.org/mailman/listinfo/wine-patches</>).
Still there are a couple of recommendations about the patch format
and all so it's best to read our page describing <ulink
url="http://www.winehq.org/site/sending_patches">how to submit
patches</>. This will also give you more details about the whole
process and in particular to what will happen to your patch once
submitted.
</para>
</answer>
</qandaentry>
</qandadiv>
<qandadiv id="Developing-programs-using-Wine-WineLib">
<title>Developing programs using Wine/WineLib</title>
<qandaentry>
<question id="Can-I-use-Wine-to-port-Win32-sources-to-Unix">
<para>Can I use Wine to port my Win32 sources to Unix?</para>
</question>
<answer>
<para>
That is the idea of Winelib. Right now you may still have some
difficulties, but this is changing all the time. Read the
<ulink url="http://www.winehq.org/Docs/winelib-user/">Winelib User's Guide</ulink> for info.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="Will-MFC-work-with-Wine-What-do-I-need-to-do">
<para>Will MFC work with Wine? What do I need to do?</para>
</question>
<answer>
<para>
Wine is not implementing an MFC replacement nor does it intend to.
However it is possible (with a lot of work) to compile the MFC from
source and thus produce an <filename>mfc42.dll.so</filename> library.
</para>
<para>
Please refer to the
<ulink url="http://www.winehq.org/Docs/winelib-user/">Winelib User's Guide</ulink> for how to do this.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="Are-there-commercial-apps-ported-using-Wine">
<para>
Are there any commercial applications which have been ported
using Wine?
</para>
</question>
<answer>
<para>
Here are few examples of applications ported using Wine or Winelib:
</para>
<itemizedlist>
<listitem>
<para>
Corel's WordPerfect Office Suite 2000 was ported to Linux using
Wine.
</para>
</listitem>
<listitem>
<para>
Kylix, the Linux version of Delphi, was ported to Linux using
Winelib. The IDE actually uses a combination of QT and Winelib
which would not have been possible to achieve using only Wine.
The generated applications however do not depend on Wine in
any way.
</para>
</listitem>
<listitem>
<para>
MusicMatch Jukebox 5 has also been
<ulink url="http://www.itworld.com/nl/lnx_desktop/01042001/">ported</>
to Linux using Winelib. However more recent versions have not, and
version 5 is no longer available.
</para>
</listitem>
<listitem>
<para>
Ability Office
(<ulink url="http://www.ability.com/linux/abilitylinux.php">http://www.ability.com/linux/abilitylinux.php</ulink>)
</para>
</listitem>
<listitem>
<para>
IBM's Websphere
(<ulink url="http://www7b.boulder.ibm.com/dl/swws/swwsgddb-p">http://www7b.boulder.ibm.com/dl/swws/swwsgddb-p</ulink>)
</para>
</listitem>
</itemizedlist>
<para>
Many other important applications have already been ported. (we are
speaking of several top 500 applications here)
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="Can-I-bundle-everything-in-one-huge-executable">
<para>
Is there a way to bind the Wine code, a Windows .exe, associated DLLs,
and any necessary accompanying files into a single Linux executable which
can execute as if it were a native linux binary (ie without also having
Wine pre-installed)?
</para>
</question>
<answer>
<para>
No. However, if you don't want Wine as a dependency, you can bundle your
private version of Wine into your package (.rpm/.deb). Wine has good
support for such a setup via the WINEPREFIX environment variable.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="How-can-I-detect-Wine">
<para>How can I detect Wine?</para>
</question>
<answer>
<para>
You really shouldn't want to do this. If there's a quirk in Wine
you need to work around, it's much better to fix it in Wine.
</para>
</answer>
</qandaentry>
</qandadiv>
<qandadiv id="Wine-HQ-issues">
<title>Wine HQ issues</title>
<qandaentry>
<question id="Why-are-the-maillists-set-to-reply-to-author">
<para>
Why are the mailing lists set to reply to author, not to mailing list?
</para>
</question>
<answer>
<para>
There are some very valid reasons for doing so.
</para>
</answer>
</qandaentry>
<qandaentry>
<question id="How-to-unsubscribe-from-the-mailing-lists">
<para>How to unsubscribe from the mailing lists?</para>
</question>
<answer>
<para>
Please see: <ulink url="http://www.winehq.org/site/forums">http://www.winehq.org/site/forums</ulink>
And select [(Un-)Subscribe]
</para>
</answer>
</qandaentry>
</qandadiv>
</qandaset>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-parent-document:("wine-devel.sgml" "book" "part" "chapter" "")
End:
-->