Direct bug reports to Wine bugzilla. Some other minor documentation
[wine/multimedia.git] / documentation / wine.man.in
blobab1bde7fc7a6428d01bd8e0e375607fd1c9762e4
1 .\" -*- nroff -*-
2 .TH WINE 1 "Oct 13, 2001" "Version 20011004" "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 to know what Wine
43 requires and how it is installed from source.
44 .SH OPTIONS
45 .TP
46 .I --debugmsg [xxx]#name[,[xxx1]#name1][,<+|->relay=yyy1[:yyy2]]
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=rtlleavecriticalsection:RtlEnterCriticalSection
79 will turn on all relay messages except for RtlLeaveCriticalSection and
80 RtlEnterCriticalSection.
81 .br 
82 .I --debugmsg +relay=advapi32
83 will only turn on relay messages into the ADVAPI32 code.
84 Never ever use simply --debugmsg +all ! Way too much info, and it crashes
85 way too easily, thus confusing unexperienced users.
86 .PP
87 The full list of names is:
88 all, accel, advapi, animate, aspi, atom, avifile, bitblt, bitmap, caret,
89 cdrom, class, clipboard, clipping, combo, comboex, comm, commctrl, commdlg,
90 console, crtdll, cursor, datetime, dc, ddeml, ddraw, debug, debugstr,
91 delayhlp, dialog, dinput, dll, dosfs, dosmem, dplay, driver, dsound, edit,
92 elfdll, enhmetafile, event, exec, file, fixup, font, gdi, global, graphics,
93 header, heap, hook, hotkey, icmp, icon, imagehlp, imagelist, imm, int, int10,
94 int16, int17, int19, int21, int31, io, ipaddress, joystick, key, keyboard,
95 loaddll, ldt, listbox, listview, local, mci, mcianim, mciavi, mcicda, mcimidi,
96 mciwave, mdi, menu, message, metafile, midi, mmaux, mmio, mmsys, mmtime,
97 module, monthcal, mpr, msacm, msg, msvideo, nativefont, nonclient, ntdll,
98 odbc, ole, opengl, pager, palette, pidl, print, process, profile, progress, 
99 prop, propsheet, psapi, psdrv, ras, rebar, reg, region, relay, resource, 
100 richedit, scroll, segment, seh, selector, sendmsg, server, setupapi, 
101 setupx, shell, snoop, sound, static, statusbar, storage, stress, string, 
102 syscolor, system, tab, tape, tapi, task, text, thread, thunk, timer, toolbar,
103 toolhelp, tooltips, trackbar, treeview, ttydrv, tweak, typelib, updown, ver,
104 virtual, vxd, wave, win, win16drv, win32, winedbg, wing, wininet, winsock,
105 winspool, wnet, x11 and x11drv.
108 For more information on debugging messages, see the file 
109 .I documentation/running.sgml
110 in the source distribution (FIXME: outdated).
113 .I --dll name[,name[,...]]={native|so|builtin}[,{n|s|b}[,...]]
114 Selects the override type and load order of dll used in the loading
115 process for any dll. The default is set in the configuration
116 file. There are currently three types of libraries that can be loaded
117 into a process' address space: Native windows dlls (
118 .I native
119 ), native ELF libraries (
120 .I so
121 )and 
122 .B wine 
123 internal dlls (
124 .I builtin
125 ). The type may be abbreviated with the first letter of the type (
126 .I n, s, b
127 ). Each sequence of orders must be separated by commas.
129 Each dll may have its own specific load order. The load order
130 determines which version of the dll is attempted to be loaded into the
131 address space. If the first fails, then the next is tried and so
132 on. Multiple libraries with the same load order can be separated with
133 commas. It is also possible to use the --dll option several times, to
134 specify different loadorders for different libraries
136 Examples:
138 .I --dll comdlg32,commdlg=n,b
140 Try to load comdlg32 and commdlg as native windows dll first and try
141 the builtin version if the native load fails.
143 .I --dll shell,shell32=n --dll c:\(rs\(rsfoo\(rs\(rsbar\(rs\(rsbaz=b
145 Try to load the libraries shell and shell32 as native windows dlls. Furthermore, if 
146 an application request to load c:\(rsfoo\(rsbar\(rsbaz.dll load the builtin library baz. 
148 .I --dll comdlg32,commdlg=b,n --dll shell,shell32=b --dll comctl32,commctrl=n
150 Try to load comdlg32 and commdlg as builtin first and try the native version
151 if the builtin load fails; load shell32/shell always as builtin and
152 comctl32/commctrl always as native.
154 Note: It is wise to keep dll pairs (comdlg32/commdlg, shell/shell32, etc.)
155 having exactly the same load order. This will prevent mismatches at runtime.
156 See also configuration file format below.
158 .I --dosver version
159 Specify the DOS version 
160 .B wine 
161 should imitate (e.g. 6.22) This option
162 is only valid when used in conjunction with --winver win31.
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 --winver version
169 Specify which Windows version 
170 .B wine 
171 should imitate.
172 Possible arguments are: win95, win98, winme, nt351, nt40, win2000, winxp, 
173 win20, win30 and win31.
174 .PD 1
175 .SH PROGRAM/ARGUMENTS
176 The program name may be specified in DOS format (
178 C:\(rs\(rsWINDOWS\(rs\(rsSOL.EXE)
179 or in Unix format (
180 .I /msdos/windows/sol.exe
181 ).  You may pass arguments to the program being executed by adding them 
182 to the end of the command line invoking
183 .B wine
184 (such as: wine notepad C:\(rs\(rsTEMP\(rs\(rsREADME.TXT).
185 Note that you need to '\(rs' escape special characters (and spaces) when invoking Wine via
186 a shell, e.g.
188 wine C:\(rs\(rsProgram\(rs Files\(rs\(rsMyPrg\(rs\(rstest.exe
190 Command line processing goes as
191 follows: first 
192 .B wine
193 checks whether one or more of the above mentioned 
194 .B wine 
195 options have been specified. These
196 are removed from the command line, which is passed to the windows program. You can use
197 the parameter 
198 .I -- 
199 to indicate that 
200 .B wine 
201 should stop command line processing. This is needed in case a windows program understands 
202 an option that is usually interpreted (and thus removed from the command line) 
203 by 
204 .B wine. 
205 For example, if you want to execute 
206 .B wine 
207 with the options 
208 .I --managed --dll riched32=n
209 and if 
210 .B wine 
211 should run the program 
212 .I myapp.exe
213 with the arguments
214 .I --display 3d somefile
215 , then you could use the following command line to invoke 
216 .B wine:
218 .I wine --managed --dll riched32=n -- myapp.exe --display 3d somefile
219 .PP 
220 Note that in contrast to previous versions of 
221 .B wine, 
222 you must not pass 
223 program name and program option in one argument to 
224 .B wine. 
225 To run more
226 than one windows program, just execute 
227 .B wine 
228 once with the name of each program as argument. 
229 .SH ENVIRONMENT VARIABLES
230 .B wine
231 makes the environment variables of the shell from which
232 .B wine
233 is started accessible to the windows/dos processes started. So use the
234 appropriate syntax for your shell to enter environment variables you need.
235 .TP 
236 .I WINEPREFIX
237 If set, the content of this variable is taken as the name of the directory where
238 .B wine
239 stores its data (the default is 
240 .I $HOME/.wine
241 ). This directory contains also the socket, which is used to communicate with the
242 .I wineserver.
243 All 
244 .B wine
245 processes using the same 
246 .B wineserver
247 (i.e.: same user) share certain things like registry, shared memory,
248 and config file.
249 By setting 
250 .I WINEPREFIX
251 to different values for different 
252 .B wine
253 processes, it is possible to run a number of truly independent 
254 .B wine
255 processes. 
257 .I WINEPRELOAD
258 If set, specifies the full name of a shared library that
259 .B wine
260 loads and runs as a Winelib application.
262 .I WINESERVER
263 Specifies the path and name of the
264 .B wineserver
265 binary. If not set, a file named "wineserver" is searched in the
266 path and in a few other likely locations.
268 .I WINELOADER
269 Specifies the path and name of the
270 .B wine
271 binary to use to launch new Windows processes. If not set, a binary
272 named "wine" is searched in the path and in a few other likely
273 locations.
275 .I WINEDLLPATH
276 Specifies the path(s) in which to search for builtin dll files. This
277 is a list of directories separated by ":". Builtin dlls are also
278 searched in the directories specified by the standard
279 .I LD_LIBRARY_PATH
280 if they are not found in the directories listed in
281 .I WINEDLLPATH.
283 .I DISPLAY
284 Specifies the X11 display to use.
285 .SH CONFIGURATION FILE
286 .B wine
287 expects a configuration file (
288 .I $WINEPREFIX/config
289 (~/.wine/config)
290 ), which must conform to the format specified in the
291 .BR wine.conf (5)
292 man page. A sample configuration file is documentation/samples/config in the 
293 .B wine 
294 source archive.
295 .SH AUTHORS
296 .B wine
297 is available thanks to the work of many developers. For a listing
298 of the authors, please see the file 
299 .B AUTHORS
300 in the top-level directory of the source distribution.
301 .SH COPYRIGHT
302 .B wine
303 can be distributed under the terms of the LGPL license. A copy of the
304 license is in the file
305 .B LICENSE
306 in the top-level directory of the source distribution.
307 .SH BUGS
309 A status report on many applications is available from
310 .I http://www.winehq.com/Apps.
311 Please add entries to this list for applications you currently run.
313 Bug reports may be posted to Wine Bugzilla
314 .I http://bugs.winehq.com
315 If you want to post a bug report, please read the file
316 .I documentation/bugs.sgml
317 in the 
318 .B wine 
319 source to see what information is necessary
321 Problems and suggestions with this manpage please also report to
322 .I http://bugs.winehq.com
323 .SH AVAILABILITY
324 The most recent public version of 
325 .B wine
326 can be obtained via FTP from ibiblio.org in the
327 /pub/Linux/ALPHA/Wine/development directory.  The releases are in the
328 format 'Wine-yyyymmdd.tar.gz', or 'Wine-yyyymmdd.diff.gz' for the
329 diff's from the previous release. The same directory holds the
330 pre-built contents of the documentation in various formats
331 (wine-doc.xxx.gz).
333 The latest snapshot of the code may be obtained via CVS.  For information
334 on how to do this, please see
336 http://www.winehq.com/dev.html
338 WineHQ, the
339 .B wine
340 development headquarters, is at
341 .I http://www.winehq.com/.
342 This website contains a great deal of information about
343 .B wine.
346 .B wine 
347 newsgroup is 
348 .I comp.emulators.ms-windows.wine.
349 It is used for discussion of various 
350 .B wine end user aspects/help.
352 For further information about 
353 .B wine
354 development, you might want to subscribe to the 
355 .B wine 
356 mailing lists at
357 .I http://www.winehq.com/development/#ml
358 .SH FILES
359 .PD 0
361 .I @bindir@/wine
362 The 
363 .B wine 
364 program loader.
366 .I @bindir@/wineconsole
367 The 
368 .B wine 
369 program loader for CUI (console) applications.
371 .I @bindir@/wineserver
372 The 
373 .B wine 
374 server 
375 .TP 
376 .I @bindir@/winedbg
377 The 
378 .B wine 
379 debugger
380 .TP 
381 .I @bindir@/wineclpsrv
382 The 
383 .B wine 
384 clipboard server
385 .TP 
386 .I @libdir@
387 Directory containing 
388 .B wine's
389 shared libraries 
391 .I ~/.wine/config
392 User-specific configuration file
393 .TP 
394 .I ~/.wine
395 Directory containing user specific data managed by 
396 .B wine. 
398 .SH "SEE ALSO"
399 .BR wine.conf (5)