Stephen Mereu
[wine] / documentation / wine.man.in
1 .\" -*- nroff -*-
2 .TH WINE 1 "July 16, 1999" "Version 20000326" "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 (x86 binaries only).
17 .PP
18 .B wine 
19 currently runs a growing list of applications written for Win3.1,
20 Win95, Win95, and Windows NT. Older, simpler applications work better than
21 newer, more complex ones.  A large percentage of the API has been implemented,
22 although there are still several major pieces of work left to do.
23 .SH REQUIREMENTS
24 .B wine
25 requires kernel-level threads to run. Currently, only Linux version 2.0
26 or later, FreeBSD-current or FreeBSD 3.0 or later, and Solaris x86
27 version 2.5 or later are supported. Other operating systems which support
28 kernel threads may be supported in the future.
29 .PP
30 Although Linux version 2.0 will mostly work, certain features (specifically
31 LDT sharing) required for properly supporting Win32 threads were not
32 implemented until kernel version 2.2. If you get consistent thread-related
33 crashes, you may want to upgrade to 2.2. Also, some bugs were fixed and
34 additional features were added late in the Linux 2.0.x series, so if you have
35 a very old Linux kernel, you may want to upgrade to at least the latest 2.0.x
36 release.
37 .PP
38 If you have FreeBSD, make sure you have the USER_LDT,
39 SYSVSHM, SYSVSEM, and SYSVMSG options turned on in your kernel. If you
40 are building 
41 .B wine 
42 on Solaris, you will most likely need to build Wine with the GNU toolchain 
43 (gcc, gas, etc.)
44 .PP
45 .B X
46 must be installed.  To use 
47 .B wine's 
48 support for multithreaded applications, your X libraries must be reentrant.  
49 If you have libc6 (glibc2), or you 
50 compiled the X libraries yourself, they were probably compiled with the 
51 reentrant option enabled.  
52 .PP
53 .B libXpm
54 must be installed.  If you're using Red Hat, make sure the following
55 packages are installed: XFree86-devel, xpm, and xpm-devel. If you're
56 using Debian, the packages you need are xpm4g and xpm4g-dev. If you 
57 have some other distribution, please send a list of packages required
58 to the address listed in the 
59 .B
60 BUGS
61 section to get it included in this man page.
62 .PP
63 .B gcc
64 2.7.2 or later is required to build
65 .B wine.
66 Versions earlier than 2.7.2.3 may have problems when certain files are
67 compiled with optimization, often due to problems with header file
68 management.
69 .B
70 pgcc
71 currently doesn't work with 
72 .B wine.  
73 The cause of this problem is unknown. 
74 .PP
75 .B flex
76 version 2.5 or later and 
77 .B yacc
78 are required.  Bison can be used in replace of yacc. If you have Redhat
79 or Debian, make sure the bison and flex packages are installed.
80 .SH INSTALLATION
81 To install 
82 .B wine,
83 run "./configure" in the top-level directory of the source, which will 
84 detect your specific setup and create the Makefiles.  You can run 
85 "./configure --help" to see the available configuration options.  Then do 
86 "make depend && make" to build the
87 .B wine
88 executable, and then "make install" to install it. By default,
89 .B wine
90 is installed in the /usr/local/ hierarchy (current configuration has it in
91 the @prefix@ hierarchy); you can specify a different path with
92 the --prefix or --sysconfdir options when running
93 .B configure.
94 .PP
95 For more information, see the 
96 .I README
97 file contained in the source distribution.
98 .SH OPTIONS
99 .TP
100 .I --config filename
101 Use the named configuration file rather than the default
102 (@sysconfdir@/wine.conf or ~/.winerc).
103 .TP
104 .I --debug
105 Enter the debugger before starting application.
106 .TP
107 .I --debugmsg [xxx]#name[,[xxx1]#name1][,<+|->relay=yyy1[:yyy2]]
108 Turn debugging messages on or off.  
109 .RS +7
110 .PP
111 xxx is optional and can be one of the following: 
112 .I err, 
113 .I warn, 
114 .I fixme, 
115 or 
116 .I trace. 
117 If xxx is not specified, all debugging messages for the specified
118 channel are turned on.  Each channel will print messages about a particular
119 component of 
120 .B wine.  
121 # is required and can be either + or -.  Note that 
122 there is not a space after the comma between names. yyy are either the
123 name of a whole DLL or a single API entry by Name you either
124 want to include or exclude from the relay listing. These names must be in
125 the case as names used in the relaylisting. You can do the same for snoop.
126 .PP
127 For instance:
128 .PP
129 .I --debugmsg warn+dll,+heap
130 will turn on DLL warning messages and all heap messages.  
131 .br
132 .I --debugmsg fixme-all,warn+cursor,+relay
133 will turn off all FIXME messages, turn on cursor warning messages, and turn
134 on all relay messages (API calls).
135 .br 
136 .I --debugmsg -relay=LeaveCriticalSection:EnterCriticalSection
137 will turn on all relay messages except for LeaveCriticalSection and
138 EnterCriticalSection.
139 .br 
140 .I --debugmsg +relay=ADVAPI32
141 will only turn on relay messages into the ADVAPI32 code.
142 .PP
143 The full list of names is: all, accel, advapi, animate, aspi, atom, avifile, bitblt,
144 bitmap, caret, cdrom, class, clipboard, clipping, combo, comboex, comm, commctrl,
145 commdlg, console, crtdll, cursor, datetime, dc, ddeml, ddraw, debug, debugstr, delayhlp, 
146 dialog, dinput, dll, dosfs, dosmem, dplay, driver, dsound, edit, elfdll, enhmetafile, 
147 event, exec, file, fixup, font, gdi, global, graphics, header, heap, hook, hotkey, 
148 icmp, icon, imagehlp, imagelist, imm, int, int10, int16, int17, int19, int21, int31,
149 io, ipaddress, joystick, key, keyboard, ldt, listbox, listview, local, mci, mcianim, 
150 mciavi, mcicda, mcimidi, mciwave, mdi, menu, message, metafile, midi, mmaux, mmio, 
151 mmsys, mmtime, module, monthcal, mpr, msacm, msg, msvideo, nativefont, nonclientntdll, 
152 odbc, ole, pager, palette, pidl, print, process, profile, progress, prop, propsheet, 
153 psapi, psdrv, ras, rebar, reg, region, relay, resource, scroll, segment, seh, selector,
154 sendmsg, server, setupx, shell, snoop, sound, static, statusbar, storage, stress, string, 
155 syscolor, system, tab, tape, tapi, task, text, thread, thunk, timer, toolbar, toolhelp, 
156 tooltips, trackbar, treeview, ttydrv, tweak, typelib, updown, ver, virtual, vxd, wave, 
157 win, win16drv, win32, winedbg, wing, winsock, winspool, wnet, x11 and x11drv.
158
159 .PP
160 For more information on debugging messages, see the file 
161 .I documentation/debug-msgs
162 in the source distribution.
163 .RE
164 .TP
165 .I --desktop geom
166 Use a desktop window of the given geometry, e.g. "640x480"
167 .TP
168 .I --display name
169 Use the specified X display
170 .TP
171 .I --dll name[,name[,...]]={native|elfdll|so|builtin}[,{n|e|s|b}[,...]][:...]
172 Selects the override type and load order of dll used in the loading process
173 for any dll. The default is set in @sysconfdir@/wine.conf or ~/.winerc. There
174 are currently four types of libraries that can be loaded into a process' address
175 space: Native windows dlls (
176 .I native
177 ), ELF encapsulated windows dlls (
178 .I elfdll
179 ), native ELF libraries (
180 .I so
181 )and 
182 .B wine 
183 internal dlls (
184 .I builtin
185 ). The type may be abbreviated with the first letter of the type (
186 .I n, e, s, b
187 ). Each sequence of orders must be separated by commas.
188 .br
189 Each dll may have its own specific load order. The load order determines
190 which verion of the dll is attempted to be loaded into the address space. If
191 the first fails, then the next is tried and so on. Different load orders can
192 be specified by separating the entries with a colon. Multiple libraries
193 with the same load order can be separated with commas.
194 .br
195 Examples:
196 .br
197 .I --dll comdlg32,commdlg=n,b
198 .br
199 Try to load comdlg32 and commdlg as native windows dll first and try
200 the builtin version if the native load fails.
201 .br
202 .I --dll comdlg32,commdlg=e,n:shell,shell32=b:comctl32,commctrl=n
203 .br
204 Try to load comdlg32 and commdlg as elfdll first and try the native version
205 if the elfdll load fails; load shell32/shell always as builtin and
206 comctl32/commctrl always as native.
207 .br
208 Note: It is wise to keep dll pairs (comdlg32/commdlg, shell/shell32, etc.)
209 having exactly the same load order. This will prevent mismatches at runtime.
210 See also configuration file format below.
211 .TP
212 .I --dosver version
213 Specify the DOS version 
214 .B wine 
215 should imitate (e.g. 6.22) This option
216 is only valid when used in conjunction with --winver win31.
217 .TP
218 .I --language xx
219 Set the language to
220 .I xx
221 (one of Br, Ca, Cs, Cy, Da, De, En, Eo, Es, Fi, Fr, Ga, Gd, Gv, Hu,
222 It, Ko, Kw, No, Pl, Pt, Ru, Sk, Sv, Wa)
223 .TP
224 .I --managed
225 Create each top-level window as a properly managed X window instead of
226 creating our own "sticky" window.
227 .TP
228 .I --synchronous
229 Turn on synchronous display mode. Useful for debugging X11 graphics problems.
230 .TP
231 .I --winver version
232 Specify which Windows version 
233 .B wine 
234 should imitate.
235 Possible arguments are: win31, win95, nt351, and nt40.
236 .PD 1
237 .SH PROGRAM/ARGUMENTS
238 The program name may be specified in DOS format (
239 .I
240 C:\\WINDOWS\\SOL.EXE)
241 or in Unix format (
242 .I /msdos/windows/sol.exe
243 ).  The program being executed may be passed arguments by adding them on 
244 to the end of the command line invoking
245 .B wine
246 (such as: wine "notepad C:\\TEMP\\README.TXT").  Note that
247 the program name and its arguments 
248 .I must
249 be passed as a single parameter, which is usually accomplished by placing
250 them together in quotation marks.  Multiple applications may be started
251 by placing all of them on the command line (such as: 
252 .B wine 
253 notepad clock).
254 .SH ENVIRONMENT VARIABLES
255 .B wine
256 makes the environment variables of the shell from which
257 .B wine
258 is started accessible to the windows/dos processes started. So use the
259 appropriate syntax for your shell to enter environment variables you need.
260 .SH CONFIGURATION FILE
261 .B wine
262 expects a configuration file (
263 .I @sysconfdir@/wine.conf
264 ), which must conform to the format specified in the
265 .BR wine.conf (5)
266 man page. A sample configuration file is wine.ini in the home directory of the 
267 .B wine source archive.
268 .SH AUTHORS
269 .B wine
270 is available thanks to the work of many developers. For a listing
271 of the authors, please see the file 
272 .B AUTHORS
273 in the top-level directory of the source distribution.
274 .SH BUGS
275 .PP
276 A status report on many appplications is available from
277 .I http://www.winehq.com/Apps.
278 Please add entries to this list for applications you currently run.
279 .PP
280 Bug reports and successes may be posted to 
281 .I comp.emulators.ms-windows.wine.
282 If you want to post a bug report, please read the file
283 .I documentation/bugreports
284 in the 
285 .B wine 
286 source to see what information is necessary.
287 .PP
288 For problems and suggestions with this manpage, please send a note to
289 James Juran <jrj120@psu.edu>.
290 .SH AVAILABILITY
291 The most recent public version of 
292 .B wine
293 can be obtained via FTP from metalab.unc.edu or tsx-11.mit.edu in the 
294 /pub/linux/ALPHA/Wine/development directory.  The releases are in the 
295 format 'Wine-yymmdd.tar.gz', or 'Wine-yymmdd.diff.gz' for the diff's 
296 from the previous release.
297 .PP
298 The latest snapshot of the code may be obtained via CVS.  For information
299 on how to do this, please see
300 .I
301 http://www.winehq.com/dev.html
302 .PP
303 WineHQ, the
304 .B wine
305 development headquarters, is at
306 .I http://www.winehq.com/.
307 This website contains a great deal of information about
308 .B wine.
309 .PP
310 The
311 .B wine 
312 newsgroup is 
313 .I comp.emulators.ms-windows.wine.
314 It is used for discussion of various 
315 .B wine end user aspects/help.
316 .PP
317 For further information about 
318 .B wine development, you might want to
319 subscribe to the 
320 .B wine 
321 "cvs", "devel" and "patches" mailing lists at
322 .I http://www.winehq.com/dev.html#ml.
323 .SH FILES
324 .PD 0
325 .TP
326 .I @prefix@/bin/wine
327 The 
328 .B wine 
329 program loader.
330 .TP
331 .I @prefix@/bin/dosmod
332 The DOS program loader.
333 .TP
334 .I @prefix@/bin/wineserver
335 The 
336 .B wine 
337 server 
338 .TP 
339 .I @prefix@/bin/wineclpsrv
340 The 
341 .B wine 
342 clipboard server
343 .TP 
344 .I @prefix@/lib/
345 Directory containing 
346 .B wines's
347 shared libraries 
348 .TP
349 .I @sysconfdir@/wine.conf
350 Global configuration file for 
351 .B wine.
352 .TP
353 .I ~/.winerc
354 User-specific configuration file
355 .TP 
356 .I ~/.wine
357 Directory containing user specific data managed by 
358 .B wine. 
359 .TP
360 .I @prefix@/lib/wine.sym
361 Global symbol table (used in debugger)
362 .SH "SEE ALSO"
363 .BR wine.conf (5),
364 .BR clone (2)
365