WINE(1)

NAME
wine - run Windows programs on Unix

SYNOPSIS
wine [wine_options] program1 [program2 ... ]

For instructions on passing arguments to Windows programs, please see the PROGRAM/ARGUMENTS section of the man page.

DESCRIPTION
wine program loads and runs the given program, where the program is a DOS, Windows 3.x, or Win32 executable.

wine currently runs a growing list of applications written for both Win3.1 and Win95. 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.

REQUIREMENTS
At present, wine will run under any Linux kernel more recent than 0.99.13, or under recent releases of NetBSD/i386, FreeBSD and OpenBSD/i386. Some bugs were fixed and additional features were added late in the Linux 2.0.x series, so if you have an old Linux kernel, you may want to upgrade to the latest 2.0.x release. 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.)

The current support for multithreaded applications relies on the clone(2) system call, which is currently only available on Linux. It should be possible to implement this for other operating systems, however.

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.

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 BUGS section to get it included in this man page.

gcc 2.7.x or later is required to build wine. Versions earlier than 2.7.2.3 may have problems when certain files are compiled with optimization. pgcc currently doesn't work with wine. The cause of this problem is unknown.

flex and yacc are required. Bison can be used in replace of yacc. If you have Redhat, make sure the bison and flex packages are installed.

INSTALLATION
To install 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 wine executable, and then "make install" to install it. By default, wine is installed in the /usr/local/ heirarchy; you can specify a different path with the --prefix option when running configure.

For more information, see the README file contained in the source distribution.

OPTIONS

-backingstore
    Turn on backing store

-config filename
    Use the named configuration file rather than the default (/usr/local/etc/wine.conf or ~/.winerc).

-debug
    Enter the debugger before starting application

-debugmsg [xxx]#name[,[xxx1]#name1][,<+|->relay=yyy1[:yyy2]]
    Turn debugging messages on or off.

    xxx is optional and can be one of the following: err, warn, fixme, or 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.

    For instance:

    -debugmsg warn+dll,+heap will turn on DLL warning messages and all heap messages.
    -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).
    -debugmsg -relay=LeaveCriticalSection:EnterCriticalSection will turn on all relay messages except for LeaveCriticalSection and EnterCriticalSection.
    -debugmsg +relay=ADVAPI32 will only turn on relay messages into the ADVAPI32 code.

    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.

    For more information on debugging messages, see the file documentation/debug-msgs in the source distribution.

-depth n
    Change the depth to use for multiple-depth screens

-desktop geom
    Use a desktop window of the given geometry

-display name
    Use the specified display

-dll name
    Enables/disables built-in DLL's - starting wine with -dll -commdlg is probably a good idea. The full list of DLLs modifiable by this is: ADVAPI32, AVIFILE, COMCTL32, COMDLG32, COMM, COMMDLG, COMPOBJ, CRTDLL, DCIMAN32, DDEML, DDRAW, DINPUT, DISPLAY, DPLAY, DPLAYX, DSOUND, GDI, GDI32, IMAGEHLP, IMM32, KEYBOARD, LZ32, LZEXPAND, MMSYSTEM, MOUSE, MPR, MSACM, MSACM32, MSNET32, MSVFW32, MSVIDEO, OLE2, OLE32, OLE2CONV, OLE2DISP, OLE2NLS, OLE2PROX, OLE2THK, OLEAUT32, OLECLI, OLECLI32, OLEDLG, OLESVR, OLESVR32, PSAPI, RASAPI16, RASAPI32, SHELL, SHELL32, SOUND, STORAGE, STRESS, SYSTEM, TAPI32, TOOLHELP, TYPELIB, USER, USER32, VER, VERSION, W32SKRNL, W32SYS, WIN32S16, WIN87EM, WINASPI, WINDEBUG, WINEPS, WINMM, WING, WINSOCK, WINSPOOL, WNASPI32, WOW32, WPROCS, WSOCK32

-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...).

-fixedmap
    Use a "standard" color map.

-iconic
    Start as an icon

-language xx
    Set the language to xx (one of En, Es, De, No, Fr, Fi, Da, Cz, Eo, It, Ko, Hu, Pl, Po, Sw, Ca)

-managed
    Create each top-level window as a properly managed X window

-mode modename
    Determines the mode in which wine is started. Possible mode names are standard and enhanced. Enhanced mode is the default (when no -mode option is specified).

-name name
    Set the application name

-privatemap
    Use a private color map

-synchronous
    Turn on synchronous display mode

-winver version
    Specify which Windows version WINE should imitate. Possible arguments are: win31, win95, nt351, and nt40.

PROGRAM/ARGUMENTS
The program name may be specified in DOS format ( C:\WINDOWS\SOL.EXE) or in Unix format ( /msdos/windows/sol.exe ). The program being executed may be passed arguments by adding them on to the end of the command line invoking wine (such as: wine "notepad C:\TEMP\README.TXT"). Note that the program name and its arguments 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).

CONFIGURATION FILE
wine expects a configuration file ( /usr/local/etc/wine.conf ), which should conform to the following rules (the format is just like a Windows .ini file). The actual file name may be specified during the execution of the configure script with the --sysconfdir option. Alternatively, you may have a .winerc file of this format in your home directory or have the environment variable WINE_INI pointing to a configuration file, or use the -config option on the command line.

ENVIRONMENT VARIABLES
wine makes the environment variables of the shell from which wine is started accesible to the windows/dos processes started. So use the appropriate syntax for your shell to enter environment variables you need.

CONFIGURATION FILE FORMAT
All entries are grouped in sections; a section begins with the line
[section name]
and continues until the next section starts. Individual entries consist of lines of the form
entry=value
The value can be any text string, optionally included in single or double quotes; it can also contain references to environment variables surrounded by ${}. Supported section names and entries are listed below.

[Drive X]
This section is used to specify the root directory and type of each 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.

format: Path = <rootdirectory>
default: none
If you mounted your dos partition as /dos and installed Microsoft Windows in C:\WINDOWS then you should specify Path=/dos in the [Drive C] section.

format: Type = <type>
default: hd
Used to specify the drive type; supported types are floppy, hd, cdrom and network.

format: Label = <label>
default: 'Drive X'
Used to specify the drive label; limited to 11 characters.

format: Serial = <serial>
default: 12345678
Used to specify the drive serial number, as an 8-character hexadecimal number.

format: Filesystem = <fstype>
default: win95
Used to specify the type of the file system Wine should emulate on a given directory structure/underlying file system.
Supported types are msdos (or fat), win95 (or vfat), unix.
Recommended:
  win95 for ext2fs, VFAT and FAT32
  msdos for FAT16 (ugly)
You definitely don't want to use "unix" unless you intend to port programs using Winelib.
Always try to avoid using FAT16. Use VFAT/FAT32 OS file system driver instead !

[wine]
format: windows = <directory>
default: C:\WINDOWS
Used to specify a different Windows directory

format: system = <directory>
default: C:\WINDOWS\SYSTEM
Used to specify a different system directory

format: temp = <directory>
default: C:\TEMP
Used to specify a directory where Windows applications can store temporary files.

format: path = <directories separated by semi-colons>
default: C:\WINDOWS;C:\WINDOWS\SYSTEM
Used to specify the path which will be used to find executables and .DLL's.

format: symboltablefile = <filename>
default: wine.sym
Used to specify the path and file name of the symbol table used by the built-in debugger.

[serialports]
format: com[12345678] = <devicename>
default: none
Used to specify the devices which are used as com1 - com8.

[parallelports]
format: lpt[12345678] = <devicename>
default: none
Used to specify the devices which are used as lpt1 - lpt8.

[spy]
format: file = <filename or CON when logging to stdout>
default: none
Used to specify the file which will be used as logfile.

format: exclude = <message names separated by semicolons>
default: none
Used to specify which messages will be excluded from the logfile.

format: include = <message names separated by semicolons>
default: none

[Tweak.Layout]
format: WineLook=<Win31|Win95|Win98>
default: Win31
Use Win95-like window displays or Win3.1-like window displays.

SAMPLE CONFIGURATION FILE
A sample configuration file is distributed as wine.ini in the top-level directory of the source distribution.

AUTHORS
Wine is available thanks to the work of many developers. For a listing of the authors, please see the file AUTHORS in the top-level directory of the source distribution.

BUGS

A status report on many appplications is available from http://www.winehq.com/Apps. Please add entries to this list for applications you currently run.

Bug reports and successes may be posted to comp.emulators.ms-windows.wine. If you want to post a bug report, please read the file documentation/bugreports in the Wine source to see what information is necessary.

For problems and suggestions with this manpage, please send a note to James Juran <jrj120@psu.edu>.

AVAILABILITY
The most recent public version of 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-yymmdd.tar.gz', or 'Wine-yymmdd.diff.gz' for the diff's from the previous release.

The latest snapshot of the code may be obtained via CVS. For information on how to do this, please see http://www.winehq.com/dev.html

WineHQ, the wine development headquarters, is at http://www.winehq.com/. This website contains a great deal of information about wine as well as a collection of unofficial patches against the current release.

The wine newsgroup is comp.emulators.ms-windows.wine. All discussions about the project take place in this forum.

FILES
/usr/local/bin/wine
    The Wine program loader.
/usr/local/bin/dosmod
    The DOS program loader.
/usr/local/etc/wine.conf
    Global configuration file for wine.
~/.winerc
    User-specific configuration file
/usr/local/lib/wine.sym
    Global symbol table (used in debugger)

SEE ALSO
clone(2)