.\" -*- nroff -*- .TH WINE 1 "June 1, 1999" "Version 990523" "Windows On Unix" .SH NAME wine \- run Windows programs on Unix .SH SYNOPSIS .BI "wine " "[wine_options] " "program1 " "[program2 ... ]" .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. .PP .B wine currently runs a growing list of applications written for Win3.1, Win95, Win95, 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 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 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. .B pgcc currently doesn't work with 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, 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 option when running .B configure. .PP For more information, see the .I README file contained in the source distribution. .SH OPTIONS .TP .I -backingstore Turn on backing store .TP .I -config filename Use the named configuration file rather than the default (@sysconfdir@/wine.conf or ~/.winerc). .TP .I -debug Enter the debugger before starting application .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 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, bitblt, bitmap, caret, cd, cdaudio, class, clipboard, clipping, combo, comboex, comm, commctrl, commdlg, console, crtdll, cursor, datetime, dc, dde, ddeml, ddraw, debug, dialog, dinput, dll, dosfs, dosmem, dplay, driver, dsound, edit, event, exec, file, fixup, font, gdi, global, graphics, header, heap, hook, hotkey, icon, imagehlp, imagelist, imm, int, int10, int16, int17, int19, int21, int31, io, ipaddress, key, keyboard, ldt, listbox, listview, local, mci, mcianim, mciwave, mdi, menu, message, metafile, midi, mmaux, mmio, mmsys, mmtime, module, monthcal, mpr, msacm, msg, nativefont, nonclient, ntdll, ole, pager, palette, pidl, print, process, profile, progress, prop, psapi, psdrv, rebar, reg, region, relay, resource, s, scroll, security, segment, selector, sem, sendmsg, server, shell, shm, snoop, sound, static, statusbar, stress, string, syscolor, system, tab, task, text, thread, thunk, timer, toolbar, toolhelp, tooltips, trackbar, treeview, tweak, uitools, updown, ver, virtual, vxd, win, win16drv, win32, wing, winsock, wnet, x11, x11drv. .PP For more information on debugging messages, see the file .I documentation/debug-msgs in the source distribution. .RE .TP .I -depth n Change the depth to use for multiple-depth screens .TP .I -desktop geom Use a desktop window of the given geometry .TP .I -display name Use the specified 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 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 seperated 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 seperating the entries with a colon. Multiple libraries with the same load order can be separated with commas. .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 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 -failreadonly Read only files may not be opened in write mode (the default is to allow opening read-only files for writing, because most Windows programs always request read-write access, even on CD-ROM drives...). .TP .I -fixedmap Use a "standard" color map. .TP .I -iconic Start as an icon .TP .I -language xx Set the language to .I xx (one of Ca, Cs, Da, De, En, Eo, Es, Fi, Fr, Hu, It, Ko, No, Pl, Pt, Ru, Sv, Wa) .TP .I -managed Create each top-level window as a properly managed X window .TP .I -mode modename Determines the mode in which .B wine is started. Possible mode names are .I standard and .I enhanced. Enhanced mode is the default (when no -mode option is specified). .TP .I -name name Set the application name .TP .I -privatemap Use a private color map .TP .I -synchronous Turn on synchronous display mode .TP .I -winver version Specify which Windows version 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:\\WINDOWS\\SOL.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:\\TEMP\\README.TXT"). Note that the program name and its arguments .I must be passed as a single parameter, which is usually accomplished by placing them together in quotation marks. Multiple applications may be started by placing all of them on the command line (such as: wine notepad clock). .SH CONFIGURATION FILE .B wine expects a configuration file ( .I @sysconfdir@/wine.conf ), which should conform to the following rules (the format is just like a Windows .ini file). The actual directory where that file resides may be specified during the execution of the .B configure script with the --sysconfdir option. Alternatively, you may have a .I .winerc file of this format in your home directory or have the environment variable .B WINE_INI pointing to a configuration file, or use the -config option on the command line. .SH ENVIRONMENT VARIABLES .B wine makes the environment variables of the shell from which .B wine is started accesible to the windows/dos processes started. So use the appropriate syntax for your shell to enter environment variables you need. .SH CONFIGURATION FILE FORMAT All entries are grouped in sections; a section begins with the line .br .I [section name] .br and continues until the next section starts. Individual entries consist of lines of the form .br .I entry=value .br The value can be any text string, optionally included in single or double quotes; it can also contain references to environment variables surrounded by .I ${}. Supported section names and entries are listed below. .PP .B [Drive X] .br This section is used to specify the root directory and type of each .B DOS drive, since most Windows applications require a DOS/MS-Windows based disk drive & directory scheme. There is one such section for every drive you want to configure. .PP .I format: Path = .br default: none .br If you mounted your dos partition as .I /dos and installed Microsoft Windows in C:\\WINDOWS then you should specify .I Path=/dos in the .I [Drive C] section. .PP .I format: Type = .br default: hd .br Used to specify the drive type; supported types are floppy, hd, cdrom and network. .PP .I format: Label =