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.
wine tracks the stable releases from winehq.org (e.g. version 1.6.2), and wine-development the development releases (e.g. version 1.7.29).
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.
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:
dpkg --print-architecture
E.g. for amd64 (which most users have) you need i386:
sudo dpkg --add-architecture i386 && apt update
Step 2: Installation
Standard installation
Install wine:
sudo apt install wine
and/or wine-development:
sudo apt install wine-development
Installation from Jessie backports
For Debian Jessie current versions are available as backports. To enable jessie-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://httpredir.debian.org/debian jessie-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 examples make sure that all required packages are pulled from jessie-backports instead of jessie.
Instead of the following examples you might simply use "apt install -t jessie-backports wine" (or "apt install -t jessie-backports wine-development"). But then you will end up with many packages installed unnecessarily from jessie-backports!
Install wine on a 64-bit architecture (with i386 as foreign 32-bit architecture):
sudo apt install \ wine/jessie-backports \ wine32/jessie-backports \ wine64/jessie-backports \ libwine/jessie-backports \ libwine:i386/jessie-backports \ fonts-wine/jessie-backports
Install wine on a 32-bit architecture:
sudo apt install \ wine/jessie-backports \ wine32/jessie-backports \ libwine/jessie-backports \ fonts-wine/jessie-backports
Install wine-development on a 64-bit architecture (with i386 as foreign 32-bit architecture):
sudo apt install \ wine-development/jessie-backports \ wine32-development/jessie-backports \ wine64-development/jessie-backports \ libwine-development/jessie-backports \ libwine-development:i386/jessie-backports \ fonts-wine/jessie-backports
Install wine-development on a 32-bit architecture:
sudo apt install \ wine-development/jessie-backports \ wine32-development/jessie-backports \ libwine-development/jessie-backports \ fonts-wine/jessie-backports
Optional Wine dependencies
wine and wine-development come along with a set of other wine* packages. Some are optional and might not be installed automatically:
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 packages for a functionality.
Installation on Debian Wheezy and older
In Debian Wheezy Wine is divided into several different packages. This way one may install only those functionalities of Wine which are necessary for one.
The standard package is obtained by simply installing wine.
sudo apt-get install wine
The minimal package is obtained by installing wine-bin.
sudo apt-get install wine-bin
After the installation of wine-bin additional modules may be acquired by installing the necessary packages:
libwine - This package provides the wine library.
libwine-alsa - ALSA sound module; this package contains drivers for the ALSA sound module.
libwine-capi - ISDN module; this package contains the CAPI interface, which allows Windows applications to interact with ISDN cards supported by capi4linux.
libwine-cms - Colour Management module; this package contains the Colour Management System, which allows Windows applications to calibrate colours used for display and printing.
libwine-dbg - debugging symbols; this package provides debugging symbols
libwine-dev - Development files; this package provides 'C header files'.
libwine-gl - OpenGL module; this package contains the Direct3D and OpenGL modules, which allow Windows applications to use 3D acceleration.
libwine-gphoto2 - Camera module; this package contains the TWAIN interface, which allows Windows applications to interact with cameras supported by gphoto2.
libwine-ldap - LDAP module; this package contains the module which allows Windows applications access to directory services LDAP.
libwine-oss - OSS sound module; this package contains drivers for the OSS sound module.
libwine-print - Printing module; this package contains spooler supported by CUPS and the driver ?PostScript, which gives the ability to print from Windows applications.
libwine-sane - Scanning module; this package contains the TWAIN interface, which allows Windows applications to interact with scanners supported by SANE.
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 ...
The alternatives system is available since Debian Stretch (and Jessie Backports). To use wine-development in Jessie you have to use the suffixed command names.
Configuring Wine
* To open the Wine configuration window, enter the following command:
winecfg
wine 1.6.2-20 packages in Debian Jessie
To use the wine-wrapper scripts such as winecfg, wineboot or regedit you have to set them as an option to the command "wine". See Debian bug #784280. wine-development and later wine versions are are not affected.
E.g. typing only "winecfg" will cause an error if no wineprefix exists yet, while "wine winecfg" works as expected.
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
If you are using wine-development from Jessie (not Jessie backports) use the following commands instead (make sure to replace the * in the WINESERVER line with the appropriate directory based on your system's architecture):
export WINE=/usr/bin/wine-development export WINESERVER=/usr/lib/*/wine-development/wineserver
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