wwine - wrapped wine About Bugs Support Man page git repository Download


wwine - a simple wine(1) wrapper




wwine is a a wine(1) wrapper. It wraps various flavours of wine (including vanilla wine and crossover) into a single unified interface, complete with full bottle support for all of them (including vanilla wine).

It integrates well with all flavours, so for instance applications installed using crossover will be manageable through the usual crossover interface.

For vanilla wine it uses WINEPREFIX to achieve bottle support, creating bottles as ~/.wwinebottles/[BOTTLE_NAME].

When no --wine is explicitly supplied, wwine will use wine, or if that is not available, attempt to autodetect which flavour to use. See the information for --wine for more information.


-h, --help

Display the help screen

-w, --wine FLAVOUR

Use the supplied flavour of wine. The default is to use vanilla wine.

Possible parameters: wine, wine64, wine-unstable, wine-unstable64, crossover, cxgames, cxoffice, cedega, cx (alias for crossover), cxg (alias for cxgames), cxo (alias for cxoffice), /path/to/a/wine.binary or /path/to/a/crossover-installation. Note that if you have crossover, but not cxgames installed, wwine will alias cxgames to crossover, to provide a simple upgrade path where wrapper scripts 'just work'.

If this parameter is not supplied, wwine will attempt to autodetect which wine to use, checking for the existance of flavours in the following order, using the first one found: wine, crossover, cxoffice, cxgames, cedega. To see the default flavour wwine will use, run wwine --debuginfo.

If you supply a path to a crossover installation (or a cxgames installation), wwine will act as if --wine is "crossover" (or cxgames), but use the Crossover installation at that path instead of its autodetected one. If you supply the path to a wine binary then it will use that as the "wine" command instead of the one in your PATH.

-b, --bottle NAME

Use the bottle with the name supplied. For crossover, cxgames, cxoffice or cedega it uses the flavours builtin bottle support. For vanilla wine it sets WINEPREFIX to use ~/.wwinebottles/<NAME>. It defaults to no bottle, in which case vanilla wine will use ~/.wine, crossover/cxoffice/cxgames will use the bottle defined as default and for cedega a bottle named 'wwineFolder' will be used.

PlayOnLinux wines are a special case. If a bottle with the name supplied exists in ~/.PlayOnLinux/wineprefixes/ then wwine will use that bottle (ie. the existing PlayOnLinux bottle), otherwise it will use a bottle in ~/.wwinebottles.

--arch ARCH

Set the wine architecture to use. Accepts win32 and win64. If --wine ends with 64, then it defaults to win64, otherwise it defaults to win32. Usually you won't need to explicitly provied an --arch since wwine will infer it from --wine.

-g, --gamemode

Enables Feral Interactive's GameMode library, if it is installed. GameMode will enable certain performance features while the program is running, and then reset them once it exits. Can be used to get a bit of extra performance for games


Disable GameMode if enabled.

-l, --list

List all available wine versions. This will list the names that can be supplied to --wine as well as the actual wine version in question.

-k, --kill

Attempt to kill running wine processes. See also --drykill.

By default it will kill all running wine processes. If you are on Linux then you can combine this option with the --bottle and/or --wine (or even --from) options to limit it to killing only processes in a specific bottle and/or running under a specific wine.

The default signal is SIGTERM, however you can supply any signal number you want (ie. "wwine -k9").


Print what --kill would have done, without actually doing anything.


--env causes wwine to set the WINE and WINEPREFIX environment variables, and (optionally) run a native program with those variables set. This lets you run any program that uses the WINE and WINEPREFIX variables with wwine instead of wine (effectively giving you bottle support, as well as support for using crossover/cxgames/cxoffice/.. instead of wine).

When you use --env, wwine will obey --bottle and --wine (or --from) and set WINE and WINEPREFIX accordingly. If you supply additional parameters, then wwine will run that command, otherwise it will output the variables that would have been set.

See the EXAMPLES section for an example of how to use winetricks with cxgames using wwine's --env


Run winetricks with the wine/bottle combination supplied. This is almost equivalent to --env winetricks -- --no-isolate (the -- would be required if you used --env, and would stop processing the rest of the wwine command-line, --tricks does not add the --, so it can be supplied anywhere on the command-line) --tricks can be used to quickly call winetricks in a bottle. Examples:

Install package (ie. corefonts)

--tricks corefonts

Get winetricks help

--tricks -- --help

--wrap PATH

Generate a wrapper script of the current command-line and write it to PATH. Simply write a wwine command as usual, and append --wrap PATH to it, and wwine will generate a wrapper script that you can use to run that command with at any later time so you don't have to remember or retype it every time.

Generally PATH should be somewhere in your $PATH (ie. ~/bin/somecommand) so that you can start the command from anywhere.

By default the wrapper script will change directory to the directory you were in when you created it, but you can use --wrapdir to explicitly supply one.

The wrapper script also contains some basic code that ensures that even if you remove or move wwine, the wrapper script will keep working.

--wrapdir PATH

Change directory to PATH in the wrapper script generated by --wrap. If this is not supplied wwine will change to the directory that you were in at the time the wrapper script was created.

-s, --from PATH

Load parameters from the wwine wrapper script (as created by --wrap) located at PATH. wwine will act as though the wrapper script had been run, with one important difference, any additional command-line arguments supplied to wwine will override settings from the wrapper script.

This can be useful if you have a wrapper script set up to use cxgames, but want to give a one off attempt at using wine. In such a case you could do "wwine -s /path/to/wrapperscript -w wine".

This option is verbose, it will tell you each argument that is being applied.

-v, --verbose

Increase verbosity. When this is present wwine will tell you the exact commands it is running. Supply multiple times to increase verbosity (ie. to enable wwine debugging output).


Show the manpage. Normally 'man wwine' would do, but when wwine is installed from a rubygem the wwine manpage isn't placed anywhere in man(1)'s path, this will autodetect its location and issue man directly on the wwine.1 file (and thus work even when 'man wwine' does not).


Output information that is useful in bug reports, or when requesting support.


wwine file.exe

The same as 'WINEDEBUG=-all wine file.exe'

wwine -b file file.exe

Runs file.exe in wine, using the 'file' bottle.

wwine -w cxg -b file file.exe

Runs file.exe in crossover games using the cxgames 'file' bottle

wwine --wine ~/cxgames7.0/ -b file file.exe

Runs file.exe in the version of crossover games that is installed at ~/cxgames7.0, using the cxgames 'file' bottle.

Providing a path to a Crossover installation to --wine can be useful to run something in a version of cxgames/cxoffice other than your primary one. Ie. if a regression causes it to not run in a later version.

wwine -w cxg -b file file.exe --wrap ~/bin/startFile

This causes wwine to create a wrapper shell script at ~/bin/startFile. When you run that wrapper script, it will cd to the directory you were in when the script was created, and issue a wwine command with the above arguments. If you remove/uninstall wwine, the wrapper script will most likely keep working as it has a fallback that gets run if wwine cannot be found.

If you are not in the directory that you want wwine to run the file from, you may use --wrapdir to explicitly specify it.

wwine -s ~/bin/startFile -w wine

This causes wwine to run the command specified in ~/bin/startFile using the parameters specified in ~/bin/startFile, with the exception of --wine, which would be wine instead of cxgames (here assuming this is the file created by the above example).

wwine -w cxg -b file --env -- winetricks --no-isolate vcrun6

This causes wwine to set the environment variables WINE and WINEPREFIX, and then execute the command supplied. In this case it would run winetricks, which would be told to install "vcrun6". Because it is running under wwine's --env parameter, winetricks will use wwine to perform the actions, thus allowing you to use winetricks with cxgames.

wwine -w cxg -b file --tricks vcrun6

This is the same as the above, but using wwine's builtin support for winetricks.

wwine -k

Will make wwine attempt to kill all running wine processes on this system by sending them the TERM signal.

wwine -k9

Will make wwine attempt to kill all running wine processes on this system by sending them the KILL signal. Should only be used if "wwine -k" fails.

wwine --bottle test --wine cx --kill

Kill any crossover processes running in the bottle "test".


The following flavours of wine are supported:


Regular wine. http://www.winehq.org/

Crossover and Crossover Office/Games

The commercial Crossover release from Codeweavers, as well as the legacy versions "Crossover Office" and "Crossover Games". http://www.codeweavers.com/

Proton (Steam Play)

The wine version used by Steam Play to run Windows games in the native Steam client. Note that this does not obey --winearch or --debug, since proton uses its own builtin arch detection and debug method. https://steampowered.com and https://github.com/ValveSoftware/Proton.


Wine packages installed via Lutris. https://lutris.net/


Wine packages installed via PlayOnLinux. http://www.playonlinux.com/

GameTree Linux/Cedega

The unmaintained Cedega flavour of wine.


Requires at least one of wine, crossover, cxoffice, cxgames or cedega.



If this environment variable is set to the number '1' (ie. WWINE_VERBOSE=1) wwine will act as if --verbose was supplied. This is useful if you want to view verbose output from a launch script you created with --wrap.


If this is not set, wwine will set it to -all when using -w wine.


wwine uses the WINEPREFIX environment variable to add bottle support when in -w wine mode. If WINEPREFIX is set and a --bottle is supplied, wwine will override the existing WINEPREFIX. If no bottle is supplied, wwine will respect WINEPREFIX.

Any environment variables that wwine sets while it is running will be output by wwine when in --verbose mode.


If you need help or support please visit the website at http://random.zerodogg.org/wwine


If you find a bug, please report it at http://random.zerodogg.org/wwine/bugs. You may submit feature requests there as well.


wwine is written by Eskild Hustvedt <code at zerodogg dot org>


Copyright (C) Eskild Hustvedt 2009-2018

This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Projects fcgim GoldenPod gpgpwd GRandomWallpaper jQsimple-class MagicPO migraineDiary mussort phpdocr rotcelloc SPGal SWEC wwine Show more