.\" -*- nroff -*-
.TH WINE 1 "October 2005" "@PACKAGE_STRING@" "Windows On Unix"
.SH NAME
wine \- run Windows programs on Unix
.SH SYNOPSIS
.BI "wine " program
[arguments ... ]
.br
.B wine --help
.br
.B wine --version
.PP
For instructions on passing arguments to Windows programs, please see the
.B
PROGRAM/ARGUMENTS
section of the man page.
.SH DESCRIPTION
.B wine
loads and runs the given program, where the program is a DOS, Windows
3.x, or Win32 executable (x86 binaries only).
.PP
For debugging wine, use
.B winedbg
instead.
.PP
For running CUI executables (Windows console programs), use
.B wineconsole
instead of
.BR wine .
This will display all the output in a separate windows (this requires X11 to
run). Not using
.B wineconsole
for CUI programs will only provide very limited console support, and your
program might not function properly.
.PP
When invoked with
.B --help
or
.B --version
as the only argument,
.B wine
will simply print a small help message or its version respectively and exit.
.SH PROGRAM/ARGUMENTS
The program name may be specified in DOS format
.RI ( C:\(rs\(rsWINDOWS\(rs\(rsSOL.EXE )
or in Unix format
.RI ( /msdos/windows/sol.exe ).
You may pass arguments to the program being executed by adding them to the
end of the command line invoking
.B wine
(such as: wine notepad C:\(rs\(rsTEMP\(rs\(rsREADME.TXT).
Note that you need to '\(rs' escape special characters (and spaces) when invoking Wine via
a shell, e.g.
.PP
wine C:\(rs\(rsProgram\(rs Files\(rs\(rsMyPrg\(rs\(rstest.exe
.PP
.SH ENVIRONMENT VARIABLES
.B wine
makes the environment variables of the shell from which
.B wine
is started accessible to the windows/dos processes started. So use the
appropriate syntax for your shell to enter environment variables you need.
.TP 
.I WINEPREFIX
If set, the content of this variable is taken as the name of the directory where
.B wine
stores its data (the default is 
.IR $HOME/.wine ).
This directory is also used to identify the socket which is used to
communicate with the
.IR wineserver .
All 
.B wine
processes using the same 
.B wineserver
(i.e.: same user) share certain things like registry, shared memory,
and config file.
By setting 
.I WINEPREFIX
to different values for different 
.B wine
processes, it is possible to run a number of truly independent 
.B wine
processes. 
.TP
.I WINESERVER
Specifies the path and name of the
.B wineserver
binary. If not set, Wine will try to load
.BR @bindir@/wineserver ,
and if this doesn't exist it will then look for a file named
"wineserver" in the path and in a few other likely locations.
.TP
.I WINELOADER
Specifies the path and name of the
.B wine
binary to use to launch new Windows processes. If not set, Wine will
try to load
.BR @bindir@/wine ,
and if this doesn't exist it will then look for a file named "wine" in
the path and in a few other likely locations.
.TP
.I WINEDEBUG
Turns debugging messages on or off. The syntax of the variable is
of the form
.RI [ class ][+/-] channel [,[ class2 ][+/-] channel2 ].
.RS +7
.PP
.I class
is optional and can be one of the following: 
.BR err ,
.BR warn ,
.BR fixme ,
or 
.BR trace .
If
.I class
is not specified, all debugging messages for the specified
channel are turned on.  Each channel will print messages about a particular
component of 
.BR wine .
The following character can be either + or - to switch the specified
channel on or off respectively.  If there is no
.I class
part before it, a leading + can be omitted. Note that spaces are not
allowed anywhere in the string.
.PP
Examples:
.TP
WINEDEBUG=warn+all
will turn on all warning messages (recommended for debugging).
.br
.TP
WINEDEBUG=warn+dll,+heap
will turn on DLL warning messages and all heap messages.  
.br
.TP
WINEDEBUG=fixme-all,warn+cursor,+relay
will turn off all FIXME messages, turn on cursor warning messages, and turn
on all relay messages (API calls).
.br 
.TP
WINEDEBUG=relay
will turn on all relay messages. For more control on including or excluding
functions and dlls from the relay trace, look into the
.B HKEY_CURRENT_USER\\\\Software\\\\Wine\\\\Debug
registry key.
.PP
For more information on debugging messages, see the
.I Running Wine
chapter of the Wine User Guide.
.RE
.TP
.I WINEDLLPATH
Specifies the path(s) in which to search for builtin dlls and Winelib
applications. This is a list of directories separated by ":". In
addition to any directory specified in
.IR WINEDLLPATH ,
Wine will also look in
.BR @dlldir@ .
.TP
.I WINEDLLOVERRIDES
Defines the override type and load order of dlls used in the loading
process for any dll. There are currently two types of libraries that can be loaded
into a process' address space: native windows dlls
.RI ( native ),
.B wine 
internal dlls
.RI ( builtin ).
The type may be abbreviated with the first letter of the type
.RI ( n ", " b ).
The library may also be disabled (''). Each sequence of orders must be separated by commas.
.RS
.PP
Each dll may have its own specific load order. The load order
determines which version of the dll is attempted to be loaded into the
address space. If the first fails, then the next is tried and so
on. Multiple libraries with the same load order can be separated with
commas. It is also possible to use specify different loadorders for
different libraries by separating the entries by ";".
.PP
The load order for a 16-bit dll is always defined by the load order of
the 32-bit dll that contains it (which can be identified by looking at
the symbolic link of the 16-bit .dll.so file). For instance if
ole32.dll is configured as builtin, storage.dll will be loaded as
builtin too, since the 32-bit ole32.dll contains the 16-bit
storage.dll.
.PP
Examples:
.TP
WINEDLLOVERRIDES="comdlg32,shell32=n,b"
.br
Try to load comdlg32 and shell32 as native windows dll first and try
the builtin version if the native load fails.
.TP
WINEDLLOVERRIDES="comdlg32,shell32=n;c:\(rs\(rsfoo\(rs\(rsbar\(rs\(rsbaz=b"
.br
Try to load the libraries comdlg32 and shell32 as native windows dlls. Furthermore, if 
an application request to load c:\(rsfoo\(rsbar\(rsbaz.dll load the builtin library baz. 
.TP
WINEDLLOVERRIDES="comdlg32=b,n;shell32=b;comctl32=n;oleaut32="
.br
Try to load comdlg32 as builtin first and try the native version if
the builtin load fails; load shell32 always as builtin and comctl32
always as native. Oleaut32 will be disabled.
.RE
.TP
.I WINEARCH
Specifies the Windows architecture to support. It can be set either to
.B win32
(support only 32-bit applications), or to
.B win64
(support both 64-bit applications and 32-bit ones in WoW64 mode).
.br
The architecture supported by a given Wine prefix is set at prefix
creation time and cannot be changed afterwards. When running with an
existing prefix, Wine will refuse to start if
.I WINEARCH
doesn't match the prefix architecture.
.TP
.I DISPLAY
Specifies the X11 display to use.
.TP
OSS sound driver configuration variables
.TP
.I AUDIODEV
Set the device for audio input / output. Default
.BR /dev/dsp .
.TP
.I MIXERDEV
Set the device for mixer controls. Default
.BR /dev/mixer .
.TP
.I MIDIDEV
Set the MIDI (sequencer) device. Default
.BR /dev/sequencer .
.SH FILES
.TP
.I @bindir@/wine
The 
.B wine 
program loader.
.TP
.I @bindir@/wineconsole
The 
.B wine 
program loader for CUI (console) applications.
.TP
.I @bindir@/wineserver
The 
.B wine 
server 
.TP 
.I @bindir@/winedbg
The 
.B wine 
debugger
.TP 
.I @dlldir@
Directory containing 
.BR wine 's
shared libraries 
.TP
.I $WINEPREFIX/dosdevices
Directory containing the DOS device mappings. Each file in that
directory is a symlink to the Unix device file implementing a given
device. For instance, if COM1 is mapped to /dev/ttyS0 you'd have a
symlink of the form $WINEPREFIX/dosdevices/com1 -> /dev/ttyS0.
.br
DOS drives are also specified with symlinks; for instance if drive D:
corresponds to the CDROM mounted at /mnt/cdrom, you'd have a symlink
$WINEPREFIX/dosdevices/d: -> /mnt/cdrom. The Unix device corresponding
to a DOS drive can be specified the same way, except with '::' instead
of ':'. So for the previous example, if the CDROM device is mounted
from /dev/hdc, the corresponding symlink would be
$WINEPREFIX/dosdevices/d:: -> /dev/hdc.
.SH AUTHORS
.B wine
is available thanks to the work of many developers. For a listing
of the authors, please see the file 
.B AUTHORS
in the top-level directory of the source distribution.
.SH COPYRIGHT
.B wine
can be distributed under the terms of the LGPL license. A copy of the
license is in the file
.B COPYING.LIB
in the top-level directory of the source distribution.
.SH BUGS
.PP
A status report on many applications is available from
.IR http://appdb.winehq.org .
Please add entries to this list for applications you currently run, if
there is no entry for this application.
.PP
Bug reports may be posted to Wine Bugzilla
.I http://bugs.winehq.org
If you want to post a bug report, please see
.I http://wiki.winehq.org/Bugs
in the 
.B wine 
source to see what information is necessary
.PP
Problems and suggestions with this manpage please also report to
.I http://bugs.winehq.org
.SH AVAILABILITY
The most recent public version of 
.B wine
can be downloaded from
.I http://www.winehq.org/download
.PP
The latest snapshot of the code may be obtained via GIT.  For information
on how to do this, please see
.I
http://www.winehq.org/site/git
.PP
WineHQ, the
.B wine
development headquarters, is at
.IR http://www.winehq.org .
This website contains a great deal of information about
.BR wine .
.PP
For further information about 
.B wine
development, you might want to subscribe to the 
.B wine 
mailing lists at
.I http://www.winehq.org/forums

.SH "SEE ALSO"
.BR wineserver (1),
.BR winedbg (1)
