Translation(s): English - Français - Português (Brasil) - Русский

(!) /Discussion


WINE logo obtained from official website winehq.org - Logo by Joel Holdsworth, original image designed by Jon Parshall - GNU LGPL

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.

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


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.

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.

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:

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:

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


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


Alternatives


Links



CategoryGame | CategoryNotNative | CategorySoftware