Do not allocate any USER data on the system heap.
[wine/multimedia.git] / documentation / wine.man.in
blob8854700ad0f47f73f8c7ce8d22de2b9b399e7d32
1 .\" -*- nroff -*-
2 .TH WINE 1 "Feb 13, 2001" "Version 20010112" "Windows On Unix"
3 .SH NAME
4 wine \- run Windows programs on Unix
5 .SH SYNOPSIS
6 .BI "wine " "[wine_options] " "[--] " "program " "[arguments ... ]"
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 For debugging wine, use
19 .B winedbg
20 .I program
21 instead.
22 .PP
23 .B wine 
24 currently runs a growing list of applications written for all kinds of
25 Windows versions >= Win2.0, e.g. Win3.1, Win95/98, NT.
26 Older, simpler applications work better than newer, more complex ones.
27 Using Windows ME or Win2000 components with Wine is more problematic than
28 using none at all or the ones from older Windows versions.
29 A large percentage of the API has been implemented,
30 although there are still several major pieces of work left to do.
31 .SH REQUIREMENTS AND INSTALLATION
32 Read the README file in the Wine source distribution to know what Wine
33 requires and how it is installed from source.
34 .SH OPTIONS
35 .TP
36 .I --debugmsg [xxx]#name[,[xxx1]#name1][,<+|->relay=yyy1[:yyy2]]
37 Turn debugging messages on or off.  
38 .RS +7
39 .PP
40 xxx is optional and can be one of the following: 
41 .I err, 
42 .I warn, 
43 .I fixme, 
44 or 
45 .I trace. 
46 If xxx is not specified, all debugging messages for the specified
47 channel are turned on.  Each channel will print messages about a particular
48 component of 
49 .B wine.  
50 # is required and can be either + or -.  Note that 
51 there is not a space after the comma between names. yyy are either the
52 name of a whole DLL or a single API entry by name you either
53 want to include or exclude from the relay listing.  Case doesn't matter
54 for these.  You can do the same for snoop.
55 .PP
56 For instance:
57 .PP
58 .I --debugmsg warn+all
59 will turn on all warning messages (recommended for debugging)
60 .br
61 .I --debugmsg warn+dll,+heap
62 will turn on DLL warning messages and all heap messages.  
63 .br
64 .I --debugmsg fixme-all,warn+cursor,+relay
65 will turn off all FIXME messages, turn on cursor warning messages, and turn
66 on all relay messages (API calls).
67 .br 
68 .I --debugmsg -relay=rtlleavecriticalsection:RtlEnterCriticalSection
69 will turn on all relay messages except for RtlLeaveCriticalSection and
70 RtlEnterCriticalSection.
71 .br 
72 .I --debugmsg +relay=advapi32
73 will only turn on relay messages into the ADVAPI32 code.
74 .PP
75 The full list of names is:
76 all, accel, advapi, animate, aspi, atom, avifile, bitblt, bitmap, caret,
77 cdrom, class, clipboard, clipping, combo, comboex, comm, commctrl, commdlg,
78 console, crtdll, cursor, datetime, dc, ddeml, ddraw, debug, debugstr,
79 delayhlp, dialog, dinput, dll, dosfs, dosmem, dplay, driver, dsound, edit,
80 elfdll, enhmetafile, event, exec, file, fixup, font, gdi, global, graphics,
81 header, heap, hook, hotkey, icmp, icon, imagehlp, imagelist, imm, int, int10,
82 int16, int17, int19, int21, int31, io, ipaddress, joystick, key, keyboard,
83 ldt, listbox, listview, local, mci, mcianim, mciavi, mcicda, mcimidi,
84 mciwave, mdi, menu, message, metafile, midi, mmaux, mmio, mmsys, mmtime,
85 module, monthcal, mpr, msacm, msg, msvideo, nativefont, nonclient, ntdll,
86 odbc, ole, pager, palette, pidl, print, process, profile, progress, prop,
87 propsheet, psapi, psdrv, ras, rebar, reg, region, relay, resource, scroll,
88 segment, seh, selector, sendmsg, server, setupx, shell, snoop, sound,
89 static, statusbar, storage, stress, string, syscolor, system, tab, tape,
90 tapi, task, text, thread, thunk, timer, toolbar, toolhelp, tooltips,
91 trackbar, treeview, ttydrv, tweak, typelib, updown, ver, virtual, vxd, wave,
92 win, win16drv, win32, winedbg, wing, winsock, winspool, wnet, x11 and x11drv.
94 .PP
95 For more information on debugging messages, see the file 
96 .I documentation/debug-msgs
97 in the source distribution (FIXME: outdated).
98 .RE
99 .TP
100 .I --desktop geom
101 Use a desktop window of the given geometry, e.g. "640x480"
103 .I --display name
104 Use the specified X display
106 .I --dll name[,name[,...]]={native|so|builtin}[,{n|s|b}[,...]][+...]
107 Selects the override type and load order of dll used in the loading
108 process for any dll. The default is set in the configuration
109 file. There are currently three types of libraries that can be loaded
110 into a process' address space: Native windows dlls (
111 .I native
112 ), native ELF libraries (
113 .I so
114 )and 
115 .B wine 
116 internal dlls (
117 .I builtin
118 ). The type may be abbreviated with the first letter of the type (
119 .I n, s, b
120 ). Each sequence of orders must be separated by commas.
122 Each dll may have its own specific load order. The load order determines
123 which version of the dll is attempted to be loaded into the address space. If
124 the first fails, then the next is tried and so on. Different load orders can
125 be specified by separating the entries with a plus sign. Multiple libraries
126 with the same load order can be separated with commas. It is also possible to 
127 use the --dll option several times, to specify different loadorders for different
128 libraries
130 Examples:
132 .I --dll comdlg32,commdlg=n,b
134 Try to load comdlg32 and commdlg as native windows dll first and try
135 the builtin version if the native load fails.
137 .I --dll shell,shell32=n --dll c:\(rs\(rsfoo\(rs\(rsbar\(rs\(rsbaz=b
139 Try to load the libraries shell and shell32 as native windows dlls. Furthermore, if 
140 an application request to load c:\(rsfoo\(rsbar\(rsbaz.dll load the builtin library baz. 
142 .I --dll comdlg32,commdlg=b,n:shell,shell32=b+comctl32,commctrl=n
144 Try to load comdlg32 and commdlg as builtin first and try the native version
145 if the builtin load fails; load shell32/shell always as builtin and
146 comctl32/commctrl always as native.
148 Note: It is wise to keep dll pairs (comdlg32/commdlg, shell/shell32, etc.)
149 having exactly the same load order. This will prevent mismatches at runtime.
150 See also configuration file format below.
152 .I --dosver version
153 Specify the DOS version 
154 .B wine 
155 should imitate (e.g. 6.22) This option
156 is only valid when used in conjunction with --winver win31.
158 .I --language xx
159 Set the language to
160 .I xx
161 (one of Br, Ca, Cs, Cy, Da, De, En, Eo, Es, Fi, Fr, Ga, Gd, Gv, Hr,
162 Hu, It, Ko, Kw, No, Pl, Pt, Ru, Sk, Sv, Wa)
164 .I --managed
165 Create each top-level window as a properly managed X window instead of
166 creating our own "sticky" window.
168 .I --synchronous
169 Turn on synchronous display mode. Useful for debugging X11 graphics problems.
171 .I --winver version
172 Specify which Windows version 
173 .B wine 
174 should imitate.
175 Possible arguments are: win95, nt40, win31, win2000, win98, nt351, win30
176 and win20.
177 .PD 1
178 .SH PROGRAM/ARGUMENTS
179 The program name may be specified in DOS format (
181 C:\(rs\(rsWINDOWS\(rs\(rsSOL.EXE)
182 or in Unix format (
183 .I /msdos/windows/sol.exe
184 ).  You may pass arguments to the program being executed by adding them 
185 to the end of the command line invoking
186 .B wine
187 (such as: wine notepad C:\(rs\(rsTEMP\(rs\(rsREADME.TXT). Command line processing goes as
188 follows: first 
189 .B wine
190 checks whether one or more of the above mentioned 
191 .B wine 
192 options have been specified. These
193 are removed from the command line, which is passed to the windows program. You can use
194 the parameter 
195 .I -- 
196 to indicate that 
197 .B wine 
198 should stop command line processing. This is needed in case a windows program understands 
199 an option that is usually interpreted (and thus removed from the command line) 
200 by 
201 .B wine. 
202 For example, if you want to execute 
203 .B wine 
204 with the options 
205 .I --managed --display :0.2
206 and if 
207 .B wine 
208 should run the program 
209 .I myapp.exe
210 with the arguments
211 .I --display 3d somefile
212 , then you could use the following command line to invoke 
213 .B wine:
215 .I wine --managed --display :0.2 -- myapp.exe --display 3d somefile
216 .PP 
217 Note that in contrast to previous versions of 
218 .B wine, 
219 you must not pass 
220 program name and program option in one argument to 
221 .B wine. 
222 To run more
223 than one windows program, just execute 
224 .B wine 
225 once with the name of each program as argument. 
226 .SH ENVIRONMENT VARIABLES
227 .B wine
228 makes the environment variables of the shell from which
229 .B wine
230 is started accessible to the windows/dos processes started. So use the
231 appropriate syntax for your shell to enter environment variables you need.
232 .TP 
233 .I WINEPREFIX
234 If set, the content of this variable is taken as the name of the directory where
235 .B wine
236 stores its data (the default is 
237 .I $HOME/.wine
238 ). This directory contains also the socket, which is used to communicate with the
239 .I wineserver.
240 All 
241 .B wine
242 processes using the same 
243 .B wineserver
244 (i.e.: same user) share certain things like registry and shared memory.
245 By setting 
246 .I WINEPREFIX
247 to different values for different 
248 .B wine
249 processes, it is possible to run a number of truly independent 
250 .B wine
251 processes. 
253 .I WINESERVER
254 Specifies the path and name of the
255 .B wineserver
256 binary. If not set, a file named "wineserver" is searched in the
257 path and in a few other likely locations.
259 .I WINELOADER
260 Specifies the path and name of the
261 .B wine
262 binary to use to launch new Windows processes. If not set, a binary
263 named "wine" is searched in the path and in a few other likely
264 locations.
266 .I WINEDLLPATH
267 Specifies the path(s) in which to search for builtin dll files. This
268 is a list of directories separated by ":". Builtin dlls are also
269 searched in the directories specified by the standard
270 .I LD_LIBRARY_PATH
271 if they are not found in the directories listed in
272 .I WINEDLLPATH.
274 .SH CONFIGURATION FILE
275 .B wine
276 expects a configuration file (
277 .I @sysconfdir@/wine.conf
278 ), which must conform to the format specified in the
279 .BR wine.conf (5)
280 man page. A sample configuration file is documentation/samples/config in the 
281 .B wine 
282 source archive. Alternatively a configuration file with the name
283 .I config
284 in the ~/.wine directory of the user running 
285 .B wine 
286 can be used.
287 .SH AUTHORS
288 .B wine
289 is available thanks to the work of many developers. For a listing
290 of the authors, please see the file 
291 .B AUTHORS
292 in the top-level directory of the source distribution.
293 .SH COPYRIGHT
294 .B wine
295 can be distributed under the terms of the X11 license. A copy of the
296 license is in the file
297 .B LICENSE
298 in the top-level directory of the source distribution.
299 .SH BUGS
301 A status report on many applications is available from
302 .I http://www.winehq.com/Apps.
303 Please add entries to this list for applications you currently run.
305 Bug reports and successes may be posted to 
306 .I comp.emulators.ms-windows.wine.
307 If you want to post a bug report, please read the file
308 .I documentation/bugreports
309 in the 
310 .B wine 
311 source to see what information is necessary (FIXME: outdated).
313 For problems and suggestions with this manpage, please send a note to
314 James Juran <jrj120@psu.edu>.
315 .SH AVAILABILITY
316 The most recent public version of 
317 .B wine
318 can be obtained via FTP from ibiblio.org in the
319 /pub/Linux/ALPHA/Wine/development directory.  The releases are in the
320 format 'Wine-yyyymmdd.tar.gz', or 'Wine-yyyymmdd.diff.gz' for the
321 diff's from the previous release. The same directory holds the
322 pre-built contents of the documentation in various formats
323 (wine-doc.xxx.gz).
325 The latest snapshot of the code may be obtained via CVS.  For information
326 on how to do this, please see
328 http://www.winehq.com/dev.html
330 WineHQ, the
331 .B wine
332 development headquarters, is at
333 .I http://www.winehq.com/.
334 This website contains a great deal of information about
335 .B wine.
338 .B wine 
339 newsgroup is 
340 .I comp.emulators.ms-windows.wine.
341 It is used for discussion of various 
342 .B wine end user aspects/help.
344 For further information about 
345 .B wine
346 development, you might want to subscribe to the 
347 .B wine 
348 "cvs", "devel" and "patches" mailing lists at
349 .I http://www.winehq.com/dev.html#ml.
350 .SH FILES
351 .PD 0
353 .I @prefix@/bin/wine
354 The 
355 .B wine 
356 program loader.
358 .I @prefix@/bin/dosmod
359 The DOS program loader.
361 .I @prefix@/bin/wineserver
362 The 
363 .B wine 
364 server 
365 .TP 
366 .I @prefix@/bin/winedbg
367 The 
368 .B wine 
369 debugger
370 .TP 
371 .I @prefix@/bin/wineclpsrv
372 The 
373 .B wine 
374 clipboard server
375 .TP 
376 .I @prefix@/lib/
377 Directory containing 
378 .B wine's
379 shared libraries 
381 .I @sysconfdir@/wine.conf
382 Global configuration file for 
383 .B wine.
385 .I ~/.wine/config
386 User-specific configuration file
387 .TP 
388 .I ~/.wine
389 Directory containing user specific data managed by 
390 .B wine. 
392 .SH "SEE ALSO"
393 .BR wine.conf (5)