Added/fixed some documentation reported by winapi_check.
[wine] / documentation / wine.man.in
1 .\" -*- nroff -*-
2 .TH WINE 1 "July 16, 1999" "Version 990704" "Windows On Unix"
3 .SH NAME
4 wine \- run Windows programs on Unix
5 .SH SYNOPSIS
6 .BI "wine " "[wine_options] " "program1 " "[program2 ... ]"
7 .PP
8 For instructions on passing arguments to Windows programs, please see the 
9 .B
10 PROGRAM/ARGUMENTS
11 section of the man page.
12 .SH DESCRIPTION
13 .B wine
14 .I program
15 loads and runs the given program, where the program is a DOS, Windows 3.x,
16 or Win32 executable (x86 binaries only).
17 .PP
18 .B wine 
19 currently runs a growing list of applications written for Win3.1,
20 Win95, Win95, and Windows NT. Older, simpler applications work better than
21 newer, more complex ones.  A large percentage of the API has been implemented,
22 although there are still several major pieces of work left to do.
23 .SH REQUIREMENTS
24 .B wine
25 requires kernel-level threads to run. Currently, only Linux version 2.0
26 or later, FreeBSD-current or FreeBSD 3.0 or later, and Solaris x86
27 version 2.5 or later are supported. Other operating systems which support
28 kernel threads may be supported in the future.
29 .PP
30 Although Linux version 2.0 will mostly work, certain features (specifically
31 LDT sharing) required for properly supporting Win32 threads were not
32 implemented until kernel version 2.2. If you get consistent thread-related
33 crashes, you may want to upgrade to 2.2. Also, some bugs were fixed and
34 additional features were added late in the Linux 2.0.x series, so if you have
35 a very old Linux kernel, you may want to upgrade to at least the latest 2.0.x
36 release.
37 .PP
38 If you have FreeBSD, make sure you have the USER_LDT,
39 SYSVSHM, SYSVSEM, and SYSVMSG options turned on in your kernel. If you
40 are building Wine on Solaris, you will most likely need to build Wine
41 with the GNU toolchain (gcc, gas, etc.)
42 .PP
43 .B X
44 must be installed.  To use Wine's support for multithreaded applications,
45 your X libraries must be reentrant.  If you have libc6 (glibc2), or you 
46 compiled the X libraries yourself, they were probably compiled with the 
47 reentrant option enabled.  
48 .PP
49 .B libXpm
50 must be installed.  If you're using Red Hat, make sure the following
51 packages are installed: XFree86-devel, xpm, and xpm-devel. If you're
52 using Debian, the packages you need are xpm4g and xpm4g-dev. If you 
53 have some other distribution, please send a list of packages required
54 to the address listed in the 
55 .B
56 BUGS
57 section to get it included in this man page.
58 .PP
59 .B gcc
60 2.7.2 or later is required to build
61 .B wine.
62 Versions earlier than 2.7.2.3 may have problems when certain files are
63 compiled with optimization, often due to problems with header file
64 management.
65 .B
66 pgcc
67 currently doesn't work with wine.  The cause of this problem is unknown. 
68 .PP
69 .B flex
70 version 2.5 or later and 
71 .B yacc
72 are required.  Bison can be used in replace of yacc. If you have Redhat,
73 make sure the bison and flex packages are installed.
74 .SH INSTALLATION
75 To install 
76 .B Wine,
77 run "./configure" in the top-level directory of the source, which will 
78 detect your specific setup and create the Makefiles.  You can run 
79 "./configure --help" to see the available configuration options.  Then do 
80 "make depend && make" to build the
81 .B wine
82 executable, and then "make install" to install it. By default,
83 .B wine
84 is installed in the /usr/local/ hierarchy (current configuration has it in
85 the @prefix@ hierarchy); you can specify a different path with
86 the --prefix or --sysconfdir options when running
87 .B configure.
88 .PP
89 For more information, see the 
90 .I README
91 file contained in the source distribution.
92 .SH OPTIONS
93 .TP
94 .I -config filename
95 Use the named configuration file rather than the default
96 (@sysconfdir@/wine.conf or ~/.winerc).
97 .TP
98 .I -debug
99 Enter the debugger before starting application
100 .TP
101 .I -debugmsg [xxx]#name[,[xxx1]#name1][,<+|->relay=yyy1[:yyy2]]
102 Turn debugging messages on or off.  
103 .RS +7
104 .PP
105 xxx is optional and can be one of the following: 
106 .I err, 
107 .I warn, 
108 .I fixme, 
109 or 
110 .I trace. 
111 If xxx is not specified, all debugging messages for the specified
112 channel are turned on.  Each channel will print messages about a particular
113 component of Wine.  # is required and can be either + or -.  Note that 
114 there is not a space after the comma between names. yyy are either the
115 name of a whole DLL or a single API entry by Name you either
116 want to include or exclude from the relay listing. These names must be in
117 the case as names used in the relaylisting. You can do the same for snoop.
118 .PP
119 For instance:
120 .PP
121 .I -debugmsg warn+dll,+heap
122 will turn on DLL warning messages and all heap messages.  
123 .br
124 .I -debugmsg fixme-all,warn+cursor,+relay
125 will turn off all FIXME messages, turn on cursor warning messages, and turn
126 on all relay messages (API calls).
127 .br 
128 .I -debugmsg -relay=LeaveCriticalSection:EnterCriticalSection
129 will turn on all relay messages except for LeaveCriticalSection and
130 EnterCriticalSection.
131 .br 
132 .I -debugmsg +relay=ADVAPI32
133 will only turn on relay messages into the ADVAPI32 code.
134 .PP
135 The full list of names is: all, accel, advapi, animate, aspi, atom, 
136 bitblt, bitmap, caret, cd, cdaudio, class, clipboard, clipping, combo, 
137 comboex, comm, commctrl, commdlg, console, crtdll, cursor, datetime, dc, 
138 dde, ddeml, ddraw, debug, dialog, dinput, dll, dosfs, dosmem, dplay, driver, 
139 dsound, edit, event, exec, file, fixup, font, gdi, global, graphics, header, 
140 heap, hook, hotkey, icon, imagehlp, imagelist, imm, int, int10, int16, int17, 
141 int19, int21, int31, io, ipaddress, key, keyboard, ldt, listbox, listview, 
142 local, mci, mcianim, mciwave, mdi, menu, message, metafile, midi, mmaux, mmio, 
143 mmsys, mmtime, module, monthcal, mpr, msacm, msg, nativefont, nonclient, ntdll, 
144 ole, pager, palette, pidl, print, process, profile, progress, prop, psapi, 
145 psdrv, rebar, reg, region, relay, resource, s, scroll, security, segment, 
146 selector, sem, sendmsg, server, shell, shm, snoop, sound, static, statusbar, 
147 stress, string, syscolor, system, tab, task, text, thread, thunk, timer, 
148 toolbar, toolhelp, tooltips, trackbar, treeview, tweak, uitools, updown, ver, 
149 virtual, vxd, win, win16drv, win32, wing, winsock, wnet, x11, x11drv.
150 .PP
151 For more information on debugging messages, see the file 
152 .I documentation/debug-msgs
153 in the source distribution.
154 .RE
155 .TP
156 .I -desktop geom
157 Use a desktop window of the given geometry, e.g. "640x480"
158 .TP
159 .I -display name
160 Use the specified X display
161 .TP
162 .I -dll name[,name[,...]]={native|elfdll|so|builtin}[,{n|e|s|b}[,...]][:...]
163 Selects the override type and load order of dll used in the loading process
164 for any dll. The default is set in @sysconfdir@/wine.conf or ~/.winerc. There
165 are currently four types of libraries that can be loaded into a process' address
166 space: Native windows dlls (
167 .I native
168 ), ELF encapsulated windows dlls (
169 .I elfdll
170 ), native ELF libraries (
171 .I so
172 )and wine internal dlls (
173 .I builtin
174 ). The type may be abbreviated with the first letter of the type (
175 .I n, e, s, b
176 ). Each sequence of orders must be separated by commas.
177 .br
178 Each dll may have its own specific load order. The load order determines
179 which verion of the dll is attempted to be loaded into the address space. If
180 the first fails, then the next is tried and so on. Different load orders can
181 be specified by separating the entries with a colon. Multiple libraries
182 with the same load order can be separated with commas.
183 .br
184 Examples:
185 .br
186 .I -dll comdlg32,commdlg=n,b
187 .br
188 Try to load comdlg32 and commdlg as native windows dll first and try
189 the builtin version if the native load fails.
190 .br
191 .I -dll comdlg32,commdlg=e,n:shell,shell32=b:comctl32,commctrl=n
192 .br
193 Try to load comdlg32 and commdlg as elfdll first and try the native version
194 if the elfdll load fails; load shell32/shell always as builtin and
195 comctl32/commctrl always as native.
196 .br
197 Note: It is wise to keep dll pairs (comdlg32/commdlg, shell/shell32, etc.)
198 having exactly the same load order. This will prevent mismatches at runtime.
199 See also configuration file format below.
200 .TP
201 .I -failreadonly
202 Read only files may not be opened in write mode (the default is to
203 allow opening read-only files for writing, because most Windows
204 programs always request read-write access, even on CD-ROM drives...).
205 .TP
206 .I -language xx
207 Set the language to
208 .I xx
209 (one of Br, Ca, Cs, Cy, Da, De, En, Eo, Es, Fi, Fr, Ga, Gd, Gv, Hu,
210 It, Ko, Kw, No, Pl, Pt, Ru, Sk, Sv, Wa)
211 .TP
212 .I -managed
213 Create each top-level window as a properly managed X window instead of
214 creating our own "sticky" window.
215 .TP
216 .I -synchronous
217 Turn on synchronous display mode. Useful for debugging X11 graphics problems.
218 .TP
219 .I -winver version
220 Specify which Windows version WINE should imitate.
221 Possible arguments are: win31, win95, nt351, and nt40.
222 .PD 1
223 .SH PROGRAM/ARGUMENTS
224 The program name may be specified in DOS format (
225 .I
226 C:\\WINDOWS\\SOL.EXE)
227 or in Unix format (
228 .I /msdos/windows/sol.exe
229 ).  The program being executed may be passed arguments by adding them on 
230 to the end of the command line invoking
231 .B wine
232 (such as: wine "notepad C:\\TEMP\\README.TXT").  Note that
233 the program name and its arguments 
234 .I must
235 be passed as a single parameter, which is usually accomplished by placing
236 them together in quotation marks.  Multiple applications may be started
237 by placing all of them on the command line (such as: wine notepad clock).
238 .SH ENVIRONMENT VARIABLES
239 .B wine
240 makes the environment variables of the shell from which
241 .B wine
242 is started accessible to the windows/dos processes started. So use the
243 appropriate syntax for your shell to enter environment variables you need.
244 .SH CONFIGURATION FILE
245 .B wine
246 expects a configuration file (
247 .I @sysconfdir@/wine.conf
248 ), which must conform to the format specified in the
249 .BR wine.conf (5)
250 man page. A sample configuration file is wine.ini in the home directory of the Wine
251 source archive.
252 .SH AUTHORS
253 .B Wine
254 is available thanks to the work of many developers. For a listing
255 of the authors, please see the file 
256 .B AUTHORS
257 in the top-level directory of the source distribution.
258 .SH BUGS
259 .PP
260 A status report on many appplications is available from
261 .I http://www.winehq.com/Apps.
262 Please add entries to this list for applications you currently run.
263 .PP
264 Bug reports and successes may be posted to 
265 .I comp.emulators.ms-windows.wine.
266 If you want to post a bug report, please read the file
267 .I documentation/bugreports
268 in the Wine source to see what information is necessary.
269 .PP
270 For problems and suggestions with this manpage, please send a note to
271 James Juran <jrj120@psu.edu>.
272 .SH AVAILABILITY
273 The most recent public version of 
274 .B wine
275 can be obtained via FTP from metalab.unc.edu or tsx-11.mit.edu in the 
276 /pub/linux/ALPHA/Wine/development directory.  The releases are in the 
277 format 'Wine-yymmdd.tar.gz', or 'Wine-yymmdd.diff.gz' for the diff's 
278 from the previous release.
279 .PP
280 The latest snapshot of the code may be obtained via CVS.  For information
281 on how to do this, please see
282 .I
283 http://www.winehq.com/dev.html
284 .PP
285 WineHQ, the
286 .B wine
287 development headquarters, is at
288 .I http://www.winehq.com/.
289 This website contains a great deal of information about
290 .B wine.
291 .PP
292 The
293 .B wine 
294 newsgroup is 
295 .I comp.emulators.ms-windows.wine.
296 It is used for discussion of various Wine end user aspects/help.
297 .PP
298 For further information about Wine development, you might want to
299 subscribe to the wine "cvs", "devel" and "patches" mailing lists at
300 .I http://www.winehq.com/dev.html#ml.
301 .SH FILES
302 .PD 0
303 .TP
304 .I @prefix@/bin/wine
305 The Wine program loader.
306 .TP
307 .I @prefix@/bin/dosmod
308 The DOS program loader.
309 .TP
310 .I @sysconfdir@/wine.conf
311 Global configuration file for wine.
312 .TP
313 .I ~/.winerc
314 User-specific configuration file
315 .TP
316 .I @prefix@/lib/wine.sym
317 Global symbol table (used in debugger)
318 .SH "SEE ALSO"
319 .BR wine.conf (5),
320 .BR clone (2)