Differences between revisions 2 and 58 (spanning 56 versions)
Revision 2 as of 2015-07-18 19:51:36
Size: 4733
Editor: Alex
Comment:
Revision 58 as of 2020-12-01 03:11:26
Size: 13637
Editor: PaulWise
Comment: wine emulation is not virtualisation
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:
||<tablestyle="width: 100%;" style="border: 0px hidden">~-[[DebianWiki/EditorGuide#translation|Translation(s)]]: [[English]] - [[fr/Wine|Français]] - ru/Wine|Русский-~||<style="text-align: right;border: 0px hidden"> (!) [[/Discussion|Обсуждения]]||
----
||<tablestyle="width:100%; text-align: left" style="border:0">{{attachment:wine.png}}||<style="border:0">'''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.||
||<tablestyle="width: 100%;" style="border: 0px hidden">~-[[DebianWiki/EditorGuide#translation|Translation(s)]]: English - [[fr/Wine|Français]] - [[ru/Wine|Русский]]-~||<style="text-align: right;border: 0px hidden"> (!) [[/Discussion]]||
----
||<tablestyle="width:100%; text-align: left" style="border:0">{{attachment:winehq_logo_glass.png|WINE logo obtained from official website winehq.org - Logo by Joel Holdsworth, original image designed by Jon Parshall - GNU LGPL|width=75}}||<style="border:0;vertical-align: top;">'''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.||
Line 8: Line 8:
== Installation ==
----
In Debian, for the users convenience, Wine is divided into several different packages. This way one may install only those functionalities on Wine wich are necessary to him.

The standard package is obtained by simply installing DebPkg:wine. {{{
# apt-get install wine
}}}
The minimal package is obtained by installing DebPkg:wine-bin. {{{
# apt-get install wine-bin
}}}
After the installation of DebPkg:wine-bin additional modules may be acquired by installing the necessary packages:
 * DebPkg:libwine - This package provides the wine library.
 * DebPkg:libwine-alsa - ALSA sound module; this package cotains drivers for the ALSA sound module.
 * DebPkg:libwine-capi - ISDN module; this package contains the CAPI interface, which allows Windows applications to interact with ISDN cards supported by capi4linux.
 * DebPkg:libwine-cms - Colour Management module; this package cotains the Colour Management System, which allows Windows applications to calibrate colours used for display and printing.
 * DebPkg:libwine-dbg - debugging symbols; this package provides debugging symbols
 * DebPkg:libwine-dev - Development files; this package provides 'C header files'.
 * DebPkg:libwine-gl - OpenGL module; this package containts the Direct3D and OpenGL modules, which allow Windows applications to use 3D acceleration.
 * DebPkg:libwine-gphoto2 - Camera module; this package containts the TWAIN interface, which allows Windows applications to interact with cameras supported by gphoto2.
 * DebPkg:libwine-ldap - LDAP module; this package contains the module which allows Windows applications access to directory services LDAP.
 * DebPkg:libwine-oss - OSS sound module; this package cotains drivers for the OSS sound module.
 * DebPkg:libwine-print - Printing module; this package containts spooler supported by CUPS and the driver PostScript, which gives the ability to print from Windows applications.
 * DebPkg:libwine-sane - Scanning module; this package containts the TWAIN interface, which allows Windows applications to interact with scanners supported by SANE.

== Configuration ==
----
To open the Wine configuration window, enter: {{{
$ winecfg
}}}
To open the Wine registry editor, enter: {{{
$ regedit
}}}

== Installing and removing programs ==
----
In order to install a program, one must launch the Windows installation file (.exe/.msi) with the following command: {{{
$ wine ~/file.exe
}}}
= Available versions =
----
Since Debian Jessie you can choose between two sets of Wine packages: '''wine''' and '''wine-development'''.

DebianPkg:wine tracks the stable releases from winehq.org (e.g. version 5.0.1), and DebianPkg: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/HOWTO|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 ==

{{{#!wiki note
 * You always need to install the DebianPkg:wine (or DebianPkg: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 DebianPkg:wine32 (or DebianPkg: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 DebianPkg:wine is available as [[http://backports.debian.org/|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''.

{{{#!wiki caution
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:

 * DebianPkg:wine and DebianPkg: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.
 * DebianPkg:wine32 and DebianPkg:wine32-development each provide the binary loader for 32-bit Windows applications.
 * DebianPkg:wine64 and DebianPkg:wine64-development each provide the binary loader for 64-bit Windows applications.
 * DebianPkg:wine32-preloader and DebianPkg:wine32-development-preloader each provide the prelinked loader for 32-bit Windows applications.
 * DebianPkg:wine64-preloader and DebianPkg:wine64-development-preloader each provide the prelinked loader for 64-bit Windows applications.
 * DebianPkg:wine32-tools and DebianPkg:wine32-development-tools each provide the 32-bit Wine developer tools.
 * DebianPkg:wine64-tools and DebianPkg:wine64-development-tools each provide the 64-bit Wine developer tools (capable of generating both 32- and 64-bit results since Debian Stretch).
 * DebianPkg:libwine and DebianPkg:libwine-development each provide the Wine library (one package for each architecture, e.g. DebianPkg:libwine:i386 and DebianPkg:libwine:amd64).
 * DebianPkg:libwine-dev and DebianPkg:libwine-development-dev each provide Wine's C header files and development libraries (one package for each architecture, e.g. DebianPkg:libwine-dev:i386 and DebianPkg:libwine-dev:amd64).
 * DebianPkg:wine-binfmt provides support for launching Windows executables directly (shared between both suites since Debian Stretch).
 * DebianPkg:fonts-wine provides the Wine fonts (shared between both suites, available since Debian Stretch, previously part of libwine).
 * [[AutomaticDebugPackages|Debug packages]] are available as <package>.dbgsym.

Users on a 64-bit system should make sure that both DebianPkg:wine32 and DebianPkg:wine64 (or DebianPkg:wine32-development and DebianPkg:wine64-development) are installed (see [[https://wiki.debian.org/Wine#Step_1:_Enable_multiarch|Step 1: Enable multiarch]]).

DebianPkg:libwine and DebianPkg: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) ==
----
DebianPkg:wine and DebianPkg: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 DebianPkg: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
}}}
Line 47: Line 211:
$ wine uninstaller wine uninstaller
Line 51: Line 215:
== Winetricks ==
----
DebPkg: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: {{{
# apt-get install winetricks
}}}

== Additional programs for Wine ==
----
 * [[http://www.playonlinux.com/|PlayOnLinux]] — Frontend for Wine which helps to easily install Windows games and programs in Linux.
 * [[http://sourceforge.net/projects/q4wine/|q4wine]] — Helps to manage wine prefixes and install applications.
== 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 [[https://salsa.debian.org/wine-team/wine/raw/master/debian/README.debian|README.debian]] for details.

= Additional programs for Wine =
----
 * DebianPkg: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
}}}

 * DebianPkg:playonlinux — Frontend for Wine which helps to easily install Windows games and programs in Linux.
 * DebianPkg:q4wine — Helps to manage wine prefixes and install applications.
 * DebianPkg:gnome-exe-thumbnailer - Wine .exe and other executable thumbnailer for GNOME
Line 64: Line 237:

== Alternatives ==
----
 * [[http://www.codeweavers.com/|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 distros like Ubuntu, Mint, Fedora, Debian, RHEL and more.   == Links ==
----
[[http://www.winehq.org/|Wine official website]]
= Alternatives =
----
 * [[http://www.codeweavers.com/|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.

 *
[[https://wine-staging.com/|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 =
----
 * [[http://www.winehq.org/|Wine official website]]
 * [[https://salsa.debian.org/wine-team/wine/raw/master/debian/README.debian|README.debian]]

----
CategoryGame | CategoryNotNative

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 | CategoryNotNative