| .\" -*- nroff -*- |
| .TH WINE 1 "July 16, 1999" "Version 20000326" "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 Win3.1, |
| Win95, Win98, and Windows NT. Older, simpler applications work better than |
| newer, more complex ones. 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 "./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+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, nonclientntdll, |
| 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. |
| .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|elfdll|so|builtin}[,{n|e|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 four types of libraries that can be loaded into a process' address |
| space: Native windows dlls ( |
| .I native |
| ), ELF encapsulated windows dlls ( |
| .I elfdll |
| ), 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, e, 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 verion 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=e,n:shell,shell32=b+comctl32,commctrl=n |
| .br |
| Try to load comdlg32 and commdlg as elfdll first and try the native version |
| if the elfdll 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: win31, win95, nt351, and nt40. |
| .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 |
| ). The program being executed may be passed arguments by adding them on |
| 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, if 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, if a windows program understands |
| a option, which 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 |
| that 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 (usually |
| .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 |
| 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. |
| |
| .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 BUGS |
| .PP |
| A status report on many appplications 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. |
| .PP |
| For problems and suggestions with this manpage, please send a note to |
| James Juran <jrj120@psu.edu>. |
| .SH AVAILABILITY |
| The most recent public version of |
| .B wine |
| can be obtained via FTP from metalab.unc.edu or tsx-11.mit.edu 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/wineclpsrv |
| The |
| .B wine |
| clipboard server |
| .TP |
| .I @prefix@/lib/ |
| Directory containing |
| .B wines'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. |
| .TP |
| .I @prefix@/lib/wine.sym |
| Global symbol table (used in debugger) |
| .SH "SEE ALSO" |
| .BR wine.conf (5), |
| .BR clone (2) |
| |