Here is some information about Wine:
Questions and Answers
-
Misc unanswered
- What undocumented APIs / interfaces are not understood?
Would seeing Microsoft source help?About Wine
- What is Wine?
Wine is Windows on Unix.
- What’s Unix? What’s Linux? What’s FreeBSD?
Unix refers to a number of OSes based on the OS started at Bell
Labs in the 70’s. Linux and FreeBSD are free Unixes. - Is Wine an emulator?
Unfortunately, no. Wine provides low-level binary compatibility,
but only for OSes running on Intel-compatible chips. - What’s the history of Wine?
As far as I remember it was a discussion in comp.os.linux about
Windows emulation. The first real code came from Eric Youngdale (at
this point he was toying around with object formats, i.e. he was
writing the ELF infrastructure for Linux and applied this knowledge
to write a simple loader for Windows binaries). Then Bob Amstadt
got the actual project running (with TK widgets). — Joerg - Why would anyone want Wine? Doesn’t Windows
suck?Not everyone thinks so. And for those that don’t, Windows
programs would suck less when run on a more stable UNIX
platform. - What is Wine, and what is it supposed to do?
Wine is a program which allows the operation of DOS and MS
Windows programs (Windows 3.x and Win32 executables) on UNIX. It
consists of a program loader, which loads and executes a Windows
binary, and a library that implements Windows API calls using their
UNIX or X11 equivalents. The library may also be used for porting
Win32 code into native UNIX executables. Wine is free software, and
its license (contained in the file LICENSE in each distribution) is
BSD style. Basically, this means that you can do anything with Wine
except claim that you wrote it. - What is the current version of Wine?
A new version of Wine is distributed about twice a month. You
will be able to keep up on all the latest releases by reading the
newsgroup comp.emulators.ms-windows.wine where new release
announcements are made. When downloading Wine from your ftp site of
choice (see question 4.1 for some of these choices), you can make
sure that you are getting the latest version by watching the
version numbers in the distribution filename. For instance, the
distribution released on June 20, 1994 was called
Wine-940620.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 filenames follow the same conventions as the monthly
distribution. - When will Wine be finished?
Large software projects are never finished, only released. $br
[br] {br} Because Wine is being developed by volunteers, it is
difficult to predict when it will be ready for general release.
Between 90-98% of the functions used by MS Windows applets, and
80-90% of the functions used by major programs, have been at least
partially implemented at this time. However, the remaining 10% will
likely take another 90% of the time, not including debugging.Getting Wine
- Do I need Unix first? Where can I get Linux?
The short answer is yes: Wine is not an OS, it runs on top of
your OS. But also see Generic Windows, a prepacked
setup of FreeBSD+XFree86+Wine. - Can I get Wine on CD?
You can get the source on any CD which mirrors a Wine site, such
as the Sunsite CD’s marketed by Walnut Creek CDROM.Configuring Wine
- What’s with libmesagl in 990110?
Recompile, don’t use a RPM. or
http://rufus.w3.org/linux/RPM/freshmeat/mesa/Mesa-3.0-2.i386.htmlGetting Help
- Is there any documentation for Wine?
Yes, a bit.
Developing programs using Wine
- Can I use Wine to port my Win32 sources to
Unix?That is the idea of Winelib. Right now you may have some
difficulties, but this should change soon. - Will MFC work with Wine? What do I need to do?
Work is underway to support this.
- Are there any commercial applications which have been
ported using Wine?Corel’s WordPerfect Office Suite will be the first.
- How can I detect Wine?
You shouldn’t need to. If there’s a quirk in Wine you need to
work around, it’s better to fix it in Wine.Becoming a Wine developer
- How do I become a Wine developer? What do I need to
know?If you can program C, that’s a good start. Download the sources
via CVS, subscribe to the mailing lists, look around the source,
and pay attention to the comp.emulators.ms-windows.wine newsgroup.
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).About this FAQ
- How recent is this FAQ? Where can I get the latest
version?This document was last edited Thu Feb 25 14:04:24 MST 1999. It
is available from , and is posted monthly to comp.emulators.ms-windows.wine,
Y, and Z. - Who maintains this FAQ? What’s its history? How do I
submit additions?Dave Gardner maintained it from 1995-1998. Douglas Ridgway
<ridgway@winehq.com>, the
current maintainer, took it over in 1999. Proposed new questions
should be sent to him. - What’s the copyright on this FAQ? How may I use
it?The original Wine FAQ, which this FAQ was based on, was
copyright © 1995-1998 David Gardner. It may be reproduced and
modified under the same terms as Wine itself.Capabilities
- Which programs does Wine currently run?
include http //www.winehq.com/Apps/
- Are there programs which Wine will never be able to
run?Wine is designed to allow applications to run, and implements an
application programming interface. It is not designed to interface
directly with hardware, which is the responsibility of the
underlying operating system. Wine does not in general allow using
Windows drivers under Unix. That said, Wine has been used to
support parallel devices, such as parallel port scanners for which
no Unix driver is available. - Will MS Windows programs typically run faster or slower
under UNIX and Wine than they do under DOS and MS Windows? Will
certain kinds of programs run slower or faster?When work on Wine is completed, programs should typically run at
about the same speed under Wine as they do under DOS and MS
Windows. Currently, there are debugging features built into each
release, and this slows down the execution of programs. However,
these debugging features will be removed for any post-development
releases. - Are there any advantages or disadvantages to running MS
Windows applications under Wine that I should be aware of?As with OS/2, you will be running MS Windows programs under a
protected mode operating system, which brings certain advantages
(and some disadvantages). For instance, there will be crash
protection. That is, each MS Windows application running under Wine
will be running in its own X window and its own portion of reserved
memory. If one MS Windows application crashes, it will not crash
the other MS Windows or UNIX applications that you may have running
at the same time. However, be aware that some applications are
“broken” and they access memory that they haven’t properly (or at
all) allocated. Under OS/2 or Wine, they will crash. Under MS
Windows, they may work for a period of time, but then eventually
you will have to reboot the machine. Also, MS Windows programs
should run at about the same speed under Wine as they do under MS
Windows. When Wine is finished, you will be able to run your
favorite MS Windows applications in a UNIX environment. However, be
aware that any application written for MS Windows will run much
less efficiently than its native UNIX cousin. For Linux, there is a
database of such applications at http
//www.xnet.com/~blatura/linapps.shtml - Will Wine support MS Windows networked applications
that use winsock.dll?Yes, Wine does support such applications, more so the 16-bit
than the 32-bit version of winsock. Working applications include
Agent (a Usenet newsreader), mIRC, ws-FTP and Internet
Explorer. - I’m a software developer who wants to use UNIX to
develop programs rather than DOS, but I need to write DOS and MS
Windows programs as well. Will I be able to run my favorite DOS
and/or MS Windows compilers under Wine?Wine now supports DOS applications natively, which means that
you might be able to run command-line utilities. Some have reported
success in running (to varying degrees of success) various C++
compilers, and the Borland Dephi and Turbo Pascal for Windows
compilers. Others have reported success in running the Borland C++
5.0 command line compiler (bcc) as well as some of the debugging
tools in the MS SDK, but these compilers’ IDEs generally do not run
yet.What You Need to Run Wine
- Under what hardware platform(s) and operating system(s)
will Wine run?Wine is being developed specifically to run on the Intel x86
class of CPUs under certain UNIXes that run on the x86 platform.
UNIXes currently being tested for Wine compatibility include Linux,
NetBSD, FreeBSD and Unixware, and there is now support for SCO
OpenServer 5. The Wine development team hopes to attract the
interest of other commercial UNIX and UNIX clone vendors as well.
There are side efforts underway to port Wine to the Alpha and OS/2
platforms. You can find out more information about the OS/2 port at
http //www.winehq.com/wine/documentation/wine_os2 - What minimum CPU must I have in my computer to be able
to run Wine and MS Windows applications smoothly?Wine won’t run on any x86 CPU less than an 80386. It is known to
also work in the 80486 and Pentium CPUs. Beyond that, the basic
test is, if you can run X11 now, you should be able to run Wine and
MS Windows applications under it. 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. - How much disk space will the Wine source code and
binaries take on my hard drive? What other software do I need to
have installed to compile and run Wine?You need approximately 125 megabytes of free hard drive space to
store and compile the source code. Wine also needs about 18 megs in
your /tmp directory. As far as other software, you will need the
following to compile Wine – gcc – Xlib – Xpm To run Wine, you will
need the following – The compiled Wine binary – A properly
configured wine.conf and wine.sym – An installed and working X
Window system – Some MS Windows programs to test - How much RAM do I need to have on my UNIX system to be
able to run Wine and MS Windows applications smoothly?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. A
typical Wine workstation should realistically have at least 16
megabytes of RAM and a 16 megabyte swap partition. More is better,
of course. You can run Wine with 8/8, but it is not recommended. If
you wish to be part of the development team and program Wine
itself, be aware that the new debugger is rather memory intensive.
Some have suggested that 64 megabytes is the minimum RAM needed for
Wine development, although some are able to work (albeit slowly)
with 24 megabytes of physical RAM and lots of swap space. - I have a Drivespaced, Doublespaced or Stackered DOS
partition. Can Wine run MS Windows binaries located in such a
partition?Yes, but only if the operating system supports mounting those
types of drives. Currently, NetBSD and FreeBSD do not. There is a
Linux filesystem driver that will allow read/write access through
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 ftp
//metalab.unc.edu/pub/Linux/system/filesystems/dosfs/ - Do I need to have a DOS partition on my system to use
Wine? Does MS Windows need to be loaded into that partition in
order to run MS Windows programs under Wine?Unlike WABI, 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 if it is to run it.
Some folks have successfully installed and run some small programs
in their UNIX filesystem without having a DOS partition or MS
Windows. However, not all programs will work this way yet. Some
applications’ installation programs want to distribute some of the
package’s files into the /windows and /windows/system directories
in order to run, and unless these exist on your UNIX filesystem,
those programs will not install correctly and probably will not run
well, if at all. If you have a DOS partition with MS Windows
installed in it, make sure that your UNIX system can ‘see’ this
partition (check your /etc/fstab file or mount the partition
manually) so that Wine can run the MS Windows binaries located in
the DOS partition. When it is finished, Wine will not require that
you have a DOS partition on your system at all, meaning that you
will not need to have MS Windows installed either. Wine programmers
will provide an application setup program to allow you to install
your MS Windows programs straight from your distribution diskettes
or CDs onto your UNIX filesystem, or from within your UNIX
filesystem if you ftp an MS Windows program over the Internet. To
run without a DOS partition, you need to set a UNIX path to be your
drive C, and make sure that the /windows and /windows/system
directories point to some place that actually exist. Here’s an
example, copied from a machine which has no DOS partition but
successfully runs Wine [Drive C] Path=/var/lib/wine Type=hd
Label=MS-DOS Filesystem=win95 [wine] Windows=c:windows
System=c:windowssystem Temp=e:
Path=c:windows;c:windowssystem;c: In /var/lib/wine/windows, you
will need to install a win.ini config file that you might find on a
typical MS Windows 3.1 machine. The directory
/var/lib/wine/windows/system should exist, but doesn’t need to
contain anything. However, to use MS DLLs, you can copy them into
that directory. If you have DOS/MS Windows installed on your
system, you can mount that partition at bootup by modifying the
file /etc/fstab in your UNIX partition. If you edit this file by
hand, it should contain something similar to the following
/dev/hda1 /dosc msdos uid=0,gid=100,umask=007 0 0 This will allow
you to read and write to the DOS partition without being root. - If Wine completely replaces MS Windows, will it
duplicate all of the functions of MS Windows?Most of them, yes. However, some applications and applets that
come with MS Windows, such as File Manager and Calculator, can be
considered by some to be redundant, since 32-bit UNIX programs that
duplicate these applets’ functions already exist. - Will I be able to install MS Windows applications in
any flavor of a UNIX filesystem?Wine is written to be filesystem independent, so MS Windows
applications will install and run under any filesystem supported by
your brand of UNIX. - Will Wine run only under X, or can it run in character
mode?Being a GUI (graphical user interface), MS Windows does not have
a character mode, so there will be no character mode for Wine. So
yes, you must run Wine under X. On the other hand, Win32 does have
a character mode. Currently, Wine must have a display even to run
console-only Win32 apps. - Will Wine run under any X window manager? Does it
require a window manager at all?Wine is window manager independent, so the X window manager you
choose to run has 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 with the -managed command-line switch. - Will 32-bit Windows 95/98 applications run under
Wine?In general, yes, although there are still lots of bugs which
break specific programs. - What about NT specific programs, which use NT-only
features?These are only poorly supported.
How to Find, Install, Configure and Run
Wine - Where can I get Wine?
Because of lags created by using mirror, word of this newest
release may reach you before the release is actually available at
the ftp sites listed here. The sources are available from the
following locations
ftp//metalab.unc.edu/pub/Linux/ALPHA/wine/development/
ftp//tsx-11.mit.edu/pub/linux/ALPHA/Wine/development/
ftp//ftp.infomagic.com/pub/mirrors/linux/sunsite/ALPHA/wine/development/
ftp//ftp.progsoc.uts.edu.au/pub/Wine/development/ It should also be
available from any site that mirrors tsx-11 or metalab (formerly
sunsite). Some of these ftp sites may archive previous versions of
Wine as well as the current one. To determine which is the latest
one, look at the distribution filename, which will take the form
Wine-[yymmdd].tar.gz. Simply replace [yymmdd] in the distribution
filename with the numbers for year, month and date, respectively.
The latest one is the one to get. Wine is also available in RedHat
and Debian packaged versions, but the packaging delays the release
in these formats for about a week after the *.tar.gz file is
released. You can obtain these packages from the following systems
ftp//ftp.rwii.com/pub/linux/Redhat/contrib/
http//www.debian.org/Packages/unstable/otherosfs/wine.html Compiled
binaries for the Solaris operating system can be found at
http//www.ecn.purdue.edu/~laird/WINE/ 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.
To login to the CVS tree, do export
CVSROOT=pservercvs@cvs.winehq.com/home/wine cvs login Use “cvs” as
the password (without the quotes). Note that /home/wine is a path
on the server, not on your machine. To check out the entire Wine
source tree (which may be slow), use cvs -z 3 checkout wine or if
you just want a subtree, or individual file, you can do that too
with cvs -z 3 checkout wine/ANNOUNCE 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. Patch files
are also available, so that you don’t have to download, install and
configure the entire distribution each week 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
Wine-[yymmdd].diff.gz 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 gunzip -c patch-file | patch -p1
where “patch-file” is the name of the patch file (something like
Wine-yymmdd.diff.gz). You can then re-run “./configure”, and then
run “make depend; make”. Note that any mirror of tsx-11 will likely
carry the Wine distribution and diff files, but may not be listed
here in this FAQ. If you are mirroring the Wine distribution from
the tsx-11 site and wish to be listed here in this FAQ, please send
email to the FAQ author/maintainer listed in question 7.2. - If I do not have an Internet account, how can I get
Wine?Some CD-ROM archives of Internet sites, notably those from
Walnut Creek that archive ftp.cdrom.com and metalab.unc.edu, may
include some versions of Wine on their CD releases. However, the
age of these distributions should always be questioned, as the
‘snapshot’ of the ftp site may have been taken anywhere from 1-4
months (or more) prior to the CD’s pressing date. Your best bet to
get the very latest distribution of Wine, if you do not have your
own Internet account, is to find a friend who does have an Internet
account, and have him/her ftp the necessary file(s) for you. If you
have an email account on a BBS that can reach the Internet through
a gateway, you may be able to use ’email ftp’ to get the Wine
release sent to you; check with your BBS system operator for
details. If you are running a BBS that is not connected to the
Internet but does offer the Wine distribution for download, and
would like to be listed in this FAQ, please forward such
information to the FAQ author/maintainer as listed in question
7.2. - How do I install Wine on my hard drive?
Just un-gzip and un-tar the file, and follow the instructions
contained in the README file that will be located in the base Wine
directory. - How do I compile the Wine distribution source
code?To compile Wine, you must have one of Linux version 0.99.13 or
above NetBSD-current FreeBSD-current or FreeBSD 1.1 or later
OpenBSD/i386 2.1 or later Solaris x86 2.5 or later You also need to
have libXpm installed on your system. The sources for it are
probably available on the ftp site where you got Wine. They can
also be found on ftp.x.org and all of its mirror sites. On x86
systems, gcc >= 2.7.0 is required. You will probably need flex
too. To build Wine, first do a “./configure” and then a “make
depend; make” from the Wine directory. This will build the library
“libwine.a”, which can be used to compile and link Windows source
code under Unix, and the program “wine”, which will load and run
Windows executables. If you have an ELF compiler, you can use
“./configure –enable-dll” to build a shared library instead.
Additionally, you may want to set the TMPDIR environment variable
TMPDIR=~/tmp or TMPDIR=/tmp (if you are root) - How do I configure Wine to run on my system?
Wine requires that you have a file called
“/usr/local/etc/wine.conf” (you can supply a different filename
when configuring wine) or a file called “.winerc” in your home
directory. The format of this file is explained in the Wine man
page. The file “wine.ini” contains a config file example. More
explicit directions can be found in the README file that will be
located in the base Wine directory after you ungzip and untar the
distribution file. - How do I run an MS Windows program under Wine?
When invoking Wine, you must specify the entire path to the
executable, or by filename only. For example to run Windows’
solitaire wine sol (using the search path to locate wine sol.exe
the file) wine c\windows\sol.exe (using a DOS filename) wine
/usr/windows/sol.exe (using a UNIX filename) The path of the file
will also be added to the path when a full name is supplied on the
command line. - I have installed and configured Wine, but Wine cannot
find MS Windows on my drive. Where did I go wrong?If you have a DOS partition, first make sure that you have
mounted it, either by putting the entry into /etc/fstab, or by
manually mounting it. 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. Check your path statements in the
wine.conf file. No capital letters may be used in paths, as they
are automatically converted to lowercase. - I think I’ve found a bug. How do I report this bug to
the Wine programming team?Bug reports should be posted to the newsgroup
comp.emulators.ms-windows.wine Be sure to include, in your report,
the following information – The Wine version tested – The MS
Windows program name and, if possible, the version number of the
software tested – A brief description of the bug – The relevant
part(s) of the output of the Wine debugger - I was able to get various MS Windows programs to run,
but parts of them do not work. What is wrong?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. - I have run various MS Windows programs, but since the
program menus do not work, how can I exit these programs?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. - How do I remove Wine from my computer?
All you have to do is to type rm -fR [/path/]Wine* Make sure
that you specify the exact path when using the powerful ‘rm -fR’
command. If you are afraid that you might delete something
important, or might otherwise delete other files within your
filesystem, cd into each Wine subdirectory singly and delete the
files found there manually, one file or directory at a time.
Neither the Wine developers and programmers, nor the Wine FAQ
author/maintainer, can be held responsible for your deleting any
files in your own filesystem.How to Get Help with Wine
- Is there a Usenet newsgroup for Wine?
Yes, and it’s called comp.emulators.ms-windows.wine The
newsgroup serves as a place for developers to discuss Wine, and for
minor announcements for the general public. Major announcements
will be crossposted to other appropriate newsgroups, such as the
following comp.os.linux.announce comp.windows.x.announce
comp.emulators.announce If your Usenet site does not carry these
newsgroups, please urge your ISP’s sysadmin and/or uplink to add
them. - Is there a World Wide Web site for Wine?
Here are a few http//www.qbc.clic.net/~krynos/wine_en.html
http//www.winehq.com/ If you are installing or maintain a WWW page
pertaining to Wine that you feel would be useful for others to
read, please inform the FAQ author/maintainer detailed in question
7.2 for inclusion in the next edition of the Wine FAQ.How You Can Help with the Wine
Project - How can I help contribute to the Wine project, and in
what way(s)?You can contribute programming skills, or monetary or equipment
donations, to aid the Wine developers in reaching their goals. To
find out who, what, where, when and why, please post your desire to
contribute to the newsgroup comp.emulators.ms-windows.wine - I want to help beta test Wine. How can I do
this?Beta testers are currently not needed, as Wine is still Alpha
code at this time. However, anyone is welcome to download the
latest version and try it out at any time. - I have written some code that I would like to submit to
the Wine project. How do I go about doing this?Send your weekly code contributions to Alexandre Julliard at
julliard@lrc.epfl.ch. You should verify that your code was included
in the subsequent release of Wine, as project managers cannot
guarantee that the mail server will not suffer some failure that
will cause the loss of your message and code after it is
received.Who’s Responsible for Wine?
- Who is responsible for writing and maintaining the Wine
source code?Wine is available thanks to the work of many people. Please see
the file AUTHORS in the distribution for the complete list. - Who are the folks and organizations who have
contributed money or equipment to the Wine project?People and organizations who have given generous contributions
of money and/or equipment include – David L. Harper – Bob Hepple –
Mark A. Horton – Kevin P. Lawton – the Syntropy Institute – James
Woulfe