Differences between revisions 56 and 57
Revision 56 as of 2020-07-14 09:00:14
Size: 13637
Comment: Jessie and Wheezy are EOL, remove their version-specific notes
Revision 57 as of 2020-11-30 21:10:42
Size: 13642
Editor: nodiscc
Comment: update page categories
Deletions are marked like this. Additions are marked like this.
Line 249: Line 249:
CategoryGame | CategoryNotNative CategoryGame | CategoryVirtualization

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

(!) /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.

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.

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!

You can identify your architecture with the following command:

dpkg --print-architecture

E.g. for amd64 (which most users have) you 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 (this is the most common case, independently of your Debian architecture) make sure that wine32 (or wine32-development) is installed (requires step 1).

  • 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 (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 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

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:

  • /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


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

  • Wine Staging Wine Staging (formerly wine-compholio) is a special Wine version containing bug fixes and features, which are not yet available in regular Wine versions. The idea of Wine Staging is to provide new features faster to end users and to give developers the possibility to discuss and improve their patches before they are sent upstream.

Links



CategoryGame | CategoryVirtualization