Fixed CloseHandle() on global handles.
[wine/multimedia.git] / documentation / wine.man
blob4ce56b7cc52fce8a8e7fb8347868c1d497f537ed
1 .\" -*- nroff -*-
2 .TH WINE 1 "December 30, 1998" "Version 981211" "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 SYSVSEM, and SYSVMSG options turned on in your kernel. 
32 .PP
33 The current support for multithreaded applications relies on the 
34 .BR clone (2)
35 system call, which is currently available only on Linux systems running
36 libc6 (aka glibc2).
37 .PP
38 .B X
39 must be installed.  To use Wine's support for multithreaded applications,
40 your X libraries must be reetrant.  If you have libc6 (glibc2), or you 
41 compiled the X libraries yourself, they were probably compiled with the 
42 reetrant option enabled.  
43 .PP
44 .B libXpm
45 must be installed.  If you're using Red Hat, make sure the following
46 packages are installed: XFree86-devel, xpm, and xpm-devel. If you're
47 using Debian, the packages you need are xpm4g and xpm4g-dev. If you 
48 have some other distribution, please send a list of packages required
49 to the address listed in the 
51 BUGS
52 section to get it included in this man page.
53 .PP
54 .B gcc
55 2.7.x or later is required to build
56 .B wine.
57 Versions earlier than 2.7.2.3 may have problems when certain files are
58 compiled with optimization.
60 pgcc
61 currently doesn't work with wine.  The cause of this problem is unknown. 
62 .PP
63 .B flex
64 and 
65 .B yacc
66 are required.  Bison can be used in replace of yacc. If you have Redhat,
67 make sure the bison and flex packages are installed.
68 .SH INSTALLATION
69 To install 
70 .B Wine,
71 run "./configure" in the top-level directory of the source, which will 
72 detect your specific setup and create the Makefiles.  You can run 
73 "./configure --help" to see the available configuration options.  Then do 
74 "make depend; make" to build the
75 .B wine
76 executable, and then "make install" to install it. By default,
77 .B wine
78 is installed in the /usr/local/ heirarchy; you can specify a different path with
79 the --prefix option when running
80 .B configure.
81 .PP
82 For more information, see the 
83 .I README
84 file contained in the source distribution.
85 .SH OPTIONS
86 .TP
87 .I -backingstore
88 Turn on backing store
89 .TP
90 .I -config filename
91 Use the named configuration file rather than the default
92 (/usr/local/etc/wine.conf or ~/.winerc).
93 .TP
94 .I -debug
95 Enter the debugger before starting application
96 .TP
97 .I -debugmsg [xxx]#name[,[xxx1]#name1]
98 Turn debugging messages on or off.  
99 .RS +7
101 xxx is optional and can be one of the following: 
102 .I err, 
103 .I warn, 
104 .I fixme, 
105 or 
106 .I trace. 
107 If xxx is not specified, all debugging messages for the specified
108 channel are turned on.  Each channel will print messages about a particular
109 component of Wine.  # is required and can be either + or -.  Note that 
110 there is not a space after the comma between names.
112 For instance:
114 .I -debugmsg warn+dll,+heap
115 will turn on DLL warning messages and all heap messages.  
117 .I -debugmsg fixme-all,warn+cursor,+relay
118 will turn off all FIXME messages, turn on cursor warning messages, and turn
119 on all relay messages (API calls).
121 The full list of names is: all, accel, advapi, animate, aspi, atom, 
122 bitblt, bitmap, caret, cd, cdaudio, class, clipboard, clipping, combo, 
123 comboex, comm, commctrl, commdlg, console, crtdll, cursor, datetime, dc, 
124 dde, ddeml, ddraw, debug, dialog, dinput, dll, dosfs, dosmem, dplay, driver, 
125 dsound, edit, event, exec, file, fixup, font, gdi, global, graphics, header, 
126 heap, hook, hotkey, icon, imagehlp, imagelist, imm, int, int10, int16, int17, 
127 int19, int21, int31, io, ipaddress, key, keyboard, ldt, listbox, listview, 
128 local, mci, mcianim, mciwave, mdi, menu, message, metafile, midi, mmaux, mmio, 
129 mmsys, mmtime, module, monthcal, mpr, msacm, msg, nativefont, nonclient, ntdll, 
130 ole, pager, palette, pidl, print, process, profile, progress, prop, psapi, 
131 psdrv, rebar, reg, region, relay, resource, s, scroll, security, segment, 
132 selector, sem, sendmsg, server, shell, shm, snoop, sound, static, statusbar, 
133 stress, string, syscolor, system, tab, task, text, thread, thunk, timer, 
134 toolbar, toolhelp, tooltips, trackbar, treeview, tweak, uitools, updown, ver, 
135 virtual, vxd, win, win16drv, win32, wing, winsock, wnet, x11, x11drv.
137 For more information on debugging messages, see the file 
138 .I documentation/debug-msgs
139 in the source distribution.
142 .I -depth n
143 Change the depth to use for multiple-depth screens
145 .I -desktop geom
146 Use a desktop window of the given geometry
148 .I -display name
149 Use the specified display
151 .I -dll name
152 Enables/disables built-in DLL's - starting wine with
153 .I -dll -commdlg
154 is probably a good idea.
155 The full list of DLLs modifiable by this is:
156 ADVAPI32, AVIFILE, COMCTL32, COMDLG32, COMM, COMMDLG, COMPOBJ, CRTDLL, 
157 DCIMAN32, DDEML, DDRAW, DINPUT, DISPLAY, DPLAY, DPLAYX, DSOUND, GDI, GDI32, 
158 IMAGEHLP, IMM32, KEYBOARD, LZ32, LZEXPAND, MMSYSTEM, MOUSE, MPR, MSACM, 
159 MSACM32, MSNET32, MSVFW32, MSVIDEO, OLE2, OLE32, OLE2CONV, OLE2DISP, OLE2NLS, 
160 OLE2PROX, OLE2THK, OLEAUT32, OLECLI, OLECLI32, OLEDLG, OLESVR, OLESVR32, 
161 PSAPI, RASAPI16, RASAPI32, SHELL, SHELL32, SOUND, STORAGE, STRESS, SYSTEM,
162 TAPI32, TOOLHELP, TYPELIB, USER, USER32, VER, VERSION, W32SKRNL, W32SYS, 
163 WIN32S16, WIN87EM, WINASPI, WINDEBUG, WINEPS, WINMM, WING, WINSOCK, WINSPOOL, 
164 WNASPI32, WOW32, WPROCS, WSOCK32
166 .I -failreadonly
167 Read only files may not be opened in write mode (the default is to
168 allow opening read-only files for writing, because most Windows
169 programs always request read-write access, even on CD-ROM drives...).
171 .I -fixedmap
172 Use a "standard" color map.
174 .I -iconic
175 Start as an icon
177 .I -language xx
178 Set the language to
179 .I xx
180 (one of En, Es, De, No, Fr, Fi, Da, Cz, Eo, It, Ko, Hu, Pl, Po, Sw, Ca)
182 .I -managed
183 Create each top-level window as a properly managed X window
185 .I -mode modename
186 Determines the mode in which
187 .B wine
188 is started. Possible mode names are
189 .I standard
191 .I enhanced.
192 Enhanced mode is the default (when no -mode option is specified).
194 .I -name name
195 Set the application name
197 .I -privatemap
198 Use a private color map
200 .I -synchronous
201 Turn on synchronous display mode
203 .I -winver version
204 Specify which Windows version WINE should imitate.
205 Possible arguments are: win31, win95, nt351, and nt40.
206 .PD 1
207 .SH PROGRAM/ARGUMENTS
208 The program name may be specified in DOS format (
210 C:\\WINDOWS\\SOL.EXE)
211 or in Unix format (
212 .I /msdos/windows/sol.exe
213 ).  The program being executed may be passed arguments by adding them on 
214 to the end of the command line invoking
215 .B wine
216 (such as: wine "notepad C:\\TEMP\\README.TXT").  Note that
217 the program name and its arguments 
218 .I must
219 be passed as a single parameter, which is usually accomplished by placing
220 them together in quotation marks.  Multiple applications may be started
221 by placing all of them on the command line (such as: wine notepad clock).
222 .SH CONFIGURATION FILE
223 .B wine
224 expects a configuration file (
225 .I /usr/local/etc/wine.conf
226 ), which should
227 conform to the following rules (the format is just like a Windows .ini
228 file).  The actual file name may be specified during the execution of
230 .B configure
231 script with the --sysconfdir option.  Alternatively, you may have a 
232 .I .winerc
233 file of this format in your home directory or have the environment variable
234 .B WINE_INI
235 pointing to a configuration file, or use the -config option on the command 
236 line.
237 .SH CONFIGURATION FILE FORMAT
238 All entries are grouped in sections; a section begins with the line
240 .I [section name]
242 and continues until the next section starts. Individual entries
243 consist of lines of the form
245 .I entry=value
247 The value can be any text string, optionally included in single or
248 double quotes; it can also contain references to environment variables
249 surrounded by
250 .I ${}.
251 Supported section names and entries are listed below.
253 .B [Drive X]
255 This section is used to specify the root directory and type of each
256 .B DOS
257 drive, since most Windows applications require a DOS/MS-Windows based 
258 disk drive & directory scheme. There is one such section for every
259 drive you want to configure.
261 .I format: Path = <rootdirectory>
263 default: none
265 If you mounted your dos partition as 
266 .I /dos
267 and installed Microsoft Windows in 
268 C:\\WINDOWS then you should specify 
269 .I Path=/dos
270 in the
271 .I [Drive C]
272 section.
274 .I format: Type = <type>
276 default: hd
278 Used to specify the drive type; supported types are floppy, hd, cdrom
279 and network.
281 .I format: Label = <label>
283 default: 'Drive X'
285 Used to specify the drive label; limited to 11 characters.
287 .I format: Serial = <serial>
289 default: 12345678
291 Used to specify the drive serial number, as an 8-character hexadecimal
292 number.
294 .I format: Filesystem = <fstype>
296 default: unix
298 Used to specify the type of the filesystem on which the drive resides;
299 supported types are msdos (or fat), win95 (or vfat), unix. If the
300 drive spans several different filesystems, say unix.
302 .B [wine]
304 .I format: windows = <directory>
306 default: C:\\WINDOWS
308 Used to specify a different Windows directory
310 .I format: system = <directory>
312 default: C:\\WINDOWS\\SYSTEM
314 Used to specify a different system directory
316 .I format: temp = <directory>
318 default: C:\\TEMP
320 Used to specify a directory where Windows applications can store 
321 temporary files.
323 .I format: path = <directories separated by semi-colons>
325 default: C:\\WINDOWS;C:\\WINDOWS\\SYSTEM
327 Used to specify the path which will be used to find executables and .DLL's.
329 .I format: symboltablefile = <filename>
331 default: wine.sym
333 Used to specify the path and file name of the symbol table used by the built-in
334 debugger.
336 .B [serialports]
338 .I format: com[12345678] = <devicename>
340 default: none
342 Used to specify the devices which are used as com1 - com8.
344 .B [parallelports]
346 .I format: lpt[12345678] = <devicename>
348 default: none
350 Used to specify the devices which are used as lpt1 - lpt8.
352 .B [spy]
354 .I format: file = <filename or CON when logging to stdout>
356 default: none
358 Used to specify the file which will be used as
359 .B logfile.
361 .I format: exclude = <message names separated by semicolons>
363 default: none
365 Used to specify which messages will be excluded from the logfile.
367 .I format: include = <message names separated by semicolons>
369 default: none
370 .br Used to specify which messages will be included in the logfile.
372 .B [Tweak.Layout]
374 .I format: WineLook=<Win31|Win95|Win98>
376 default: Win31
377 .br 
378 Use Win95-like window displays or Win3.1-like window displays.
379 .SH SAMPLE CONFIGURATION FILE
380 A sample configuration file is distributed as
381 .B wine.ini
382 in the top-level directory of the source distribution.
383 .SH AUTHORS
384 .B Wine
385 is available thanks to the work of many developers. For a listing
386 of the authors, please see the file 
387 .B AUTHORS
388 in the top-level directory of the source distribution.
389 .SH BUGS
391 A status report on many appplications is available from
392 .I http://www.winehq.com/Apps.
393 Please add entries to this list for applications you currently run.
395 Bug reports and successes may be posted to 
396 .I comp.emulators.ms-windows.wine.
397 If you want to post a bug report, please read the file
398 .I documentation/bugreports
399 in the Wine source to see what information is necessary.
401 For problems and suggestions with this manpage, please send a note to
402 James Juran <jrj120@psu.edu>.
403 .SH AVAILABILITY
404 The most recent public version of 
405 .B wine
406 can be obtained via FTP from metalab.unc.edu or tsx-11.mit.edu in the 
407 /pub/linux/ALPHA/Wine/development directory.  The releases are in the 
408 format 'Wine-yymmdd.tar.gz', or 'Wine-yymmdd.diff.gz' for the diff's 
409 from the previous release.
411 The latest snapshot of the code may be obtained via CVS.  For information
412 on how to do this, please see
414 http://www.winehq.com/dev.html
416 WineHQ, the
417 .B wine
418 development headquarters, is at
419 .I http://www.winehq.com/.
420 This website contains a great deal of information about
421 .B wine
422 as well as a collection of unofficial patches against the current release.
425 .B wine 
426 newsgroup is 
427 .I comp.emulators.ms-windows.wine.
428 All discussions about the project take place in this forum.
429 .SH FILES
430 .PD 0
432 .I /usr/local/bin/wine
433 The Wine program loader.
435 .I /usr/local/bin/dosmod
436 The DOS program loader.
438 .I /usr/local/etc/wine.conf
439 Global configuration file for wine.
441 .I ~/.winerc
442 User-specific configuration file
444 .I /usr/local/lib/wine.sym
445 Global symbol table (used in debugger)
446 .SH "SEE ALSO"
447 .BR clone (2)