Translation(s): English - Français - Português (Brasil) - Русский
Wine — (originally an acronym for "Wine Is Not an Emulator") is a compatibility layer capable of running Windows applications on several POSIX-compliant operating systems, such as Linux, Mac OSX, & BSD. Instead of simulating internal Windows logic like a virtual machine or emulator, Wine translates Windows API calls into POSIX calls on-the-fly, eliminating the performance and memory penalties of other methods and allowing you to cleanly integrate Windows applications into your desktop. |
Contents
Available versions
Since Debian Jessie you can choose between two sets of Wine packages: wine and wine-development.
Since Debian Bullseye, wine-development is no longer available, it is only available in Sid. See 988246.
wine tracks the stable releases from winehq.org (e.g. version 5.0.1), and wine-development the development releases (e.g. version 5.12).
Despite its name wine-development is also intended to be used by regular users. Do not mix this up with the *-dev packages which contain the header files and development libraries.
You can either install both sets at the same time, or only one of them. If you install both sets, "wine" will take precedence unless you configure your system otherwise, see "Usage" below.
Attention!
This procedure works only if the following requirements are met:
1 - Packages migrated to new versions (stable-security) that modify the C libraries have not been installed.
2 - No packages from deb-multimedia have been installed.
Otherwise, dependency non-compliance issues will occur.
Installation on Debian Jessie and newer
Step 1: Enable multiarch
On 64-bit systems you should enable a 32-bit architecture for multiarch. This is needed for running 32-bit Windows applications (many modern apps are still 32-bit), but also for large parts of the Windows subsystem itself. If in doubt, you do need it!
On Wine Versions greater than 7.0, it is possible to run 32 bit applications in a 64 bit Wine environment due to modern ?WoW64 support. If you are running such a version, you may opt to not use multiarch packages. The implementation is not perfect so it is still recommended to enable 32-bit architecture, See: https://www.winehq.org/news/2022011801
You can identify your architecture with the following command:
dpkg --print-architecture
E.g. for amd64 (which most users have) you may need i386. Enable it with the following command:
sudo dpkg --add-architecture i386 && sudo apt update
Step 2: Installation
You always need to install the wine (or wine-development) package. This should automatically install all other required packages if you already have enabled multiarch (step 1).
To run 32-bit Windows applications on (this is the most common case, independently of your Debian architecture) make sure that wine32 (or wine32-development) is installed (requires step 1) This is not required on Wine versions >7.0.
It's quite easy to run into broken dependencies when installing Wine: The multiarch setup requires packages from e.g. amd64 and i386 to be in exactly the same version. Usually you already have most of the required amd64 library packages installed. These packages are the versions from your default release, e.g. Debian Stable or Testing. But if you install Wine from another suite (e.g. Debian Backports or Unstable) then some newly needed i386 packages might have another version, and you face broken dependencies. To solve this install the i386 package from the same suite as the already installed amd64 package (e.g. "sudo apt install libpulse0:i386/testing"), and then continue to install Wine.
Standard installation
Install wine on a 64-bit architecture:
$sudo apt install \ wine \ wine64 \ libwine \ fonts-wine
Install wine on a 64-bit architecture (amd64 with i386 as foreign 32-bit architecture):
sudo dpkg --add-architecture i386 && sudo apt update sudo apt install \ wine \ wine32 \ wine64 \ libwine \ libwine:i386 \ fonts-wine
Install wine on a 32-bit architecture:
sudo apt install \ wine \ wine32 \ libwine \ fonts-wine
Install wine-development on a 64-bit architecture (amd64 with i386 as foreign 32-bit architecture):
sudo dpkg --add-architecture i386 && sudo apt update sudo apt install \ wine-development \ wine32-development \ wine64-development \ libwine-development \ libwine-development:i386 \ fonts-wine
Install wine-development on a 32-bit architecture:
sudo apt install \ wine-development \ wine32-development \ libwine-development \ fonts-wine
Installation from Bullseye Backports
For Debian Bullseye wine is available as backport. To enable bullseye-backports add this line to your sources.list (or add a new file with the ".list" extension to /etc/apt/sources.list.d/):
deb http://deb.debian.org/debian bullseye-backports main
and run
sudo apt update
Packages from backports are not installed automatically. But once they are installed you receive automatic updates. The following example commands make sure that all required packages are pulled from bullseye-backports instead of bullseye.
Do not simply use "apt install -t bullseye-backports wine" instead of the following example commands. You'd end up with dependency packages installed unnecessarily from bullseye-backports and have a high risk of "broken dependencies" because some new i386 dependency packages wouldn't match the versions of their already installed amd64 counterparts.
Install wine on a pure 64-bit architecture:
$sudo apt install \ wine/bullseye-backports \ libwine/bullseye-backports \ fonts-wine/bullseye-backports \ libvkd3d1/bullseye-backports \ libz-mingw-w64/bullseye-backports
Install wine on a 64-bit architecture (amd64 with i386 as foreign 32-bit architecture):
$sudo dpkg --add-architecture i386 && sudo apt update $sudo apt install \ wine/bullseye-backports \ wine32/bullseye-backports \ wine64/bullseye-backports \ libwine/bullseye-backports \ libwine:i386/bullseye-backports \ fonts-wine/bullseye-backports \ libvkd3d1/bullseye-backports \ libz-mingw-w64/bullseye-backports \ libvkd3d1:i386/bullseye-backports
Installation from Stretch backports
For Debian Stretch wine is available as backport. To enable stretch-backports add this line to your sources.list (or add a new file with the ".list" extension to /etc/apt/sources.list.d/):
deb http://deb.debian.org/debian stretch-backports main
and run
sudo apt update
Packages from backports are not installed automatically. But once they are installed you receive automatic updates. The following example commands make sure that all required packages are pulled from stretch-backports instead of stretch.
Do not simply use "apt install -t stretch-backports wine" instead of the following example commands. You'd end up with dependency packages installed unnecessarily from stretch-backports and have a high risk of "broken dependencies" because some new i386 dependency packages wouldn't match the versions of their already installed amd64 counterparts.
Install wine on a 64-bit architecture (amd64 with i386 as foreign 32-bit architecture):
sudo dpkg --add-architecture i386 && sudo apt update sudo apt install \ wine/stretch-backports \ wine32/stretch-backports \ wine64/stretch-backports \ libwine/stretch-backports \ libwine:i386/stretch-backports \ fonts-wine/stretch-backports
Install wine on a 32-bit architecture:
sudo apt install \ wine/stretch-backports \ wine32/stretch-backports \ libwine/stretch-backports \ fonts-wine/stretch-backports
Install wine-development on a 64-bit architecture (amd64 with i386 as foreign 32-bit architecture):
sudo dpkg --add-architecture i386 && sudo apt update sudo apt install \ wine-development/stretch-backports \ wine32-development/stretch-backports \ wine64-development/stretch-backports \ libwine-development/stretch-backports \ libwine-development:i386/stretch-backports \ fonts-wine/stretch-backports
Install wine-development on a 32-bit architecture:
sudo apt install \ wine-development/stretch-backports \ wine32-development/stretch-backports \ libwine-development/stretch-backports \ fonts-wine/stretch-backports
Installation from WineHQ's repo
WineHQ offers newer builds of wine for Bullseye and Bookworm. These packages are only available for the i386 and amd64 architectures. Installation instructions can be found here: WineHQ Debian
Optional Wine dependencies
wine and wine-development consist of a suite of packages. Some are optional and might not be installed automatically:
wine and wine-development each provide essential wrappers and convenience tools for the standard Wine components, and the alternatives system to provide the usual Wine command names.
wine32 and wine32-development each provide the binary loader for 32-bit Windows applications.
wine64 and wine64-development each provide the binary loader for 64-bit Windows applications.
wine32-preloader and wine32-development-preloader each provide the prelinked loader for 32-bit Windows applications.
wine64-preloader and wine64-development-preloader each provide the prelinked loader for 64-bit Windows applications.
wine32-tools and wine32-development-tools each provide the 32-bit Wine developer tools.
wine64-tools and wine64-development-tools each provide the 64-bit Wine developer tools (capable of generating both 32- and 64-bit results since Debian Stretch).
libwine and libwine-development each provide the Wine library (one package for each architecture, e.g. libwine:i386 and libwine:amd64).
libwine-dev and libwine-development-dev each provide Wine's C header files and development libraries (one package for each architecture, e.g. libwine-dev:i386 and libwine-dev:amd64).
wine-binfmt provides support for launching Windows executables directly (shared between both suites since Debian Stretch).
fonts-wine provides the Wine fonts (shared between both suites, available since Debian Stretch, previously part of libwine).
Debug packages are available as <package>.dbgsym.
Users on a 64-bit system should make sure that both wine32 and wine64 (or wine32-development and wine64-development) are installed (see Step 1: Enable multiarch).
libwine and libwine-development recommend many other libraries needed for optional functionalities. These should be installed automatically, but if you don't need them you may uninstall them. On amd64 remember that most times the i386 packages are the relevant ones.
Mono and Gecko
Windows software may require Mono for .NET, and Gecko for any HTML rendering. Debian has disabled these by default and do not provide packages.
Mono
The downloader for Wine Mono is intentionally disabled in the Debian packages. Unfortunately Wine Mono is not available in the official Debian archives.
You can find more information at: https://wiki.winehq.org/Mono
You can download the Wine Mono installer and copy them to one of the following locations:
- /usr/share/wine-mono/
- /usr/share/wine-development/mono/ (only if you are using wine-development)
- /usr/share/wine/mono/
- $XDG_CACHE_HOME/wine/
- $HOME/.cache/wine/ (if XDG_CACHE_HOME is not set)
Usage
Command names (choosing between wine and wine-development)
wine and wine-development use the Debian alternatives system to provide /usr/bin/wine and other commands. If both packages are installed it defaults to use the commands provided by wine.
You may change this by running:
sudo update-alternatives --config wine
You may force a version at any time (as long as the wineserver isn't running yet), by using the suffixed command names, e.g.:
wine-stable foo.exe wine-development foo.exe winecfg-stable winecfg-development winegcc-stable ... winegcc-development ...
Configuring Wine
To open the Wine configuration window, enter the following command:
winecfg
To open the Wine registry editor, enter the following command:
regedit
Installing and removing Windows programs
In order to install a program, launch the Windows installation file (.exe/.msi) with the following command:
wine setup.exe
In order to remove a program, launch the wine uninstaller with the following command:
wine uninstaller
Wine uninstaller does not delete menu entries and desktop icons; therefore they must be removed manually.
System integration
If you want to start Windows applications directly (with the command ./foo.exe) you have to enable binfmt support. Have a look at the README.debian for details.
Additional programs for Wine
winetricks - is a helper script to download and install various redistributable runtime libraries needed to run some programs in Wine. These may include replacements for components of Wine using closed source libraries.
To download and install, enter:
sudo apt install winetricks
If you have both wine and wine-development installed and want to use wine-development, you should execute the following commands before running winetricks:
export WINE=/usr/bin/wine-development export WINESERVER=/usr/bin/wineserver-development
playonlinux — Frontend for Wine which helps to easily install Windows games and programs in Linux.
q4wine — Helps to manage wine prefixes and install applications.
gnome-exe-thumbnailer - Wine .exe and other executable thumbnailer for GNOME
winegame — Helps to easily install Windows games and programs in Linux.
Alternatives
Wine Staging: "Wine Staging is the testing area of winehq.org. It contains bug fixes and features, which have not been integrated into the development branch yet. The idea of Wine Staging is to provide experimental features faster to end users and to give developers the possibility to discuss and improve their patches before they are integrated into the main branch."
An often easier and much less painful alternative to using and configuring Wine directly is the use of higher level tools that handle this automatically under the hood. For example, Lutris can be used to run Windows games via Wine using known working Wine versions and configurations. Lutris normally utilizes its own versions of Wine (although it still recommends the installation of a recent system version of Wine), but a popular alternative version of Wine for Lutris is Glorious Eggroll's wine-ge-custom.
Wine-tkg: "Wine-tkg is a build-system aiming at easier custom wine builds creation. You can now easily get the "plain wine + pba + steam fix" build you've been dreaming about!" See its README for more information.
Crossover — CrossOver is developed by CodeWeavers and based on Wine, an open-source Windows compatibility layer. CrossOver lets you run thousands of Windows apps on your favorite Linux distro like Ubuntu, Mint, Fedora, Debian, RHEL and more.
Links
The Wine Application Database (AppDB): Information on application compatibility with Wine.
The Wine Gaming subreddit (r/wine_gaming): "This subreddit is for the discussion of using WINE to play video games." (At the time of this edit, r/wine_gaming has many more members than r/winehq.)
The Wine HQ subreddit (r/winehq): "Here is the place to discuss about the success or failure of installing Windows games and applications. A place to ask questions to get something working or tips and tricks you learned to make something to work using Wine."