Purge traces of the old relay debug mechanism and document new
[wine/multimedia.git] / documentation / wine.man.in
blob9da35386d741c596c5d429df20c55ec29ea4c596
1 .\" -*- nroff -*-
2 .TH WINE 1 "May 2002" "@PACKAGE_STRING@" "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 For running CUI executables (Windows console programs), use
24 .B wineconsole
25 instead of
26 .B wine
27 . This will display all the output in a separate windows (this requires X11 to
28 run). Not using
29 .B wineconsole
30 for CUI programs will only provide very limited console support, and your
31 program might not function properly.
32 .PP
33 .B wine 
34 currently runs a growing list of applications written for all kinds of
35 Windows versions >= Win2.0, e.g. Win3.1, Win95/98, NT.
36 Older, simpler applications work better than newer, more complex ones.
37 Using Windows ME or Win2000 components with Wine is more problematic than
38 using none at all or the ones from older Windows versions.
39 A large percentage of the API has been implemented,
40 although there are still several major pieces of work left to do.
41 .SH REQUIREMENTS AND INSTALLATION
42 Read the README file in the Wine source distribution and the wine.conf
43 man page to know what Wine requires and how it is installed from source.
44 .SH OPTIONS
45 .TP
46 .I --debugmsg [xxx]#name[,[xxx1]#name1]
47 Turn debugging messages on or off.  
48 .RS +7
49 .PP
50 xxx is optional and can be one of the following: 
51 .I err, 
52 .I warn, 
53 .I fixme, 
54 or 
55 .I trace. 
56 If xxx is not specified, all debugging messages for the specified
57 channel are turned on.  Each channel will print messages about a particular
58 component of 
59 .B wine.  
60 # is required and can be either + or -.  Note that 
61 there is not a space after the comma between names. yyy are either the
62 name of a whole DLL or a single API entry by name you either
63 want to include or exclude from the relay listing.  Case doesn't matter
64 for these.  You can do the same for snoop.
65 .PP
66 For instance:
67 .PP
68 .I --debugmsg warn+all
69 will turn on all warning messages (recommended for debugging)
70 .br
71 .I --debugmsg warn+dll,+heap
72 will turn on DLL warning messages and all heap messages.  
73 .br
74 .I --debugmsg fixme-all,warn+cursor,+relay
75 will turn off all FIXME messages, turn on cursor warning messages, and turn
76 on all relay messages (API calls).
77 .br 
78 .I --debugmsg -relay
79 will turn on all relay messages. For more control on including or excluding
80 functions and dlls look into the [Debug] section of the wine configuration file.
81 .PP
82 The full list of names is:
83 all, accel, advapi, animate, aspi, atom, avifile, bitblt, bitmap, caret,
84 cdrom, class, clipboard, clipping, combo, comboex, comm, commctrl, commdlg,
85 console, crtdll, cursor, datetime, dc, ddeml, ddraw, debug, debugstr,
86 delayhlp, dialog, dinput, dll, dosfs, dosmem, dplay, driver, dsound, edit,
87 elfdll, enhmetafile, event, exec, file, fixup, font, gdi, global, graphics,
88 header, heap, hook, hotkey, icmp, icon, imagehlp, imagelist, imm, int, int10,
89 int16, int17, int19, int21, int31, io, ipaddress, joystick, key, keyboard,
90 loaddll, ldt, listbox, listview, local, mci, mcianim, mciavi, mcicda, mcimidi,
91 mciwave, mdi, menu, message, metafile, midi, mmaux, mmio, mmsys, mmtime,
92 module, monthcal, mpr, msacm, msg, msvideo, nativefont, nonclient, ntdll,
93 odbc, ole, opengl, pager, palette, pidl, print, process, profile, progress, 
94 prop, propsheet, psapi, psdrv, ras, rebar, reg, region, relay, resource, 
95 richedit, scroll, segment, seh, selector, sendmsg, server, setupapi, 
96 setupx, shell, snoop, sound, static, statusbar, storage, stress, string, 
97 syscolor, system, tab, tape, tapi, task, text, thread, thunk, timer, toolbar,
98 toolhelp, tooltips, trackbar, treeview, ttydrv, tweak, typelib, updown, ver,
99 virtual, vxd, wave, win, win16drv, win32, winedbg, wing, wininet, winsock,
100 winspool, wnet, x11 and x11drv.
103 For more information on debugging messages, see the file 
104 .I documentation/running.sgml
105 in the source distribution (FIXME: outdated).
108 .I --dll name[,name[,...]]={native|so|builtin}[,{n|s|b}[,...]]
109 Selects the override type and load order of dll used in the loading
110 process for any dll. The default is set in the configuration
111 file. There are currently three types of libraries that can be loaded
112 into a process' address space: Native windows dlls (
113 .I native
114 ), native ELF libraries (
115 .I so
116 )and 
117 .B wine 
118 internal dlls (
119 .I builtin
120 ). The type may be abbreviated with the first letter of the type (
121 .I n, s, b
122 ). Each sequence of orders must be separated by commas.
124 Each dll may have its own specific load order. The load order
125 determines which version of the dll is attempted to be loaded into the
126 address space. If the first fails, then the next is tried and so
127 on. Multiple libraries with the same load order can be separated with
128 commas. It is also possible to use the --dll option several times, to
129 specify different loadorders for different libraries
131 Examples:
133 .I --dll comdlg32,commdlg=n,b
135 Try to load comdlg32 and commdlg as native windows dll first and try
136 the builtin version if the native load fails.
138 .I --dll shell,shell32=n --dll c:\(rs\(rsfoo\(rs\(rsbar\(rs\(rsbaz=b
140 Try to load the libraries shell and shell32 as native windows dlls. Furthermore, if 
141 an application request to load c:\(rsfoo\(rsbar\(rsbaz.dll load the builtin library baz. 
143 .I --dll comdlg32,commdlg=b,n --dll shell,shell32=b --dll comctl32,commctrl=n
145 Try to load comdlg32 and commdlg as builtin first and try the native version
146 if the builtin load fails; load shell32/shell always as builtin and
147 comctl32/commctrl always as native.
149 Note: It is wise to keep dll pairs (comdlg32/commdlg, shell/shell32, etc.)
150 having exactly the same load order. This will prevent mismatches at runtime.
151 See also configuration file format below.
152 .PD 1
153 .SH PROGRAM/ARGUMENTS
154 The program name may be specified in DOS format (
156 C:\(rs\(rsWINDOWS\(rs\(rsSOL.EXE)
157 or in Unix format (
158 .I /msdos/windows/sol.exe
159 ).  You may pass arguments to the program being executed by adding them 
160 to the end of the command line invoking
161 .B wine
162 (such as: wine notepad C:\(rs\(rsTEMP\(rs\(rsREADME.TXT).
163 Note that you need to '\(rs' escape special characters (and spaces) when invoking Wine via
164 a shell, e.g.
166 wine C:\(rs\(rsProgram\(rs Files\(rs\(rsMyPrg\(rs\(rstest.exe
168 Command line processing goes as
169 follows: first 
170 .B wine
171 checks whether one or more of the above mentioned 
172 .B wine 
173 options have been specified. These
174 are removed from the command line, which is passed to the windows program. You can use
175 the parameter 
176 .I -- 
177 to indicate that 
178 .B wine 
179 should stop command line processing. This is needed in case a windows program understands 
180 an option that is usually interpreted (and thus removed from the command line) 
181 by 
182 .B wine. 
183 For example, if you want to execute 
184 .B wine 
185 with the options 
186 .I --dll riched32=n
187 and if 
188 .B wine 
189 should run the program 
190 .I myapp.exe
191 with the arguments
192 .I --display 3d somefile
193 , then you could use the following command line to invoke 
194 .B wine:
196 .I wine --dll riched32=n -- myapp.exe --display 3d somefile
197 .PP 
198 Note that in contrast to previous versions of 
199 .B wine, 
200 you must not pass 
201 program name and program option in one argument to 
202 .B wine. 
203 To run more
204 than one windows program, just execute 
205 .B wine 
206 once with the name of each program as argument. 
207 .SH ENVIRONMENT VARIABLES
208 .B wine
209 makes the environment variables of the shell from which
210 .B wine
211 is started accessible to the windows/dos processes started. So use the
212 appropriate syntax for your shell to enter environment variables you need.
213 .TP 
214 .I WINEPREFIX
215 If set, the content of this variable is taken as the name of the directory where
216 .B wine
217 stores its data (the default is 
218 .I $HOME/.wine
219 ). This directory contains also the socket, which is used to communicate with the
220 .I wineserver.
221 All 
222 .B wine
223 processes using the same 
224 .B wineserver
225 (i.e.: same user) share certain things like registry, shared memory,
226 and config file.
227 By setting 
228 .I WINEPREFIX
229 to different values for different 
230 .B wine
231 processes, it is possible to run a number of truly independent 
232 .B wine
233 processes. 
235 .I WINESERVER
236 Specifies the path and name of the
237 .B wineserver
238 binary. If not set, Wine will try to load
239 .B @bindir@/wineserver,
240 and if this doesn't exist it will then look for a file named
241 "wineserver" in the path and in a few other likely locations.
243 .I WINELOADER
244 Specifies the path and name of the
245 .B wine
246 binary to use to launch new Windows processes. If not set, Wine will
247 try to load
248 .B @bindir@/wine,
249 and if this doesn't exist it will then look for a file named "wine" in
250 the path and in a few other likely locations.
252 .I WINEDLLPATH
253 Specifies the path(s) in which to search for builtin dlls and Winelib
254 applications. This is a list of directories separated by ":". In
255 addition to any directory specified in
256 .I WINEDLLPATH,
257 Wine will also look in
258 .B @dlldir@.
260 .I DISPLAY
261 Specifies the X11 display to use.
262 .SH CONFIGURATION FILE
263 .B wine
264 expects a configuration file (
265 .I $WINEPREFIX/config
266 (~/.wine/config)
267 ), which must conform to the format specified in the
268 .BR wine.conf (5)
269 man page. A sample configuration file is documentation/samples/config in the 
270 .B wine 
271 source archive.
272 .SH AUTHORS
273 .B wine
274 is available thanks to the work of many developers. For a listing
275 of the authors, please see the file 
276 .B AUTHORS
277 in the top-level directory of the source distribution.
278 .SH COPYRIGHT
279 .B wine
280 can be distributed under the terms of the LGPL license. A copy of the
281 license is in the file
282 .B LICENSE
283 in the top-level directory of the source distribution.
284 .SH BUGS
286 A status report on many applications is available from
287 .I http://www.winehq.com/Apps.
288 Please add entries to this list for applications you currently run.
290 Bug reports may be posted to Wine Bugzilla
291 .I http://bugs.winehq.com
292 If you want to post a bug report, please read the file
293 .I documentation/bugs.sgml
294 in the 
295 .B wine 
296 source to see what information is necessary
298 Problems and suggestions with this manpage please also report to
299 .I http://bugs.winehq.com
300 .SH AVAILABILITY
301 The most recent public version of 
302 .B wine
303 can be obtained via FTP from ibiblio.org in the
304 /pub/Linux/ALPHA/Wine/development directory.  The releases are in the
305 format 'Wine-yyyymmdd.tar.gz', or 'Wine-yyyymmdd.diff.gz' for the
306 diff's from the previous release. The same directory holds the
307 pre-built contents of the documentation in various formats
308 (wine-doc.xxx.gz).
310 The latest snapshot of the code may be obtained via CVS.  For information
311 on how to do this, please see
313 http://www.winehq.com/development/
315 WineHQ, the
316 .B wine
317 development headquarters, is at
318 .I http://www.winehq.com/.
319 This website contains a great deal of information about
320 .B wine.
323 .B wine 
324 newsgroup is 
325 .I comp.emulators.ms-windows.wine.
326 It is used for discussion of various 
327 .B wine end user aspects/help.
329 For further information about 
330 .B wine
331 development, you might want to subscribe to the 
332 .B wine 
333 mailing lists at
334 .I http://www.winehq.com/development/#ml
335 .SH FILES
336 .PD 0
338 .I @bindir@/wine
339 The 
340 .B wine 
341 program loader.
343 .I @bindir@/wineconsole
344 The 
345 .B wine 
346 program loader for CUI (console) applications.
348 .I @bindir@/wineserver
349 The 
350 .B wine 
351 server 
352 .TP 
353 .I @bindir@/winedbg
354 The 
355 .B wine 
356 debugger
357 .TP 
358 .I @bindir@/wineclipsrv
359 The 
360 .B wine 
361 clipboard server
362 .TP 
363 .I @dlldir@
364 Directory containing 
365 .B wine's
366 shared libraries 
368 .I ~/.wine/config
369 User-specific configuration file
370 .TP 
371 .I ~/.wine
372 Directory containing user specific data managed by 
373 .B wine. 
375 .SH "SEE ALSO"
376 .BR wine.conf (5)