WINE(1)
π WINE β run Windows programs on Unix π
okay bestie, gather round, because we're about to talk about wine and honestly? it's giving main character energy. this is the Unix manual page for it, but make it cute. every single fact is still in here, i promise β no cap. π«Ά
β¨ SYNOPSIS β¨
wine program [arguments]
wine --help
wine --version
lowkey important note: for the deets on how to pass arguments to Windows programs, scroll your fine self down to the PROGRAM/ARGUMENTS section. it's right there. i gotchu. π
πΈ DESCRIPTION πΈ
wine loads and runs whatever program you hand it. and when i say whatever, i mean it β it can be a DOS, Windows 3.x, Win32 or Win64 executable (the Win64 one is on 64-bit systems, obviously πββοΈ).
if you're here to debug wine? bestie, wrong tool. use winedbg instead.
and if you're running CUI executables (aka Windows console programs), please please please use wineconsole instead of wine. it shows the output in a separate window, which is the whole vibe. using plain wine for CUI programs gives you only very limited console support, and your program might straight up not function properly. like, it'll be a mess. π
and when you invoke it with --help or --version as the only argument, wine just prints a lil help message or its version respectively and dips. iconic behavior, honestly. β¨
π PROGRAM/ARGUMENTS π
the program name can be written in DOS format like C:\WINDOWS\SOL.EXE, or in Unix format like /msdos/windows/sol.exe. both slay. π¦
you can pass arguments to the program you're executing by just... adding them to the end of the command line that invokes wine. for example:
wine notepad C:\TEMP\README.TXT
β οΈ but listen β you need to '\' escape special characters (and spaces, bestie, the spaces!!) when you're invoking Wine via a shell. like this:
wine C:\\Program\ Files\\MyPrg\\test.exe
also, the program can totally be one of the Windows executables that ships with Wine, and in that case you don't even have to specify the full path. not mandatory. we're chill like that. e.g. wine explorer or wine notepad. π
π ENVIRONMENT π
wine makes the environment variables of the shell it was started from accessible to the Windows/DOS processes it starts. so just use whatever syntax your shell wants for entering the environment variables you need. periodt.
WINEPREFIX
if this is set, its contents get taken as the name of the directory where Wine stores its data (the default is $HOME/.wine). β¨
this directory is also used to identify the socket used to communicate with the wineserver. all wine processes using the same wineserver (i.e. same user) share certain things like registry, shared memory, and config file. and by setting WINEPREFIX to different values for different wine processes, you can run a bunch of truly independent wine processes. obsessed. π
WINESERVER
specifies the path and name of the wineserver binary. if it's not set, Wine will look for a file named "wineserver" in the path and in a few other likely locations. π
WINELOADER
specifies the path and name of the wine binary to use to launch new Windows processes. if it's not set, Wine will look for a file named "wine" in the path and in a few other likely locations. same energy, different binary. π¦
WINEDEBUG
turns debugging messages on or off. the syntax of the variable is of the form:
[class][+|-]channel[,[class2][+|-]channel2]
class is optional and can be one of the following: err, warn, fixme, or trace. if class is not specified, all debugging messages for the specified channel are turned on. each channel prints messages about a particular component of Wine.
the following character can be either + or - to switch the specified channel on or off respectively. if there's no class part before it, a leading + can be omitted.
π¨ note that spaces are not allowed anywhere in the string. not one. nope. π
examples, because we love a demo:
WINEDEBUG=warn+all : will turn on all warning messages (recommended for debugging).
WINEDEBUG=warn+dll,+heap : will turn on DLL warning messages and all heap messages.
WINEDEBUG=fixme-all,warn+cursor,+relay : will turn off all FIXME messages, turn on cursor warning messages, and turn on all relay messages (API calls).
WINEDEBUG=relay : will turn on all relay messages. for more control on including or excluding functions and dlls from the relay trace, look into the HKEY_CURRENT_USER\Software\Wine\Debug registry key. π
for more info on debugging messages, see the Running Wine chapter of the Wine User Guide. π
WINEDLLPATH
specifies the path(s) in which to search for builtin dlls and Winelib applications. this is a list of directories separated by ":". in addition to any directory specified in WINEDLLPATH, Wine will also look in the installation directory. π«
WINEDLLOVERRIDES
defines the override type and load order of dlls used in the loading process for any dll. okay so there are currently two types of libraries that can be loaded into a process address space:
- native windows dlls (
native) - Wine internal dlls (
builtin)
the type may be abbreviated with the first letter of the type (n or b). the library may also be disabled (''). each sequence of orders must be separated by commas.
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. multiple libraries with the same load order can be separated with commas. it's also possible to specify different loadorders for different libraries by separating the entries by ";".
the load order for a 16-bit dll is always defined by the load order of the 32-bit dll that contains it (which you can identify by looking at the symbolic link of the 16-bit .dll.so file). for instance, if ole32.dll is configured as builtin, storage.dll will be loaded as builtin too, since the 32-bit ole32.dll contains the 16-bit storage.dll. the way that works... it's giving nesting doll realness. πͺ
examples!! β¨
WINEDLLOVERRIDES="comdlg32,shell32=n,b" : Try to load comdlg32 and shell32 as native windows dll first and try the builtin version if the native load fails.
WINEDLLOVERRIDES="comdlg32,shell32=n;c:\\foo\\bar\\baz=b" : Try to load the libraries comdlg32 and shell32 as native windows dlls. Furthermore, if an application request to load c:\foo\bar\baz.dll load the builtin library baz.
WINEDLLOVERRIDES="comdlg32=b,n;shell32=b;comctl32=n;oleaut32=" : Try to load comdlg32 as builtin first and try the native version if the builtin load fails; load shell32 always as builtin and comctl32 always as native; oleaut32 will be disabled.
WINEPATH
specifies additional path(s) to be prepended to the default Windows PATH environment variable. this is a list of Windows-style directories separated by ";". π€οΈ
for a permanent alternative, edit (create it if needed) the PATH value under the HKEY_CURRENT_USER\Environment registry key.
WINEARCH
specifies the Windows architecture to support. it can be set either to win32 (support only 32-bit applications), or to win64 (support both 64-bit applications and 32-bit ones in WoW64 mode).
π¨ the architecture supported by a given Wine prefix is set at prefix creation time and cannot be changed afterwards. when running with an existing prefix, Wine will refuse to start if WINEARCH doesn't match the prefix architecture. so like... choose wisely bestie. no takebacks. π
WINE_D3D_CONFIG
specifies Direct3D configuration options. it can be used instead of modifying the HKEY_CURRENT_USER\Software\Wine\Direct3D registry key. the value is a comma- or semicolon-separated list of key-value pairs. for example:
WINE_D3D_CONFIG="renderer=vulkan;VideoPciVendorID=0xc0de"
if an individual setting is specified in both the environment variable and the registry, the former takes precedence. the env var wins. she's the main character. π
DISPLAY
specifies the X11 display to use. π₯οΈ
OSS sound driver configuration variables: π§
AUDIODEVβ Set the device for audio input / output. Default/dev/dsp.MIXERDEVβ Set the device for mixer controls. Default/dev/mixer.MIDIDEVβ Set the MIDI (sequencer) device. Default/dev/sequencer.
π¦ FILES π¦
wineβ The Wine program loader.wineconsoleβ The Wine program loader for CUI (console) applications.wineserverβ The Wine server.winedbgβ The Wine debugger.$WINEPREFIX/dosdevicesβ Directory containing the DOS device mappings. each file in that directory is a symlink to the Unix device file implementing a given device. for instance, ifCOM1is mapped to/dev/ttyS0you'd have a symlink of the form$WINEPREFIX/dosdevices/com1 -> /dev/ttyS0. πΈ
DOS drives are also specified with symlinks; for instance if drive D: corresponds to the CDROM mounted at /mnt/cdrom, you'd have a symlink $WINEPREFIX/dosdevices/d: -> /mnt/cdrom. the Unix device corresponding to a DOS drive can be specified the same way, except with '::' instead of ':'. so for the previous example, if the CDROM device is mounted from /dev/hdc, the corresponding symlink would be $WINEPREFIX/dosdevices/d:: -> /dev/hdc. β¨
π 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. they ate and left no crumbs, fr fr. π
π COPYRIGHT π
Wine can be distributed under the terms of the LGPL license. a copy of the license is in the file COPYING.LIB in the top-level directory of the source distribution.
π BUGS π
a status report on many applications is available from the Wine Application Database. please add entries to this list for applications you currently run, if necessary. help a bestie out. π«Ά
bugs can be reported on the Wine bug tracker.
β AVAILABILITY β
the most recent public version of wine is available through WineHQ, the Wine development headquarters. go get her. π
π SEE ALSO π
wineserver(1), winedbg(1), Wine documentation and support.
and that's the whole page bestie!! this one's from Wine 10.0, dated July 2013 β yeah she's vintage but she still serves. π β¨π¦ go run some Windows programs on Unix, you've got this. mwah. π«Άπ
π¦ where this page comes from
- ubuntu resolute: wine64 10.0~repack-12ubuntu1 Β· LGPL-2.1-or-later
- ubuntu stonking: wine64 10.0~repack-12ubuntu1 Β· LGPL-2.1-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms