How to Install Wine on Debian

Install Wine on Debian 11, 12, or 13 with apt install wine and i386 multiarch, add the WineHQ repository for winehq-stable or staging, initialize a WINEPREFIX with wineboot, use winetricks for runtimes, and uninstall cleanly.

Published

Updated

Read time 7 min read

Reviewed byDeepak Prasad

How to Install Wine on Debian

Wine is a compatibility layer that runs many Windows programs on Linux—productivity tools, older games, and installers that never shipped a native Linux build. On Debian, the straightforward path is apt install wine from main (with i386 multiarch for 32-bit Windows software). When you need a newer upstream release than your suite ships, add the official WineHQ repository and install winehq-stable, winehq-staging, or winehq-devel.

This guide covers install Wine on Debian for Debian 11 (Bullseye), 12 (Bookworm), and 13 (Trixie): enable multiarch, install from Debian or WineHQ, create a WINEPREFIX with wineboot, optional winetricks, run .exe files, update, and uninstall. I ran these steps on Debian 13 and kept real terminal output below. For Windows games with native Linux support, see install Steam on Debian (Proton is separate from system Wine).

Tested on: Debian 13 (trixie); kernel 6.12.94+deb13-amd64; amd64 + i386; wine 10.0~repack-6 (Debian); winehq-stable 11.0.0.0 (WineHQ candidate); winetricks 20250102.

NOTE
Pick one Wine package track—Debian wine or WineHQ winehq-*, not both. Mixing them leaves overlapping /usr/bin/wine providers and confusing apt upgrades. Remove one before installing the other.

Choose an install method

Method Best for Version on test host (Trixie)
apt install wine Default Debian path; security team updates 10.0~repack-6
WineHQ winehq-stable Newer stable than Debian main on some releases 11.0.0.0~trixie-1
WineHQ winehq-staging Bleeding-edge fixes between stable releases 11.11~trixie-1
WineHQ winehq-devel Development snapshots; testers only 11.11~trixie-1
winetricks (add-on) VC++ runtimes, fonts, legacy DLLs inside a prefix 20250102-1 (contrib)

Most readers should start with sudo apt install wine when Debian’s version is new enough. Add WineHQ when you need 11.x on Trixie or a specific WineHQ branch documented on wiki.debian.org/Wine.

Default Wine major by Debian release

Debian Codename wine in main (approx.)
13 trixie 10.0
12 bookworm 8.0
11 bullseye 5.0

Confirm on your host:

bash
apt-cache policy wine wine64 wine32:i386 2>/dev/null | head -16

On Trixie before install:

text
wine:
  Candidate: 10.0~repack-6
wine64:
  Candidate: 10.0~repack-6
wine32:i386:
  Candidate: 10.0~repack-6

Prerequisites

  • Debian 11, 12, or 13 on amd64 (Wine on arm64 is limited—this guide targets x86_64 desktops).
  • sudo for package installs.
  • i386 multiarch for 32-bit Windows software (see next section).
  • A desktop session and graphics drivers for GUI apps (winecfg, games). Server-only images can install Wine but cannot display Windows GUIs without X11 forwarding or VNC.
  • Disk space: a fresh wineboot prefix used about 636 MB (WINEARCH=win32) and 1.4 GB (WINEARCH=win64) on the test host—plan more for games and winetricks payloads.
bash
. /etc/os-release && echo "$PRETTY_NAME ($VERSION_CODENAME)"
command -v wine || echo "wine: not installed"

Enable i386 multiarch (required for most apps)

Per Debian Wiki — Wine and WineHQ Debian instructions, enable 32-bit packages on amd64:

bash
sudo dpkg --add-architecture i386
sudo apt update
dpkg --print-foreign-architectures
text
i386

Without i386, apt install wine may omit wine32:i386 and many older .exe files fail with loader errors.


Install the metapackage from APT main:

bash
sudo apt install -y wine

Excerpt from the install transaction on Trixie:

text
Setting up libwine:i386 (10.0~repack-6) ...
Setting up wine32:i386 (10.0~repack-6) ...
Setting up wine (10.0~repack-6) ...
Processing triggers for wine (10.0~repack-6) ...

Verify:

bash
wine --version
which wine
dpkg -l wine wine64 wine32:i386 | grep ^ii
text
wine-10.0 (Debian 10.0~repack-6)
/usr/bin/wine
ii  wine           10.0~repack-6 all          Windows API implementation - standard suite
ii  wine32:i386    10.0~repack-6 i386         Windows API implementation - 32-bit binary loader
ii  wine64         10.0~repack-6 amd64        Windows API implementation - 64-bit binary loader

Initialize a Wine prefix

Wine stores a fake C: drive in a prefix (default ~/.wine). Create it once with wineboot:

bash
export WINEDEBUG=-all
wineboot --init

First run on a clean account:

text
wine: created the configuration directory '/root/.wine'

64-bit vs 32-bit prefixes

Variable Value When to use
WINEARCH=win64 64-bit Windows prefix Modern 64-bit installers (default on amd64)
WINEARCH=win32 32-bit prefix Older 32-bit-only apps

Example isolated 64-bit bottle:

bash
export WINEPREFIX="$HOME/.local/share/wineprefixes/myapp"
export WINEARCH=win64
export WINEDEBUG=-all
wineboot --init
ls "$WINEPREFIX/drive_c/windows" | head -5
text
wine: created the configuration directory '/home/you/.local/share/wineprefixes/myapp'
command
explorer.exe
Fonts
globalization
help

On the test host, du -sh reported about 1.4 GB for a new win64 prefix and 636 MB for win32.

HINT
Use a dedicated WINEPREFIX per application when upgrades or winetricks experiments should not break other Windows software—similar to separate bottles in GUI frontends.

Install Wine from the WineHQ repository

When Debian’s wine is too old for your app, add WineHQ builds (Debian/Ubuntu wiki):

bash
sudo dpkg --add-architecture i386
sudo mkdir -pm755 /etc/apt/keyrings
sudo wget -O /etc/apt/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key
sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/debian/dists/$(. /etc/os-release && echo "$VERSION_CODENAME")/winehq-$(. /etc/os-release && echo "$VERSION_CODENAME").sources
sudo apt update
apt-cache policy winehq-stable winehq-staging winehq-devel | head -24

On Trixie after adding the repo:

text
Get:4 https://dl.winehq.org/wine-builds/debian trixie InRelease
winehq-stable:
  Candidate: 11.0.0.0~trixie-1
winehq-staging:
  Candidate: 11.11~trixie-1
winehq-devel:
  Candidate: 11.11~trixie-1

Install one branch (stable is the usual choice):

bash
sudo apt install --install-recommends winehq-stable
wine --version
IMPORTANT
WineHQ is maintained by the Wine project, not the Debian security team—review your policy before adding dl.winehq.org on production systems, the same caution you apply to any external APT source.

Remove Debian wine first if it is already installed:

bash
sudo apt remove wine wine64 wine32:i386
sudo apt install --install-recommends winehq-stable

Install winetricks (optional)

winetricks downloads Microsoft redistributables and common DLL sets into the active prefix:

bash
sudo apt install -y winetricks
winetricks --version
text
20250102 - sha256sum: 9df4af038f04c753f3b0b02817cf60a51d8eac32357d070c45dfd139b93bd3f5

Examples (run inside the prefix you want to modify):

bash
winetricks corefonts
winetricks vcrun2019
winetricks dotnet48

winetricks lives in contrib—ensure contrib is enabled in /etc/apt/sources.list if apt cannot find the package.


Run Windows programs

Built-in smoke test

bash
wine notepad

On a desktop, Notepad should open. On a headless SSH session you will see display errors—that is expected without DISPLAY or Wayland.

Run an installer or portable .exe

bash
wine ~/Downloads/setup.exe
# or
WINEPREFIX="$HOME/games/mygame" wine ~/Downloads/game-installer.exe

For a local .msi or vendor .deb that wraps Windows payloads, see install a .deb file on Debian.

Useful commands

Command Purpose
winecfg Configure Windows version, libraries, graphics
wine uninstaller Remove apps registered in the prefix
wineboot -u Update prefix after Wine upgrade
wineserver -k Kill stuck Wine processes

List installed Wine packages:

bash
dpkg -l 'wine*' | grep ^ii

Update Wine

Debian wine package

bash
sudo apt update
sudo apt install --only-upgrade wine wine64 wine32:i386
wineboot -u
wine --version

WineHQ packages

bash
sudo apt update
sudo apt install --only-upgrade winehq-stable
wineboot -u

Uninstall Wine

Remove Debian packages

bash
sudo apt purge wine winetricks wine64 wine32:i386
sudo apt autoremove --purge
rm -rf ~/.wine ~/.local/share/wineprefixes

Dry-run removing the metapackage:

text
The following packages will be REMOVED:
  wine winetricks

Remove WineHQ

bash
sudo apt purge winehq-stable winehq-staging winehq-devel 'wine-stable*'
sudo rm -f /etc/apt/sources.list.d/winehq*.sources /etc/apt/sources.list.d/winehq.list
sudo rm -f /etc/apt/keyrings/winehq-archive.key
sudo apt update

Disable i386 (optional)

Only if you no longer need any 32-bit packages:

bash
sudo dpkg --remove-architecture i386
sudo apt update

apt will refuse if 32-bit packages remain installed.


Troubleshooting

Symptom Likely cause Fix
wine: cannot find L"C:\\windows\\system32\\" Prefix not initialized wineboot --init
cannot execute binary file / Bad EXE format 32-bit app without wine32 Enable i386; sudo apt install wine32:i386
wine: could not load kernel32.dll Corrupt prefix Remove WINEPREFIX and re-run wineboot --init
Black window / no display No GUI session Run from desktop; check echo $DISPLAY or Wayland
Wrong Wine version after install Mixed Debian + WineHQ packages Purge one track; reinstall a single metapackage
App needs VC++/DirectX Missing redistributables winetricks vcrun2019 or app-specific verb
i386 add fails Foreign arch already set differently dpkg --print-foreign-architectures; fix dpkg state

References


Summary

Install Wine on Debian by enabling i386, running sudo apt install wine, and verifying wine --version. Initialize a prefix with wineboot --init, use WINEPREFIX and WINEARCH for isolated 32-bit or 64-bit bottles, and add WineHQ winehq-stable when you need a newer upstream build than Debian main. winetricks fills in VC++ and font gaps for stubborn Windows software. Pick one package track, update with apt, and purge wine or winehq-* plus ~/.wine when you uninstall.


Frequently Asked Questions

1. How do I install Wine on Debian?

Enable i386 with sudo dpkg --add-architecture i386 && sudo apt update, then sudo apt install wine. Verify with wine --version and wineboot --init to create the first prefix. Most 32-bit Windows apps need the wine32:i386 package pulled in by the wine metapackage.

2. Which Wine version does Debian ship?

Debian 13 (trixie) ships Wine 10.0 in main, Debian 12 (bookworm) Wine 8.0, and Debian 11 (bullseye) Wine 5.0. Run apt-cache policy wine on your release. For newer upstream builds, add the WineHQ repository and install winehq-stable.

3. Do I need to enable i386 to install Wine on Debian?

Yes for typical desktop use. Many Windows programs are still 32-bit. Run sudo dpkg --add-architecture i386 and sudo apt update before apt install wine so wine32:i386 and 32-bit libraries install.

4. What is the difference between wine from Debian and winehq-stable?

Debian wine is repackaged from WineHQ sources with Debian security support. winehq-stable from apt.winehq.org tracks WineHQ stable releases directly (11.0 on trixie when tested). Do not mix both metapackages—pick one track and remove the other before switching.

5. How do I run a Windows .exe on Debian with Wine?

Initialize a prefix with wineboot --init, then wine /path/to/app.exe. Use WINEPREFIX=/path/to/prefix for isolated bottles and WINEARCH=win32 for a 32-bit prefix when a 64-bit default fails.

6. What is winetricks and do I need it?

winetricks installs Windows DLLs, fonts, and runtimes (VC++ redistributables, .NET helpers, DirectX stubs) into a Wine prefix. Install with sudo apt install winetricks, then run winetricks vcrun2019 or winetricks corefonts as needed.

7. How do I update Wine on Debian?

For Debian wine: sudo apt update && sudo apt install --only-upgrade wine. For WineHQ: upgrade winehq-stable, winehq-staging, or winehq-devel from the same repository you added. Re-run wineboot -u after major upgrades.

8. How do I uninstall Wine from Debian?

sudo apt purge wine winetricks winehq-stable (if installed) && sudo apt autoremove --purge. Remove ~/.wine or custom WINEPREFIX directories. Delete /etc/apt/sources.list.d/winehq.list and /etc/apt/keyrings/winehq-archive.key if you added WineHQ.
Omer Cakmak

Linux Administrator

Highly skilled at managing Debian, Ubuntu, CentOS, Oracle Linux, and Red Hat servers. Proficient in bash scripting, Ansible, and AWX central server management, he handles server operations on …