blob: d37137b4f287d94d9f917efc8d16a549a2d98ac1 [file] [log] [blame]
.\" -*- nroff -*-
.TH WINE 1 "July 16, 1999" "Version 20000326" "Windows On Unix"
.SH NAME
wine \- run Windows programs on Unix
.SH SYNOPSIS
.BI "wine " "[wine_options] " "program " "[arguments ... ]"
.PP
For instructions on passing arguments to Windows programs, please see the
.B
PROGRAM/ARGUMENTS
section of the man page.
.SH DESCRIPTION
.B wine
.I program
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
.I program
instead.
.PP
.B wine
currently runs a growing list of applications written for Win3.1,
Win95, Win98, and Windows NT. Older, simpler applications work better than
newer, more complex ones. A large percentage of the API has been implemented,
although there are still several major pieces of work left to do.
.SH REQUIREMENTS
.B wine
requires kernel-level threads to run. Currently, only Linux version 2.0
or later, FreeBSD-current or FreeBSD 3.0 or later, and Solaris x86
version 2.5 or later are supported. Other operating systems which support
kernel threads may be supported in the future.
.PP
Although Linux version 2.0 will mostly work, certain features (specifically
LDT sharing) required for properly supporting Win32 threads were not
implemented until kernel version 2.2. If you get consistent thread-related
crashes, you may want to upgrade to 2.2. Also, some bugs were fixed and
additional features were added late in the Linux 2.0.x series, so if you have
a very old Linux kernel, you may want to upgrade to at least the latest 2.0.x
release.
.PP
If you have FreeBSD, make sure you have the USER_LDT,
SYSVSHM, SYSVSEM, and SYSVMSG options turned on in your kernel. If you
are building
.B wine
on Solaris, you will most likely need to build wine with the GNU toolchain
(gcc, gas, etc.)
.PP
.B X
must be installed. To use
.B wine's
support for multithreaded applications, your X libraries must be reentrant.
If you have libc6 (glibc2), or you
compiled the X libraries yourself, they were probably compiled with the
reentrant option enabled.
.PP
.B libXpm
must be installed. If you're using Red Hat, make sure the following
packages are installed: XFree86-devel, xpm, and xpm-devel. If you're
using Debian, the packages you need are xpm4g and xpm4g-dev. If you
have some other distribution, please send a list of packages required
to the address listed in the
.B
BUGS
section to get it included in this man page.
.PP
.B gcc
2.7.2 or later is required to build
.B wine.
Versions earlier than 2.7.2.3 may have problems when certain files are
compiled with optimization, often due to problems with header file
management.
.B
pgcc
currently doesn't work with
.B wine.
The cause of this problem is unknown.
.PP
.B flex
version 2.5 or later and
.B yacc
are required. Bison can be used in replace of yacc. If you have Redhat
or Debian, make sure the bison and flex packages are installed.
.SH INSTALLATION
To install
.B wine,
run "./configure" in the top-level directory of the source, which will
detect your specific setup and create the Makefiles. You can run
"./configure --help" to see the available configuration options. Then do
"make depend && make" to build the
.B wine
executable, and then "make install" to install it. By default,
.B wine
is installed in the /usr/local/ hierarchy (current configuration has it in
the @prefix@ hierarchy); you can specify a different path with
the --prefix or --sysconfdir options when running
.B configure.
.PP
For more information, see the
.I README
file contained in the source distribution.
.SH OPTIONS
.TP
.I --config filename
Use the named configuration file rather than the default
(@sysconfdir@/wine.conf or ~/.winerc).
.TP
.I --debugmsg [xxx]#name[,[xxx1]#name1][,<+|->relay=yyy1[:yyy2]]
Turn debugging messages on or off.
.RS +7
.PP
xxx is optional and can be one of the following:
.I err,
.I warn,
.I fixme,
or
.I trace.
If xxx is not specified, all debugging messages for the specified
channel are turned on. Each channel will print messages about a particular
component of
.B wine.
# is required and can be either + or -. Note that
there is not a space after the comma between names. yyy are either the
name of a whole DLL or a single API entry by Name you either
want to include or exclude from the relay listing. These names must be in
the case as names used in the relaylisting. You can do the same for snoop.
.PP
For instance:
.PP
.I --debugmsg warn+dll,+heap
will turn on DLL warning messages and all heap messages.
.br
.I --debugmsg 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
.I --debugmsg -relay=LeaveCriticalSection:EnterCriticalSection
will turn on all relay messages except for LeaveCriticalSection and
EnterCriticalSection.
.br
.I --debugmsg +relay=ADVAPI32
will only turn on relay messages into the ADVAPI32 code.
.PP
The full list of names is: all, accel, advapi, animate, aspi, atom, avifile, bitblt,
bitmap, caret, cdrom, class, clipboard, clipping, combo, comboex, comm, commctrl,
commdlg, console, crtdll, cursor, datetime, dc, ddeml, ddraw, debug, debugstr, delayhlp,
dialog, dinput, dll, dosfs, dosmem, dplay, driver, dsound, edit, elfdll, enhmetafile,
event, exec, file, fixup, font, gdi, global, graphics, header, heap, hook, hotkey,
icmp, icon, imagehlp, imagelist, imm, int, int10, int16, int17, int19, int21, int31,
io, ipaddress, joystick, key, keyboard, ldt, listbox, listview, local, mci, mcianim,
mciavi, mcicda, mcimidi, mciwave, mdi, menu, message, metafile, midi, mmaux, mmio,
mmsys, mmtime, module, monthcal, mpr, msacm, msg, msvideo, nativefont, nonclientntdll,
odbc, ole, pager, palette, pidl, print, process, profile, progress, prop, propsheet,
psapi, psdrv, ras, rebar, reg, region, relay, resource, scroll, segment, seh, selector,
sendmsg, server, setupx, shell, snoop, sound, static, statusbar, storage, stress, string,
syscolor, system, tab, tape, tapi, task, text, thread, thunk, timer, toolbar, toolhelp,
tooltips, trackbar, treeview, ttydrv, tweak, typelib, updown, ver, virtual, vxd, wave,
win, win16drv, win32, winedbg, wing, winsock, winspool, wnet, x11 and x11drv.
.PP
For more information on debugging messages, see the file
.I documentation/debug-msgs
in the source distribution.
.RE
.TP
.I --desktop geom
Use a desktop window of the given geometry, e.g. "640x480"
.TP
.I --display name
Use the specified X display
.TP
.I --dll name[,name[,...]]={native|elfdll|so|builtin}[,{n|e|s|b}[,...]][+...]
Selects the override type and load order of dll used in the loading process
for any dll. The default is set in @sysconfdir@/wine.conf or ~/.winerc. There
are currently four types of libraries that can be loaded into a process' address
space: Native windows dlls (
.I native
), ELF encapsulated windows dlls (
.I elfdll
), native ELF libraries (
.I so
)and
.B wine
internal dlls (
.I builtin
). The type may be abbreviated with the first letter of the type (
.I n, e, s, b
). Each sequence of orders must be separated by commas.
.br
Each dll may have its own specific load order. The load order determines
which verion of the dll is attempted to be loaded into the address space. If
the first fails, then the next is tried and so on. Different load orders can
be specified by separating the entries with a plus sign. Multiple libraries
with the same load order can be separated with commas. It is also possible to
use the --dll option several times, to specify different loadorders for different
libraries
.br
Examples:
.br
.I --dll comdlg32,commdlg=n,b
.br
Try to load comdlg32 and commdlg as native windows dll first and try
the builtin version if the native load fails.
.br
.I --dll shell,shell32=n --dll c:\\foo\\bar\\baz=b
.br
Try to load the libraries shell and shell32 as native windows dlls. Furthermore, if
an application request to load c:\\foo\\bar\\baz.dll load the builtin library baz.
.br
.I --dll comdlg32,commdlg=e,n:shell,shell32=b+comctl32,commctrl=n
.br
Try to load comdlg32 and commdlg as elfdll first and try the native version
if the elfdll load fails; load shell32/shell always as builtin and
comctl32/commctrl always as native.
.br
Note: It is wise to keep dll pairs (comdlg32/commdlg, shell/shell32, etc.)
having exactly the same load order. This will prevent mismatches at runtime.
See also configuration file format below.
.TP
.I --dosver version
Specify the DOS version
.B wine
should imitate (e.g. 6.22) This option
is only valid when used in conjunction with --winver win31.
.TP
.I --language xx
Set the language to
.I xx
(one of Br, Ca, Cs, Cy, Da, De, En, Eo, Es, Fi, Fr, Ga, Gd, Gv, Hr,
Hu, It, Ko, Kw, No, Pl, Pt, Ru, Sk, Sv, Wa)
.TP
.I --managed
Create each top-level window as a properly managed X window instead of
creating our own "sticky" window.
.TP
.I --synchronous
Turn on synchronous display mode. Useful for debugging X11 graphics problems.
.TP
.I --winver version
Specify which Windows version
.B wine
should imitate.
Possible arguments are: win31, win95, nt351, and nt40.
.PD 1
.SH PROGRAM/ARGUMENTS
The program name may be specified in DOS format (
.I
C:\\WINDOWS\\SOL.EXE)
or in Unix format (
.I /msdos/windows/sol.exe
). The program being executed may be passed arguments by adding them on
to the end of the command line invoking
.B wine
(such as: wine notepad C:\\TEMP\\README.TXT). Command line processing goes as
follows: first
.B wine
checks, if one or more of the above mentioned
.B wine
options have been specified. These
are removed from the command line, which is passed to the windows program. You can use
the Parameter
.I --
to indicate, that
.B wine
should stop command line processing. This is needed, if a windows program understands
a option, which is usually interpreted (and thus removed from the command line)
by
.B wine.
For example, if you want to execute
.B wine
with the options
.I --managed --config myapp.winerc
and if
.B wine
should run the program
.I myapp.exe
with the arguments
.I --config my.ini somefile
, then you could use the following command line to invoke
.B wine:
.PP
.I wine --managed --config myapp.winerc -- myapp.exe --config my.ini somefile
.PP
Note that in contrast to previous versions of
.B wine,
you must not pass
program name and program option in one argument to
.B wine.
To run more
that one windows program, just execute
.B wine
once with the name
of each program as argument.
.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 (usually
.I $HOME/.wine
). This directory contains also the socket, which is used to communicate with the
.I wineserver.
All
.B wine
processes, using the same
.B wineserver
share certain things like registry and shared memory. 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.
.SH CONFIGURATION FILE
.B wine
expects a configuration file (
.I @sysconfdir@/wine.conf
), which must conform to the format specified in the
.BR wine.conf (5)
man page. A sample configuration file is wine.ini in the base directory of the
.B wine
source archive. Alternatively a configuration file with the name
.I winerc
in the home directory of the user running
.B wine
can be used. The third option is to specify the name of the
configuration file with the
.B --config
option.
.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 BUGS
.PP
A status report on many appplications is available from
.I http://www.winehq.com/Apps.
Please add entries to this list for applications you currently run.
.PP
Bug reports and successes may be posted to
.I comp.emulators.ms-windows.wine.
If you want to post a bug report, please read the file
.I documentation/bugreports
in the
.B wine
source to see what information is necessary.
.PP
For problems and suggestions with this manpage, please send a note to
James Juran <jrj120@psu.edu>.
.SH AVAILABILITY
The most recent public version of
.B wine
can be obtained via FTP from metalab.unc.edu or tsx-11.mit.edu in the
/pub/linux/ALPHA/Wine/development directory. The releases are in the
format 'Wine-yyyymmdd.tar.gz', or 'Wine-yyyymmdd.diff.gz' for the diff's
from the previous release.
.PP
The latest snapshot of the code may be obtained via CVS. For information
on how to do this, please see
.I
http://www.winehq.com/dev.html
.PP
WineHQ, the
.B wine
development headquarters, is at
.I http://www.winehq.com/.
This website contains a great deal of information about
.B wine.
.PP
The
.B wine
newsgroup is
.I comp.emulators.ms-windows.wine.
It is used for discussion of various
.B wine end user aspects/help.
.PP
For further information about
.B wine development, you might want to
subscribe to the
.B wine
"cvs", "devel" and "patches" mailing lists at
.I http://www.winehq.com/dev.html#ml.
.SH FILES
.PD 0
.TP
.I @prefix@/bin/wine
The
.B wine
program loader.
.TP
.I @prefix@/bin/dosmod
The DOS program loader.
.TP
.I @prefix@/bin/wineserver
The
.B wine
server
.TP
.I @prefix@/bin/wineclpsrv
The
.B wine
clipboard server
.TP
.I @prefix@/lib/
Directory containing
.B wines's
shared libraries
.TP
.I @sysconfdir@/wine.conf
Global configuration file for
.B wine.
.TP
.I ~/.winerc
User-specific configuration file
.TP
.I ~/.wine
Directory containing user specific data managed by
.B wine.
.TP
.I @prefix@/lib/wine.sym
Global symbol table (used in debugger)
.SH "SEE ALSO"
.BR wine.conf (5),
.BR clone (2)