.\" -*- nroff -*- .TH WINE 1 "Nov 27, 2000" "Version 20001026" "Windows On Unix" .SH NAME wine \- run Windows programs on Unix .SH SYNOPSIS .BI "wine " "[wine_options] " "program " "[arguments ... ]" .PP For instructions on passing arguments to Windows programs, please see the .B PROGRAM/ARGUMENTS section of the man page. .SH DESCRIPTION .B wine .I program loads and runs the given program, where the program is a DOS, Windows 3.x, or Win32 executable (x86 binaries only). .PP For debugging wine, use .B winedbg .I program instead. .PP .B wine currently runs a growing list of applications written for all kinds of Windows versions >= Win2.0, e.g. Win3.1, Win95/98, NT. Older, simpler applications work better than newer, more complex ones. Using Windows ME or Win2000 components with Wine is more problematic than using none at all or the ones from older Windows versions. A large percentage of the API has been implemented, although there are still several major pieces of work left to do. .SH REQUIREMENTS .B wine requires kernel-level threads to run. Currently, only Linux version 2.0 or later, FreeBSD-current or FreeBSD 3.0 or later, and Solaris x86 version 2.5 or later are supported. Other operating systems which support kernel threads may be supported in the future. .PP Although Linux version 2.0 will mostly work, certain features (specifically LDT sharing) required for properly supporting Win32 threads were not implemented until kernel version 2.2. If you get consistent thread-related crashes, you may want to upgrade to 2.2. Also, some bugs were fixed and additional features were added late in the Linux 2.0.x series, so if you have a very old Linux kernel, you may want to upgrade to at least the latest 2.0.x release. .PP If you have FreeBSD, make sure you have the USER_LDT, SYSVSHM, SYSVSEM, and SYSVMSG options turned on in your kernel. If you are building .B wine on Solaris, you will most likely need to build wine with the GNU toolchain (gcc, gas, etc.) .PP .B X must be installed. To use .B wine's support for multithreaded applications, your X libraries must be reentrant. If you have libc6 (glibc2), or you compiled the X libraries yourself, they were probably compiled with the reentrant option enabled. .PP .B libXpm must be installed. If you're using Red Hat, make sure the following packages are installed: XFree86-devel, xpm, and xpm-devel. If you're using Debian, the packages you need are xpm4g and xpm4g-dev. If you have some other distribution, please send a list of packages required to the address listed in the .B BUGS section to get it included in this man page. .PP .B gcc 2.7.2 or later is required to build .B wine. Versions earlier than 2.7.2.3 may have problems when certain files are compiled with optimization, often due to problems with header file management. .B pgcc currently doesn't work with .B wine. The cause of this problem is unknown. .PP .B flex version 2.5 or later and .B yacc are required. Bison can be used in replace of yacc. If you have Redhat or Debian, make sure the bison and flex packages are installed. .SH INSTALLATION To install .B wine, run either "tools/wineinstall" (recommended), or do it the hard way: run "./configure" in the top-level directory of the source, which will detect your specific setup and create the Makefiles. You can run "./configure --help" to see the available configuration options. Then do "make depend && make" to build the .B wine executable, and then "make install" to install it. By default, .B wine is installed in the /usr/local/ hierarchy (current configuration has it in the @prefix@ hierarchy); you can specify a different path with the --prefix or --sysconfdir options when running .B configure. .PP For more information, see the .I README file contained in the source distribution. .SH OPTIONS .TP .I --config filename Use the named configuration file rather than the default (@sysconfdir@/wine.conf or ~/.winerc). .TP .I --debugmsg [xxx]#name[,[xxx1]#name1][,<+|->relay=yyy1[:yyy2]] Turn debugging messages on or off. .RS +7 .PP xxx is optional and can be one of the following: .I err, .I warn, .I fixme, or .I trace. If xxx is not specified, all debugging messages for the specified channel are turned on. Each channel will print messages about a particular component of .B wine. # is required and can be either + or -. Note that there is not a space after the comma between names. yyy are either the name of a whole DLL or a single API entry by name you either want to include or exclude from the relay listing. These names must be in the case as names used in the relaylisting. You can do the same for snoop. .PP For instance: .PP .I --debugmsg warn+all will turn on all warning messages (recommended for debugging) .br .I --debugmsg warn+dll,+heap will turn on DLL warning messages and all heap messages. .br .I --debugmsg fixme-all,warn+cursor,+relay will turn off all FIXME messages, turn on cursor warning messages, and turn on all relay messages (API calls). .br .I --debugmsg -relay=LeaveCriticalSection:EnterCriticalSection will turn on all relay messages except for LeaveCriticalSection and EnterCriticalSection. .br .I --debugmsg +relay=ADVAPI32 will only turn on relay messages into the ADVAPI32 code. .PP The full list of names is: all, accel, advapi, animate, aspi, atom, avifile, bitblt, bitmap, caret, cdrom, class, clipboard, clipping, combo, comboex, comm, commctrl, commdlg, console, crtdll, cursor, datetime, dc, ddeml, ddraw, debug, debugstr, delayhlp, dialog, dinput, dll, dosfs, dosmem, dplay, driver, dsound, edit, elfdll, enhmetafile, event, exec, file, fixup, font, gdi, global, graphics, header, heap, hook, hotkey, icmp, icon, imagehlp, imagelist, imm, int, int10, int16, int17, int19, int21, int31, io, ipaddress, joystick, key, keyboard, ldt, listbox, listview, local, mci, mcianim, mciavi, mcicda, mcimidi, mciwave, mdi, menu, message, metafile, midi, mmaux, mmio, mmsys, mmtime, module, monthcal, mpr, msacm, msg, msvideo, nativefont, nonclient, ntdll, odbc, ole, pager, palette, pidl, print, process, profile, progress, prop, propsheet, psapi, psdrv, ras, rebar, reg, region, relay, resource, scroll, segment, seh, selector, sendmsg, server, setupx, shell, snoop, sound, static, statusbar, storage, stress, string, syscolor, system, tab, tape, tapi, task, text, thread, thunk, timer, toolbar, toolhelp, tooltips, trackbar, treeview, ttydrv, tweak, typelib, updown, ver, virtual, vxd, wave, win, win16drv, win32, winedbg, wing, winsock, winspool, wnet, x11 and x11drv. .PP For more information on debugging messages, see the file .I documentation/debug-msgs in the source distribution (FIXME: outdated). .RE .TP .I --desktop geom Use a desktop window of the given geometry, e.g. "640x480" .TP .I --display name Use the specified X display .TP .I --dll name[,name[,...]]={native|so|builtin}[,{n|s|b}[,...]][+...] Selects the override type and load order of dll used in the loading process for any dll. The default is set in @sysconfdir@/wine.conf or ~/.winerc. There are currently three types of libraries that can be loaded into a process' address space: Native windows dlls ( .I native ), native ELF libraries ( .I so )and .B wine internal dlls ( .I builtin ). The type may be abbreviated with the first letter of the type ( .I n, s, b ). Each sequence of orders must be separated by commas. .br Each dll may have its own specific load order. The load order determines which version of the dll is attempted to be loaded into the address space. If the first fails, then the next is tried and so on. Different load orders can be specified by separating the entries with a plus sign. Multiple libraries with the same load order can be separated with commas. It is also possible to use the --dll option several times, to specify different loadorders for different libraries .br Examples: .br .I --dll comdlg32,commdlg=n,b .br Try to load comdlg32 and commdlg as native windows dll first and try the builtin version if the native load fails. .br .I --dll shell,shell32=n --dll c:\(rs\(rsfoo\(rs\(rsbar\(rs\(rsbaz=b .br Try to load the libraries shell and shell32 as native windows dlls. Furthermore, if an application request to load c:\(rsfoo\(rsbar\(rsbaz.dll load the builtin library baz. .br .I --dll comdlg32,commdlg=b,n:shell,shell32=b+comctl32,commctrl=n .br Try to load comdlg32 and commdlg as builtin first and try the native version if the builtin load fails; load shell32/shell always as builtin and comctl32/commctrl always as native. .br Note: It is wise to keep dll pairs (comdlg32/commdlg, shell/shell32, etc.) having exactly the same load order. This will prevent mismatches at runtime. See also configuration file format below. .TP .I --dosver version Specify the DOS version .B wine should imitate (e.g. 6.22) This option is only valid when used in conjunction with --winver win31. .TP .I --language xx Set the language to .I xx (one of Br, Ca, Cs, Cy, Da, De, En, Eo, Es, Fi, Fr, Ga, Gd, Gv, Hr, Hu, It, Ko, Kw, No, Pl, Pt, Ru, Sk, Sv, Wa) .TP .I --managed Create each top-level window as a properly managed X window instead of creating our own "sticky" window. .TP .I --synchronous Turn on synchronous display mode. Useful for debugging X11 graphics problems. .TP .I --winver version Specify which Windows version .B wine should imitate. Possible arguments are: win95, nt40, win31, win2000, win98, nt351, win30 and win20. .PD 1 .SH PROGRAM/ARGUMENTS The program name may be specified in DOS format ( .I C:\(rs\(rsWINDOWS\(rs\(rsSOL.EXE) or in Unix format ( .I /msdos/windows/sol.exe ). You may pass arguments to the program being executed by adding them to the end of the command line invoking .B wine (such as: wine notepad C:\(rs\(rsTEMP\(rs\(rsREADME.TXT). Command line processing goes as follows: first .B wine checks whether one or more of the above mentioned .B wine options have been specified. These are removed from the command line, which is passed to the windows program. You can use the parameter .I -- to indicate that .B wine should stop command line processing. This is needed in case a windows program understands an option that is usually interpreted (and thus removed from the command line) by .B wine. For example, if you want to execute .B wine with the options .I --managed --config myapp.winerc and if .B wine should run the program .I myapp.exe with the arguments .I --config my.ini somefile , then you could use the following command line to invoke .B wine: .PP .I wine --managed --config myapp.winerc -- myapp.exe --config my.ini somefile .PP Note that in contrast to previous versions of .B wine, you must not pass program name and program option in one argument to .B wine. To run more than one windows program, just execute .B wine once with the name of each program as argument. .SH ENVIRONMENT VARIABLES .B wine makes the environment variables of the shell from which .B wine is started accessible to the windows/dos processes started. So use the appropriate syntax for your shell to enter environment variables you need. .TP .I WINEPREFIX If set, the content of this variable is taken as the name of the directory where .B wine stores its data (the default is .I $HOME/.wine ). This directory contains also the socket, which is used to communicate with the .I wineserver. All .B wine processes using the same .B wineserver (i.e.: same user) share certain things like registry and shared memory. By setting .I WINEPREFIX to different values for different .B wine processes, it is possible to run a number of truly independent .B wine processes. .TP .I WINESERVER Specifies the path and name of the .B wineserver binary. If not set, a file named "wineserver" is searched in the path and in a few other likely locations. .TP .I WINELOADER Specifies the path and name of the .B wine binary to use to launch new Windows processes. If not set, a binary named "wine" is searched in the path and in a few other likely locations. .TP .I WINEDLLPATH Specifies the path(s) in which to search for builtin dll files. This is a list of directories separated by ":". Builtin dlls are also searched in the directories specified by the standard .I LD_LIBRARY_PATH if they are not found in the directories listed in .I WINEDLLPATH. .SH CONFIGURATION FILE .B wine expects a configuration file ( .I @sysconfdir@/wine.conf ), which must conform to the format specified in the .BR wine.conf (5) man page. A sample configuration file is wine.ini in the base directory of the .B wine source archive. Alternatively a configuration file with the name .I .winerc in the home directory of the user running .B wine can be used. The third option is to specify the name of the configuration file with the .B --config option. .SH AUTHORS .B wine is available thanks to the work of many developers. For a listing of the authors, please see the file .B AUTHORS in the top-level directory of the source distribution. .SH COPYRIGHT .B wine can be distributed under the terms of the X11 license. A copy of the license is in the file .B LICENSE in the top-level directory of the source distribution. .SH BUGS .PP A status report on many applications is available from .I http://www.winehq.com/Apps. Please add entries to this list for applications you currently run. .PP Bug reports and successes may be posted to .I comp.emulators.ms-windows.wine. If you want to post a bug report, please read the file .I documentation/bugreports in the .B wine source to see what information is necessary (FIXME: outdated). .PP For problems and suggestions with this manpage, please send a note to James Juran . .SH AVAILABILITY The most recent public version of .B wine can be obtained via FTP from ibiblio.org in the /pub/Linux/ALPHA/Wine/development directory. The releases are in the format 'Wine-yyyymmdd.tar.gz', or 'Wine-yyyymmdd.diff.gz' for the diff's from the previous release. .PP The latest snapshot of the code may be obtained via CVS. For information on how to do this, please see .I http://www.winehq.com/dev.html .PP WineHQ, the .B wine development headquarters, is at .I http://www.winehq.com/. This website contains a great deal of information about .B wine. .PP The .B wine newsgroup is .I comp.emulators.ms-windows.wine. It is used for discussion of various .B wine end user aspects/help. .PP For further information about .B wine development, you might want to subscribe to the .B wine "cvs", "devel" and "patches" mailing lists at .I http://www.winehq.com/dev.html#ml. .SH FILES .PD 0 .TP .I @prefix@/bin/wine The .B wine program loader. .TP .I @prefix@/bin/dosmod The DOS program loader. .TP .I @prefix@/bin/wineserver The .B wine server .TP .I @prefix@/bin/winedbg The .B wine debugger .TP .I @prefix@/bin/wineclpsrv The .B wine clipboard server .TP .I @prefix@/lib/ Directory containing .B wine's shared libraries .TP .I @sysconfdir@/wine.conf Global configuration file for .B wine. .TP .I ~/.winerc User-specific configuration file .TP .I ~/.wine Directory containing user specific data managed by .B wine. .SH "SEE ALSO" .BR wine.conf (5)