Build tsx11 layer as a separate shared library.
[wine/multimedia.git] / documentation / wine.man.in
blob65f5f8830e1b28e022181fd8e04328a21693379b
1 .\" -*- nroff -*-
2 .TH WINE 1 "Nov 27, 2000" "Version 20001026" "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
32 .B wine
33 requires kernel-level threads to run. Currently, only Linux version 2.0
34 or later, FreeBSD-current or FreeBSD 3.0 or later, and Solaris x86
35 version 2.5 or later are supported. Other operating systems which support
36 kernel threads may be supported in the future.
37 .PP
38 Although Linux version 2.0 will mostly work, certain features (specifically
39 LDT sharing) required for properly supporting Win32 threads were not
40 implemented until kernel version 2.2. If you get consistent thread-related
41 crashes, you may want to upgrade to 2.2. Also, some bugs were fixed and
42 additional features were added late in the Linux 2.0.x series, so if you have
43 a very old Linux kernel, you may want to upgrade to at least the latest 2.0.x
44 release.
45 .PP
46 If you have FreeBSD, make sure you have the USER_LDT,
47 SYSVSHM, SYSVSEM, and SYSVMSG options turned on in your kernel. If you
48 are building 
49 .B wine 
50 on Solaris, you will most likely need to build wine with the GNU toolchain 
51 (gcc, gas, etc.)
52 .PP
53 .B X
54 must be installed.  To use 
55 .B wine's 
56 support for multithreaded applications, your X libraries must be reentrant.  
57 If you have libc6 (glibc2), or you 
58 compiled the X libraries yourself, they were probably compiled with the 
59 reentrant option enabled.  
60 .PP
61 .B libXpm
62 must be installed.  If you're using Red Hat, make sure the following
63 packages are installed: XFree86-devel, xpm, and xpm-devel. If you're
64 using Debian, the packages you need are xpm4g and xpm4g-dev. If you 
65 have some other distribution, please send a list of packages required
66 to the address listed in the 
68 BUGS
69 section to get it included in this man page.
70 .PP
71 .B gcc
72 2.7.2 or later is required to build
73 .B wine.
74 Versions earlier than 2.7.2.3 may have problems when certain files are
75 compiled with optimization, often due to problems with header file
76 management.
78 pgcc
79 currently doesn't work with 
80 .B wine.  
81 The cause of this problem is unknown. 
82 .PP
83 .B flex
84 version 2.5 or later and 
85 .B yacc
86 are required.  Bison can be used in replace of yacc. If you have Redhat
87 or Debian, make sure the bison and flex packages are installed.
88 .SH INSTALLATION
89 To install 
90 .B wine,
91 run either "tools/wineinstall" (recommended), or do it the hard way:
92 run "./configure" in the top-level directory of the source, which will 
93 detect your specific setup and create the Makefiles.  You can run 
94 "./configure --help" to see the available configuration options.  Then do 
95 "make depend && make" to build the
96 .B wine
97 executable, and then "make install" to install it. By default,
98 .B wine
99 is installed in the /usr/local/ hierarchy (current configuration has it in
100 the @prefix@ hierarchy); you can specify a different path with
101 the --prefix or --sysconfdir options when running
102 .B configure.
104 For more information, see the 
105 .I README
106 file contained in the source distribution.
107 .SH OPTIONS
109 .I --config filename
110 Use the named configuration file rather than the default
111 (@sysconfdir@/wine.conf or ~/.winerc).
113 .I --debugmsg [xxx]#name[,[xxx1]#name1][,<+|->relay=yyy1[:yyy2]]
114 Turn debugging messages on or off.  
115 .RS +7
117 xxx is optional and can be one of the following: 
118 .I err, 
119 .I warn, 
120 .I fixme, 
121 or 
122 .I trace. 
123 If xxx is not specified, all debugging messages for the specified
124 channel are turned on.  Each channel will print messages about a particular
125 component of 
126 .B wine.  
127 # is required and can be either + or -.  Note that 
128 there is not a space after the comma between names. yyy are either the
129 name of a whole DLL or a single API entry by name you either
130 want to include or exclude from the relay listing. These names must be in
131 the case as names used in the relaylisting. You can do the same for snoop.
133 For instance:
135 .I --debugmsg warn+all
136 will turn on all warning messages (recommended for debugging)
138 .I --debugmsg warn+dll,+heap
139 will turn on DLL warning messages and all heap messages.  
141 .I --debugmsg fixme-all,warn+cursor,+relay
142 will turn off all FIXME messages, turn on cursor warning messages, and turn
143 on all relay messages (API calls).
144 .br 
145 .I --debugmsg -relay=LeaveCriticalSection:EnterCriticalSection
146 will turn on all relay messages except for LeaveCriticalSection and
147 EnterCriticalSection.
148 .br 
149 .I --debugmsg +relay=ADVAPI32
150 will only turn on relay messages into the ADVAPI32 code.
152 The full list of names is:
153 all, accel, advapi, animate, aspi, atom, avifile, bitblt, bitmap, caret,
154 cdrom, class, clipboard, clipping, combo, comboex, comm, commctrl, commdlg,
155 console, crtdll, cursor, datetime, dc, ddeml, ddraw, debug, debugstr,
156 delayhlp, dialog, dinput, dll, dosfs, dosmem, dplay, driver, dsound, edit,
157 elfdll, enhmetafile, event, exec, file, fixup, font, gdi, global, graphics,
158 header, heap, hook, hotkey, icmp, icon, imagehlp, imagelist, imm, int, int10,
159 int16, int17, int19, int21, int31, io, ipaddress, joystick, key, keyboard,
160 ldt, listbox, listview, local, mci, mcianim, mciavi, mcicda, mcimidi,
161 mciwave, mdi, menu, message, metafile, midi, mmaux, mmio, mmsys, mmtime,
162 module, monthcal, mpr, msacm, msg, msvideo, nativefont, nonclient, ntdll,
163 odbc, ole, pager, palette, pidl, print, process, profile, progress, prop,
164 propsheet, psapi, psdrv, ras, rebar, reg, region, relay, resource, scroll,
165 segment, seh, selector, sendmsg, server, setupx, shell, snoop, sound,
166 static, statusbar, storage, stress, string, syscolor, system, tab, tape,
167 tapi, task, text, thread, thunk, timer, toolbar, toolhelp, tooltips,
168 trackbar, treeview, ttydrv, tweak, typelib, updown, ver, virtual, vxd, wave,
169 win, win16drv, win32, winedbg, wing, winsock, winspool, wnet, x11 and x11drv.
172 For more information on debugging messages, see the file 
173 .I documentation/debug-msgs
174 in the source distribution (FIXME: outdated).
177 .I --desktop geom
178 Use a desktop window of the given geometry, e.g. "640x480"
180 .I --display name
181 Use the specified X display
183 .I --dll name[,name[,...]]={native|so|builtin}[,{n|s|b}[,...]][+...]
184 Selects the override type and load order of dll used in the loading process
185 for any dll. The default is set in @sysconfdir@/wine.conf or ~/.winerc. There
186 are currently three types of libraries that can be loaded into a process' address
187 space: Native windows dlls (
188 .I native
189 ), native ELF libraries (
190 .I so
191 )and 
192 .B wine 
193 internal dlls (
194 .I builtin
195 ). The type may be abbreviated with the first letter of the type (
196 .I n, s, b
197 ). Each sequence of orders must be separated by commas.
199 Each dll may have its own specific load order. The load order determines
200 which version of the dll is attempted to be loaded into the address space. If
201 the first fails, then the next is tried and so on. Different load orders can
202 be specified by separating the entries with a plus sign. Multiple libraries
203 with the same load order can be separated with commas. It is also possible to 
204 use the --dll option several times, to specify different loadorders for different
205 libraries
207 Examples:
209 .I --dll comdlg32,commdlg=n,b
211 Try to load comdlg32 and commdlg as native windows dll first and try
212 the builtin version if the native load fails.
214 .I --dll shell,shell32=n --dll c:\(rs\(rsfoo\(rs\(rsbar\(rs\(rsbaz=b
216 Try to load the libraries shell and shell32 as native windows dlls. Furthermore, if 
217 an application request to load c:\(rsfoo\(rsbar\(rsbaz.dll load the builtin library baz. 
219 .I --dll comdlg32,commdlg=b,n:shell,shell32=b+comctl32,commctrl=n
221 Try to load comdlg32 and commdlg as builtin first and try the native version
222 if the builtin load fails; load shell32/shell always as builtin and
223 comctl32/commctrl always as native.
225 Note: It is wise to keep dll pairs (comdlg32/commdlg, shell/shell32, etc.)
226 having exactly the same load order. This will prevent mismatches at runtime.
227 See also configuration file format below.
229 .I --dosver version
230 Specify the DOS version 
231 .B wine 
232 should imitate (e.g. 6.22) This option
233 is only valid when used in conjunction with --winver win31.
235 .I --language xx
236 Set the language to
237 .I xx
238 (one of Br, Ca, Cs, Cy, Da, De, En, Eo, Es, Fi, Fr, Ga, Gd, Gv, Hr,
239 Hu, It, Ko, Kw, No, Pl, Pt, Ru, Sk, Sv, Wa)
241 .I --managed
242 Create each top-level window as a properly managed X window instead of
243 creating our own "sticky" window.
245 .I --synchronous
246 Turn on synchronous display mode. Useful for debugging X11 graphics problems.
248 .I --winver version
249 Specify which Windows version 
250 .B wine 
251 should imitate.
252 Possible arguments are: win95, nt40, win31, win2000, win98, nt351, win30
253 and win20.
254 .PD 1
255 .SH PROGRAM/ARGUMENTS
256 The program name may be specified in DOS format (
258 C:\(rs\(rsWINDOWS\(rs\(rsSOL.EXE)
259 or in Unix format (
260 .I /msdos/windows/sol.exe
261 ).  You may pass arguments to the program being executed by adding them 
262 to the end of the command line invoking
263 .B wine
264 (such as: wine notepad C:\(rs\(rsTEMP\(rs\(rsREADME.TXT). Command line processing goes as
265 follows: first 
266 .B wine
267 checks whether one or more of the above mentioned 
268 .B wine 
269 options have been specified. These
270 are removed from the command line, which is passed to the windows program. You can use
271 the parameter 
272 .I -- 
273 to indicate that 
274 .B wine 
275 should stop command line processing. This is needed in case a windows program understands 
276 an option that is usually interpreted (and thus removed from the command line) 
277 by 
278 .B wine. 
279 For example, if you want to execute 
280 .B wine 
281 with the options 
282 .I --managed --config myapp.winerc
283 and if 
284 .B wine 
285 should run the program 
286 .I myapp.exe
287 with the arguments
288 .I --config my.ini somefile
289 , then you could use the following command line to invoke 
290 .B wine:
292 .I wine --managed --config myapp.winerc -- myapp.exe --config my.ini somefile
293 .PP 
294 Note that in contrast to previous versions of 
295 .B wine, 
296 you must not pass 
297 program name and program option in one argument to 
298 .B wine. 
299 To run more
300 than one windows program, just execute 
301 .B wine 
302 once with the name of each program as argument. 
303 .SH ENVIRONMENT VARIABLES
304 .B wine
305 makes the environment variables of the shell from which
306 .B wine
307 is started accessible to the windows/dos processes started. So use the
308 appropriate syntax for your shell to enter environment variables you need.
309 .TP 
310 .I WINEPREFIX
311 If set, the content of this variable is taken as the name of the directory where
312 .B wine
313 stores its data (the default is 
314 .I $HOME/.wine
315 ). This directory contains also the socket, which is used to communicate with the
316 .I wineserver.
317 All 
318 .B wine
319 processes using the same 
320 .B wineserver
321 (i.e.: same user) share certain things like registry and shared memory.
322 By setting 
323 .I WINEPREFIX
324 to different values for different 
325 .B wine
326 processes, it is possible to run a number of truly independent 
327 .B wine
328 processes. 
330 .I WINESERVER
331 Specifies the path and name of the
332 .B wineserver
333 binary. If not set, a file named "wineserver" is searched in the
334 path and in a few other likely locations.
336 .I WINELOADER
337 Specifies the path and name of the
338 .B wine
339 binary to use to launch new Windows processes. If not set, a binary
340 named "wine" is searched in the path and in a few other likely
341 locations.
343 .I WINEDLLPATH
344 Specifies the path(s) in which to search for builtin dll files. This
345 is a list of directories separated by ":". Builtin dlls are also
346 searched in the directories specified by the standard
347 .I LD_LIBRARY_PATH
348 if they are not found in the directories listed in
349 .I WINEDLLPATH.
351 .SH CONFIGURATION FILE
352 .B wine
353 expects a configuration file (
354 .I @sysconfdir@/wine.conf
355 ), which must conform to the format specified in the
356 .BR wine.conf (5)
357 man page. A sample configuration file is wine.ini in the base directory of the 
358 .B wine 
359 source archive. Alternatively a configuration file with the name
360 .I .winerc 
361 in the home directory of the user running 
362 .B wine 
363 can be used. The third option is to specify the name of the 
364 configuration file with the 
365 .B --config
366 option. 
367 .SH AUTHORS
368 .B wine
369 is available thanks to the work of many developers. For a listing
370 of the authors, please see the file 
371 .B AUTHORS
372 in the top-level directory of the source distribution.
373 .SH COPYRIGHT
374 .B wine
375 can be distributed under the terms of the X11 license. A copy of the
376 license is in the file
377 .B LICENSE
378 in the top-level directory of the source distribution.
379 .SH BUGS
381 A status report on many applications is available from
382 .I http://www.winehq.com/Apps.
383 Please add entries to this list for applications you currently run.
385 Bug reports and successes may be posted to 
386 .I comp.emulators.ms-windows.wine.
387 If you want to post a bug report, please read the file
388 .I documentation/bugreports
389 in the 
390 .B wine 
391 source to see what information is necessary (FIXME: outdated).
393 For problems and suggestions with this manpage, please send a note to
394 James Juran <jrj120@psu.edu>.
395 .SH AVAILABILITY
396 The most recent public version of 
397 .B wine
398 can be obtained via FTP from ibiblio.org in the 
399 /pub/Linux/ALPHA/Wine/development directory.  The releases are in the 
400 format 'Wine-yyyymmdd.tar.gz', or 'Wine-yyyymmdd.diff.gz' for the diff's 
401 from the previous release.
403 The latest snapshot of the code may be obtained via CVS.  For information
404 on how to do this, please see
406 http://www.winehq.com/dev.html
408 WineHQ, the
409 .B wine
410 development headquarters, is at
411 .I http://www.winehq.com/.
412 This website contains a great deal of information about
413 .B wine.
416 .B wine 
417 newsgroup is 
418 .I comp.emulators.ms-windows.wine.
419 It is used for discussion of various 
420 .B wine end user aspects/help.
422 For further information about 
423 .B wine
424 development, you might want to subscribe to the 
425 .B wine 
426 "cvs", "devel" and "patches" mailing lists at
427 .I http://www.winehq.com/dev.html#ml.
428 .SH FILES
429 .PD 0
431 .I @prefix@/bin/wine
432 The 
433 .B wine 
434 program loader.
436 .I @prefix@/bin/dosmod
437 The DOS program loader.
439 .I @prefix@/bin/wineserver
440 The 
441 .B wine 
442 server 
443 .TP 
444 .I @prefix@/bin/winedbg
445 The 
446 .B wine 
447 debugger
448 .TP 
449 .I @prefix@/bin/wineclpsrv
450 The 
451 .B wine 
452 clipboard server
453 .TP 
454 .I @prefix@/lib/
455 Directory containing 
456 .B wine's
457 shared libraries 
459 .I @sysconfdir@/wine.conf
460 Global configuration file for 
461 .B wine.
463 .I ~/.winerc
464 User-specific configuration file
465 .TP 
466 .I ~/.wine
467 Directory containing user specific data managed by 
468 .B wine. 
470 .SH "SEE ALSO"
471 .BR wine.conf (5)