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