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.
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:
apt-cache policy wine wine64 wine32:i386 2>/dev/null | head -16On Trixie before install:
wine:
Candidate: 10.0~repack-6
wine64:
Candidate: 10.0~repack-6
wine32:i386:
Candidate: 10.0~repack-6Prerequisites
- 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
winebootprefix used about 636 MB (WINEARCH=win32) and 1.4 GB (WINEARCH=win64) on the test host—plan more for games andwinetrickspayloads.
. /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:
sudo dpkg --add-architecture i386
sudo apt update
dpkg --print-foreign-architecturesi386Without i386, apt install wine may omit wine32:i386 and many older .exe files fail with loader errors.
Install Wine from Debian apt (recommended)
Install the metapackage from APT main:
sudo apt install -y wineExcerpt from the install transaction on Trixie:
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:
wine --version
which wine
dpkg -l wine wine64 wine32:i386 | grep ^iiwine-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 loaderInitialize a Wine prefix
Wine stores a fake C: drive in a prefix (default ~/.wine). Create it once with wineboot:
export WINEDEBUG=-all
wineboot --initFirst run on a clean account:
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:
export WINEPREFIX="$HOME/.local/share/wineprefixes/myapp"
export WINEARCH=win64
export WINEDEBUG=-all
wineboot --init
ls "$WINEPREFIX/drive_c/windows" | head -5wine: created the configuration directory '/home/you/.local/share/wineprefixes/myapp'
command
explorer.exe
Fonts
globalization
helpOn the test host, du -sh reported about 1.4 GB for a new win64 prefix and 636 MB for win32.
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):
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 -24On Trixie after adding the repo:
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-1Install one branch (stable is the usual choice):
sudo apt install --install-recommends winehq-stable
wine --versiondl.winehq.org on production systems, the same caution you apply to any external APT source.
Remove Debian wine first if it is already installed:
sudo apt remove wine wine64 wine32:i386
sudo apt install --install-recommends winehq-stableInstall winetricks (optional)
winetricks downloads Microsoft redistributables and common DLL sets into the active prefix:
sudo apt install -y winetricks
winetricks --version20250102 - sha256sum: 9df4af038f04c753f3b0b02817cf60a51d8eac32357d070c45dfd139b93bd3f5Examples (run inside the prefix you want to modify):
winetricks corefonts
winetricks vcrun2019
winetricks dotnet48winetricks 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
wine notepadOn 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
wine ~/Downloads/setup.exe
# or
WINEPREFIX="$HOME/games/mygame" wine ~/Downloads/game-installer.exeFor 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:
dpkg -l 'wine*' | grep ^iiUpdate Wine
Debian wine package
sudo apt update
sudo apt install --only-upgrade wine wine64 wine32:i386
wineboot -u
wine --versionWineHQ packages
sudo apt update
sudo apt install --only-upgrade winehq-stable
wineboot -uUninstall Wine
Remove Debian packages
sudo apt purge wine winetricks wine64 wine32:i386
sudo apt autoremove --purge
rm -rf ~/.wine ~/.local/share/wineprefixesDry-run removing the metapackage:
The following packages will be REMOVED:
wine winetricksRemove WineHQ
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 updateDisable i386 (optional)
Only if you no longer need any 32-bit packages:
sudo dpkg --remove-architecture i386
sudo apt updateapt 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
- Debian Wiki — Wine
- WineHQ
- WineHQ — Debian and Ubuntu
- wine package on Debian
- winetricks on Debian
- On-site: install Steam on Debian, install sudo on Debian, apt command, install a .deb file, list installed packages
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.

