Updated commandline changes of -dll option and wine.conf entries.
[wine/dcerpc.git] / documentation / wine.man
blobe5af0f888c59c58969a4e00a8e70d9fd00276d96
1 .\" -*- nroff -*-
2 .TH WINE 1 "February 3, 1999" "Version 990131" "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.
17 .PP
18 .B wine 
19 currently runs a growing list of applications written for both Win3.1 and 
20 Win95.  Older, simpler applications work better than newer, more complex 
21 ones.  A large percentage of the API has been implemented, although there
22 are still several major pieces of work left to do.
23 .SH REQUIREMENTS
24 At present, 
25 .B wine
26 will run under any Linux kernel more recent than 0.99.13, or
27 under recent releases of NetBSD/i386, FreeBSD and OpenBSD/i386. Some bugs
28 were fixed and additional features were added late in the Linux 2.0.x 
29 series, so if you have an old Linux kernel, you may want to upgrade to the
30 latest 2.0.x release. If you have FreeBSD, make sure you have the USER_LDT,
31 SYSVSHM, SYSVSEM, and SYSVMSG options turned on in your kernel. If you
32 are building Wine on Solaris, you will most likely need to build Wine
33 with the GNU toolchain (gcc, gas, etc.)
34 .PP
35 The current support for multithreaded applications relies on the 
36 .BR clone (2)
37 system call, which is currently only available on Linux. It should be
38 possible to implement this for other operating systems, however.
39 .PP
40 .B X
41 must be installed.  To use Wine's support for multithreaded applications,
42 your X libraries must be reentrant.  If you have libc6 (glibc2), or you 
43 compiled the X libraries yourself, they were probably compiled with the 
44 reentrant option enabled.  
45 .PP
46 .B libXpm
47 must be installed.  If you're using Red Hat, make sure the following
48 packages are installed: XFree86-devel, xpm, and xpm-devel. If you're
49 using Debian, the packages you need are xpm4g and xpm4g-dev. If you 
50 have some other distribution, please send a list of packages required
51 to the address listed in the 
53 BUGS
54 section to get it included in this man page.
55 .PP
56 .B gcc
57 2.7.x or later is required to build
58 .B wine.
59 Versions earlier than 2.7.2.3 may have problems when certain files are
60 compiled with optimization.
62 pgcc
63 currently doesn't work with wine.  The cause of this problem is unknown. 
64 .PP
65 .B flex
66 and 
67 .B yacc
68 are required.  Bison can be used in replace of yacc. If you have Redhat,
69 make sure the bison and flex packages are installed.
70 .SH INSTALLATION
71 To install 
72 .B Wine,
73 run "./configure" in the top-level directory of the source, which will 
74 detect your specific setup and create the Makefiles.  You can run 
75 "./configure --help" to see the available configuration options.  Then do 
76 "make depend; make" to build the
77 .B wine
78 executable, and then "make install" to install it. By default,
79 .B wine
80 is installed in the /usr/local/ heirarchy; you can specify a different path with
81 the --prefix option when running
82 .B configure.
83 .PP
84 For more information, see the 
85 .I README
86 file contained in the source distribution.
87 .SH OPTIONS
88 .TP
89 .I -backingstore
90 Turn on backing store
91 .TP
92 .I -config filename
93 Use the named configuration file rather than the default
94 (/usr/local/etc/wine.conf or ~/.winerc).
95 .TP
96 .I -debug
97 Enter the debugger before starting application
98 .TP
99 .I -debugmsg [xxx]#name[,[xxx1]#name1][,<+|->relay=yyy1[:yyy2]]
100 Turn debugging messages on or off.  
101 .RS +7
103 xxx is optional and can be one of the following: 
104 .I err, 
105 .I warn, 
106 .I fixme, 
107 or 
108 .I trace. 
109 If xxx is not specified, all debugging messages for the specified
110 channel are turned on.  Each channel will print messages about a particular
111 component of Wine.  # is required and can be either + or -.  Note that 
112 there is not a space after the comma between names. yyy are either the
113 name of a whole DLL or a single API entry by Name you either
114 want to include or exclude from the relay listing. These names must be in
115 the case as names used in the relaylisting. You can do the same for snoop.
117 For instance:
119 .I -debugmsg warn+dll,+heap
120 will turn on DLL warning messages and all heap messages.  
122 .I -debugmsg fixme-all,warn+cursor,+relay
123 will turn off all FIXME messages, turn on cursor warning messages, and turn
124 on all relay messages (API calls).
125 .br 
126 .I -debugmsg -relay=LeaveCriticalSection:EnterCriticalSection
127 will turn on all relay messages except for LeaveCriticalSection and
128 EnterCriticalSection.
129 .br 
130 .I -debugmsg +relay=ADVAPI32
131 will only turn on relay messages into the ADVAPI32 code.
133 The full list of names is: all, accel, advapi, animate, aspi, atom, 
134 bitblt, bitmap, caret, cd, cdaudio, class, clipboard, clipping, combo, 
135 comboex, comm, commctrl, commdlg, console, crtdll, cursor, datetime, dc, 
136 dde, ddeml, ddraw, debug, dialog, dinput, dll, dosfs, dosmem, dplay, driver, 
137 dsound, edit, event, exec, file, fixup, font, gdi, global, graphics, header, 
138 heap, hook, hotkey, icon, imagehlp, imagelist, imm, int, int10, int16, int17, 
139 int19, int21, int31, io, ipaddress, key, keyboard, ldt, listbox, listview, 
140 local, mci, mcianim, mciwave, mdi, menu, message, metafile, midi, mmaux, mmio, 
141 mmsys, mmtime, module, monthcal, mpr, msacm, msg, nativefont, nonclient, ntdll, 
142 ole, pager, palette, pidl, print, process, profile, progress, prop, psapi, 
143 psdrv, rebar, reg, region, relay, resource, s, scroll, security, segment, 
144 selector, sem, sendmsg, server, shell, shm, snoop, sound, static, statusbar, 
145 stress, string, syscolor, system, tab, task, text, thread, thunk, timer, 
146 toolbar, toolhelp, tooltips, trackbar, treeview, tweak, uitools, updown, ver, 
147 virtual, vxd, win, win16drv, win32, wing, winsock, wnet, x11, x11drv.
149 For more information on debugging messages, see the file 
150 .I documentation/debug-msgs
151 in the source distribution.
154 .I -depth n
155 Change the depth to use for multiple-depth screens
157 .I -desktop geom
158 Use a desktop window of the given geometry
160 .I -display name
161 Use the specified display
163 .I -dll name[,name[,...]]={native|elfdll|so|builtin}[,{n|e|s|b}[,...]][:...]
164 Selects the override type and load order of dll used in the loading process
165 for any dll. The default is set in wine.conf or ~/.winerc. There are
166 currently four types of libraries that can be loaded into a process' address
167 space: Native windows dlls (
168 .I native
169 ), ELF encapsulated windows dlls (
170 .I elfdll
171 ), native ELF libraries (
172 .I so
173 )and wine internal dlls (
174 .I builtin
175 ). The type may be abbreviated with the first letter of the type (
176 .I n, e, s, b
177 ). Each sequence of orders must be seperated by commas.
179 Each dll may have its own specific load order. The load order determines
180 which verion of the dll is attempted to be loaded into the address space. If
181 the first fails, then the next is tried and so on. Different load orders can
182 be specified by seperating the entries with a colon. Multiple libraries
183 with the same load order can be separated with commas.
185 Examples:
187 .I -dll comdlg32,commdlg=n,b
189 Try to load comdlg32 and commdlg as native windows dll first and try
190 the builtin version if the native load fails.
192 .I -dll comdlg32,commdlg=e,n:shell,shell32=b:comctl32,commctrl=n
194 Try to load comdlg32 and commdlg as elfdll first and try the native version
195 if the elfdll load fails; load shell32/shell always as builtin and
196 comctl32/commctrl always as native.
198 Note: It is wise to keep dll pairs (comdlg32/commdlg, shell/shell32, etc.)
199 having exactly the same load order. This will prevent mismatches at runtime.
200 See also configuration file format below.
202 .I -failreadonly
203 Read only files may not be opened in write mode (the default is to
204 allow opening read-only files for writing, because most Windows
205 programs always request read-write access, even on CD-ROM drives...).
207 .I -fixedmap
208 Use a "standard" color map.
210 .I -iconic
211 Start as an icon
213 .I -language xx
214 Set the language to
215 .I xx
216 (one of Ca, Cs, Da, De, En, Eo, Es, Fi, Fr, Hu, It, Ko, No, Pl, Pt, Ru, Sv, Wa)
218 .I -managed
219 Create each top-level window as a properly managed X window
221 .I -mode modename
222 Determines the mode in which
223 .B wine
224 is started. Possible mode names are
225 .I standard
227 .I enhanced.
228 Enhanced mode is the default (when no -mode option is specified).
230 .I -name name
231 Set the application name
233 .I -privatemap
234 Use a private color map
236 .I -synchronous
237 Turn on synchronous display mode
239 .I -winver version
240 Specify which Windows version WINE should imitate.
241 Possible arguments are: win31, win95, nt351, and nt40.
242 .PD 1
243 .SH PROGRAM/ARGUMENTS
244 The program name may be specified in DOS format (
246 C:\\WINDOWS\\SOL.EXE)
247 or in Unix format (
248 .I /msdos/windows/sol.exe
249 ).  The program being executed may be passed arguments by adding them on 
250 to the end of the command line invoking
251 .B wine
252 (such as: wine "notepad C:\\TEMP\\README.TXT").  Note that
253 the program name and its arguments 
254 .I must
255 be passed as a single parameter, which is usually accomplished by placing
256 them together in quotation marks.  Multiple applications may be started
257 by placing all of them on the command line (such as: wine notepad clock).
258 .SH CONFIGURATION FILE
259 .B wine
260 expects a configuration file (
261 .I /usr/local/etc/wine.conf
262 ), which should
263 conform to the following rules (the format is just like a Windows .ini
264 file).  The actual file name may be specified during the execution of
266 .B configure
267 script with the --sysconfdir option.  Alternatively, you may have a 
268 .I .winerc
269 file of this format in your home directory or have the environment variable
270 .B WINE_INI
271 pointing to a configuration file, or use the -config option on the command 
272 line.
273 .SH ENVIRONMENT VARIABLES
274 .B wine
275 makes the environment variables of the shell from which 
276 .B wine
277 is started accesible to the windows/dos processes started. So use the
278 appropriate syntax for your shell to enter environment variables you need. 
279 .SH CONFIGURATION FILE FORMAT
280 All entries are grouped in sections; a section begins with the line
282 .I [section name]
284 and continues until the next section starts. Individual entries
285 consist of lines of the form
287 .I entry=value
289 The value can be any text string, optionally included in single or
290 double quotes; it can also contain references to environment variables
291 surrounded by
292 .I ${}.
293 Supported section names and entries are listed below.
295 .B [Drive X]
297 This section is used to specify the root directory and type of each
298 .B DOS
299 drive, since most Windows applications require a DOS/MS-Windows based 
300 disk drive & directory scheme. There is one such section for every
301 drive you want to configure.
303 .I format: Path = <rootdirectory>
305 default: none
307 If you mounted your dos partition as 
308 .I /dos
309 and installed Microsoft Windows in 
310 C:\\WINDOWS then you should specify 
311 .I Path=/dos
312 in the
313 .I [Drive C]
314 section.
316 .I format: Type = <type>
318 default: hd
320 Used to specify the drive type; supported types are floppy, hd, cdrom
321 and network.
323 .I format: Label = <label>
325 default: 'Drive X'
327 Used to specify the drive label; limited to 11 characters.
329 .I format: Serial = <serial>
331 default: 12345678
333 Used to specify the drive serial number, as an 8-character hexadecimal
334 number.
336 .I format: Filesystem = <fstype>
338 default: win95
340 Used to specify the type of the file system Wine should emulate on a given
341 directory structure/underlying file system.
343 Supported types are msdos (or fat), win95 (or vfat), unix.
345 Recommended:
347   win95 for ext2fs, VFAT and FAT32
349   msdos for FAT16 (ugly)
351 You definitely don't want to use "unix" unless you intend to port programs using Winelib.
353 Always try to avoid using FAT16. Use VFAT/FAT32 OS file system driver instead !
355 .B [wine]
357 .I format: windows = <directory>
359 default: C:\\WINDOWS
361 Used to specify a different Windows directory
363 .I format: system = <directory>
365 default: C:\\WINDOWS\\SYSTEM
367 Used to specify a different system directory
369 .I format: temp = <directory>
371 default: C:\\TEMP
373 Used to specify a directory where Windows applications can store 
374 temporary files.
376 .I format: path = <directories separated by semi-colons>
378 default: C:\\WINDOWS;C:\\WINDOWS\\SYSTEM
380 Used to specify the path which will be used to find executables and .DLL's.
382 .I format: symboltablefile = <filename>
384 default: wine.sym
386 Used to specify the path and file name of the symbol table used by the built-in
387 debugger.
389 .B [DllDefaults]
391 .I format: EXTRA_LD_LIBRARY_PATH=/usr/local/lib/wine[:/more/path/to/search[:...]]
393 The path will be appended to any existing LD_LIBRARY_PATH from the 
394 environment for the search of elfdlls and .so libraries.
396 .I format: DefaultLoadOrder=native,elfdll,so,builtin
398 A comma seperated list of module-types to try to load in that specific
399 order. The DefaultLoadOrder key is used as a fallback when a module is
400 not specified explicitely. If the DefaultLoadOrder key is not found, 
401 then the order "native,elfdll,so,builtin" is used.
403 Case is not (yet) important and only the first letter of each type is enough
404 to identify the type n[ative], e[lfdll], s[o], b[uiltin]. Also whitespace is
405 ignored. Keep everything in lower case to be sure that your entries keep the
406 same meaning. See also commandline option
407 .I -dll
408 for details about the alowable types.
410 .B [DllOverrides]
412 There are no explicit keys defined other than module/library names. A comma
413 separated list of modules is followed by an assignment of the load-order
414 for these specific modules. See above for possible types. You should not
415 specify an extension.
417 Examples:
419 .I kernel32, gdi32, user32 = builtin
421 .I kernel, gdi, user = builtin
423 .I comdlg32 = elfdll, native, builtin
425 .I commdlg = native, builtin
427 .I version, ver = elfdll, native, builtin
429 Changing the load order of kernel/kernel32, gdi/gdi32 and user/user32 to
430 anything other than builtin will cause wine to fail because wine cannot
431 use native versions for these libraries (user[32] and gdi[32] might work
432 native someday, but kernel[32] will never work native). These libraries are
433 also the last to be converted to elfdlls and will live as builtins for quite
434 some time to come.
436 Always make sure that you have some kind of strategy in mind when you start
437 fiddling with the current defaults and needless to say that you must know
438 what you are doing.
440 .B [DllPairs]
442 This is a simple pairing in the form 'name1 = name2'. It is supposed to
443 identify the dlls that cannot live without eachother unless they are
444 loaded in the same format. Examples are common dialogs and controls,
445 shell, kernel, gdi, user, etc...
447 The code will issue a warning if the loadorder of these pairs are different
448 and might cause hard-to-find bugs due to incompatible pairs loaded at
449 run-time. Note that this pairing gives
450 .B no
451 guarantee that the pairs
452 actually get loaded as the same type, nor that the correct versions are
453 loaded (might be implemented later). It merely notes obvious trouble.
455 Examples:
457 .I kernel = kernel32
459 .I commdlg = comdlg32
461 The implementation will probably change in a later stage to force pairs to
462 be loaded correctly, but there are also drawbacks with such an approach.
464 .B [serialports]
466 .I format: com[12345678] = <devicename>
468 default: none
470 Used to specify the devices which are used as com1 - com8.
472 .B [parallelports]
474 .I format: lpt[12345678] = <devicename>
476 default: none
478 Used to specify the devices which are used as lpt1 - lpt8.
480 .B [spy]
482 .I format: file = <filename or CON when logging to stdout>
484 default: none
486 Used to specify the file which will be used as
487 .B logfile.
489 .I format: exclude = <message names separated by semicolons>
491 default: none
493 Used to specify which messages will be excluded from the logfile.
495 .I format: include = <message names separated by semicolons>
497 default: none
498 .br Used to specify which messages will be included in the logfile.
500 .B [Tweak.Layout]
502 .I format: WineLook=<Win31|Win95|Win98>
504 default: Win31
505 .br 
506 Use Win95-like window displays or Win3.1-like window displays.
507 .SH SAMPLE CONFIGURATION FILE
508 A sample configuration file is distributed as
509 .B wine.ini
510 in the top-level directory of the source distribution.
511 .SH AUTHORS
512 .B Wine
513 is available thanks to the work of many developers. For a listing
514 of the authors, please see the file 
515 .B AUTHORS
516 in the top-level directory of the source distribution.
517 .SH BUGS
519 A status report on many appplications is available from
520 .I http://www.winehq.com/Apps.
521 Please add entries to this list for applications you currently run.
523 Bug reports and successes may be posted to 
524 .I comp.emulators.ms-windows.wine.
525 If you want to post a bug report, please read the file
526 .I documentation/bugreports
527 in the Wine source to see what information is necessary.
529 For problems and suggestions with this manpage, please send a note to
530 James Juran <jrj120@psu.edu>.
531 .SH AVAILABILITY
532 The most recent public version of 
533 .B wine
534 can be obtained via FTP from metalab.unc.edu or tsx-11.mit.edu in the 
535 /pub/linux/ALPHA/Wine/development directory.  The releases are in the 
536 format 'Wine-yymmdd.tar.gz', or 'Wine-yymmdd.diff.gz' for the diff's 
537 from the previous release.
539 The latest snapshot of the code may be obtained via CVS.  For information
540 on how to do this, please see
542 http://www.winehq.com/dev.html
544 WineHQ, the
545 .B wine
546 development headquarters, is at
547 .I http://www.winehq.com/.
548 This website contains a great deal of information about
549 .B wine
550 as well as a collection of unofficial patches against the current release.
553 .B wine 
554 newsgroup is 
555 .I comp.emulators.ms-windows.wine.
556 All discussions about the project take place in this forum.
557 .SH FILES
558 .PD 0
560 .I /usr/local/bin/wine
561 The Wine program loader.
563 .I /usr/local/bin/dosmod
564 The DOS program loader.
566 .I /usr/local/etc/wine.conf
567 Global configuration file for wine.
569 .I ~/.winerc
570 User-specific configuration file
572 .I /usr/local/lib/wine.sym
573 Global symbol table (used in debugger)
574 .SH "SEE ALSO"
575 .BR clone (2)