Some Windows-only apps still matter, whether that is an older business tool, a launcher, or a game that never received a native Linux build. If you need to install Wine on Debian, Wine gives you a compatibility layer that runs many of those programs without a separate Windows virtual machine or a dual-boot setup.
These steps support Debian 13, 12, and 11 while those releases remain supported. The official WineHQ repository stays closest to upstream, Debian’s own packages are simpler if you prefer distro-managed updates, and Flatpak keeps Wine isolated from the rest of the system. Winetricks and the common post-install tasks are included so you can move from installation to your first Windows app without extra guesswork.
Install Wine on Debian
Wine does not ship the same way across every Debian release, so the method you choose depends on how current you want the package to be and how much isolation you want from the rest of the system.
| Method | Channel | Version | Updates | Best For |
|---|---|---|---|---|
| WineHQ Repository | WineHQ Builds | Newest upstream stable | Automatic via apt upgrade | Most readers who want the current stable Wine release |
| Debian Repository | Debian Packages | Debian package version | Automatic via apt upgrade | Readers who prefer packages maintained entirely by Debian |
| Flatpak | Flathub | Flathub build | Automatic via sudo flatpak update | Desktop users who want Wine isolated in a sandbox |
For most systems, the WineHQ repository is the best starting point because it tracks the current stable branch and tends to handle newer Windows applications better than the Debian package.
- Use the WineHQ repository when you want the current stable Wine release and the best chance of running newer Windows applications.
- Use Debian’s own packages when you would rather stay with the distro-maintained branch, even if it trails upstream by a wider margin.
- Use Flatpak when you already rely on Flathub for desktop apps and want Wine separated from your host libraries.
Install Wine from the WineHQ Repository on Debian
The WineHQ repository is the cleanest way to install Wine on Debian when you want the latest stable release. The same DEB822 setup works across Debian 13, 12, and 11, with only the release codename changing underneath.
Update Debian Before Installing Wine
Refresh APT metadata first so the repository checks later in the section reflect current package state.
sudo apt update && sudo apt upgrade -y
These commands use
sudofor tasks that need root privileges. If your user is not in the sudoers file yet, follow the guide on how to add a user to sudoers on Debian, then return here.
Install WineHQ Repository Prerequisites on Debian
Install the packages needed to download the signing key and write the repository file.
sudo apt install -y ca-certificates curl gpg
Enable 32-bit Debian Support for Wine
Most Windows applications still need 32-bit libraries, even on 64-bit Debian installs, so enable the i386 architecture before adding Wine packages.
sudo dpkg --add-architecture i386
Without 32-bit support, many Windows applications fail to start or stop early with missing-library errors.
Add the WineHQ GPG Key on Debian
Download the current WineHQ signing key and store it in a dedicated system keyring.
curl -fsSL https://dl.winehq.org/wine-builds/winehq.key | sudo gpg --dearmor --yes -o /usr/share/keyrings/winehq.gpg
Add the WineHQ Repository on Debian
This command reads your Debian codename from /etc/os-release and writes a DEB822 .sources file as root. The tee command is there because plain shell redirection does not inherit sudo.
. /etc/os-release && printf '%s\n' \
"Types: deb" \
"URIs: https://dl.winehq.org/wine-builds/debian/" \
"Suites: $VERSION_CODENAME" \
"Components: main" \
"Signed-By: /usr/share/keyrings/winehq.gpg" | sudo tee /etc/apt/sources.list.d/winehq.sources > /dev/null
The repository file stays the same across supported releases. Only
$VERSION_CODENAMEchanges tobullseye,bookworm, ortrixie.
Refresh APT so Debian can read the newly added WineHQ source.
sudo apt update
Then confirm that APT sees winehq-stable from the WineHQ repository.
apt-cache policy winehq-stable
Relevant output includes:
winehq-stable:
Installed: (none)
Candidate: 11.0.0.0~trixie-1
Version table:
11.0.0.0~trixie-1 500
500 https://dl.winehq.org/wine-builds/debian trixie/main amd64 Packages
Confirm the package source shows
dl.winehq.orgin the output. Debian 12 currently reports11.0.0.0~bookworm-1, while Debian 11 reports10.0.0.0~bullseye-1. If no candidate appears or the source differs, revisit the repository setup steps.
Install Wine Stable on Debian
Install the stable Wine branch with its recommended companion packages.
sudo apt install --install-recommends winehq-stable -y
Once APT finishes, verify that the Wine binary is available.
wine --version
wine-11.0
Install Wine Staging or Development on Debian
Beyond the stable release, WineHQ offers two additional tracks for users who need newer features or want to test upcoming changes.
Wine Staging
- Contains experimental patches not yet in stable
- Better compatibility with some applications and games
- Generally stable for daily use
sudo apt install --install-recommends winehq-staging -y
Wine Development
- Bi-weekly releases with the newest features
- May contain bugs or regressions
- Best for developers and testers
sudo apt install --install-recommends winehq-devel -y
Install Wine from Debian’s Default Repositories
Debian’s own Wine packages are simpler to maintain if you would rather stay inside the distro repositories. They trail the WineHQ builds, but they integrate cleanly with Debian’s normal update flow.
- Debian 13 (Trixie): Wine 10.0.x from the default APT sources
- Debian 12 (Bookworm): Wine 8.0.x from the default APT sources
- Debian 11 (Bullseye): Wine 5.0.x from the default APT sources
Enable the i386 architecture first so the 32-bit Wine libraries can install alongside the 64-bit packages.
sudo dpkg --add-architecture i386
sudo apt update
The wine metapackage pulls in the launcher, while wine64 and wine32 provide the multiarch pieces many Windows applications still expect.
sudo apt install -y wine wine64 wine32
Once APT finishes, confirm that Debian’s Wine build is now active.
wine --version
wine-10.0 (Debian 10.0~repack-6)
The version number changes by release. Debian 12 currently reports
wine-8.0 (Debian 8.0~repack-4), while Debian 11 reportswine-5.0.3 (Debian 5.0.3-3), so the default-repo method is best when you prefer Debian-maintained packages over newer upstream builds.
Install Wine via Flatpak on Debian
Flatpak keeps Wine inside a sandbox and is useful if you already use Flathub for desktop apps. Debian includes flatpak in the default repositories, but many installs still need it set up first, so follow how to install Flatpak on Debian if the command is missing on your system.
Add the Flathub remote at system scope before you install the Wine Flatpak.
sudo flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
Verify that Flathub is present at system scope before moving on.
flatpak remotes
flathub system
Flathub currently publishes multiple Wine branches, so the bare app ID stops at an interactive chooser. Install the current stable ref explicitly instead.
sudo flatpak install -y flathub org.winehq.Wine//stable-25.08
Then confirm the installed ref, branch, and Wine version.
flatpak info org.winehq.Wine//stable-25.08
Relevant fields include:
Wine - Run Windows applications on Linux
ID: org.winehq.Wine
Ref: app/org.winehq.Wine/x86_64/stable-25.08
Arch: x86_64
Branch: stable-25.08
Version: 11.0
Origin: flathub
Installation: system
If Flathub moves Wine to a newer stable branch later, replace
stable-25.08with the current ref shown on the Flathub app page before you install or update it.
The Flatpak build already includes Winetricks, so you do not need Debian’s separate winetricks package when you use this method.
Configure Wine on Debian
Wine installs from a terminal, but the first-run configuration tools still need an active graphical Debian session. Run the next commands from the desktop itself, not from an SSH-only shell.
For WineHQ and Debian package installs, open the Wine configuration tool with the native launcher.
winecfg
If you installed the Flatpak build, launch the same tool through Flatpak instead.
flatpak run --branch=stable-25.08 --command=winecfg org.winehq.Wine

When prompted, click “Install” to download Wine Mono. Once the download completes, the Wine Configuration window appears where you can adjust settings.

The default Windows version setting (Windows 7) works for most applications. However, some newer software may require Windows 10, which you can select from the dropdown menu. Close the window to save your settings.
Install Winetricks on Debian
Winetricks simplifies adding Windows libraries, fonts, and runtime components that many applications need. For native Wine installs, Debian packages it in contrib rather than main, so make sure you enable contrib and non-free repositories on Debian first.
If you installed Wine through Flatpak, Winetricks is already bundled and you can call it with flatpak run --branch=stable-25.08 --command=winetricks org.winehq.Wine. For native Wine installs, add the Debian package first.
With contrib enabled, install Winetricks.
sudo apt install -y winetricks
Then verify that Winetricks is available.
winetricks --version
Executing cd /usr/bin 20250102 - sha256sum: 9df4af038f04c753f3b0b02817cf60a51d8eac32357d070c45dfd139b93bd3f5
Debian packages Winetricks by date, so the leading number is the release snapshot rather than a semantic version.
Since many Windows applications expect Microsoft fonts for proper text display, use Winetricks to download them:
winetricks allfonts
Alternatively, launch the Winetricks graphical interface to browse available packages:
winetricks --gui

Run Windows Applications with Wine on Debian
Once Wine is configured, you can open a Windows installer or executable directly from your Debian desktop. A small application installer is usually the easiest first test because it shows whether file associations, fonts, and the Wine prefix are all working together.
- Download the Windows installer: Save the application’s
.exeor.msifile to your Debian home directory. - Open it with Wine: In Debian’s file manager, right-click the installer, choose Open With Other Application, then pick Wine Windows Program Loader.

You can also start the installer from a terminal in the same graphical session.
wine "$HOME/Downloads/your-installer.exe"

Before installing any Windows software, it’s wise to check its compatibility using the WineHQ Application Database, which contains user reports and configuration tips for thousands of applications.
Manage Wine on Debian
After the first install, these commands make it easier to keep separate prefixes, inspect common Wine tools, and update only the packages you actually use.
Create a 32-bit Wine Prefix on Debian
Some older applications still behave better in a dedicated 32-bit prefix instead of the default mixed environment.
WINEARCH=win32 WINEPREFIX=~/.wine32 winecfg
When you want to keep using that prefix later, point Wine back to it explicitly.
WINEPREFIX=~/.wine32 wine /path/to/application.exe
Wine Command Reference on Debian
Run a Windows executable:
wine /path/to/program.exe
Open Wine Configuration:
winecfg
Access the Wine registry editor:
wine regedit
Convert a Linux path to Windows format:
winepath -w /home/user/file.txt
Z:\home\user\file.txt
Stop running Wine processes:
wineserver -k
Update Wine on Debian
Wine can ride your normal system updates, but you can also target only the package set that matches your install method.
sudo apt update && sudo apt upgrade -y
WineHQ repository installation:
sudo apt update && sudo apt install --only-upgrade winehq-stable -y
Debian repository installation:
sudo apt update && sudo apt install --only-upgrade wine wine64 wine32 -y
Flatpak installation:
sudo flatpak update org.winehq.Wine//stable-25.08 -y
The
--only-upgradeflag tells APT to update an installed package without pulling it in as a new install when it is missing.
Troubleshoot Common Wine Issues on Debian
Most Wine problems on Debian come down to missing 32-bit libraries, an incomplete WineHQ repository setup, or a Windows application that needs a different runtime or graphics layer than the default prefix provides.
Fix Missing 32-bit Wine Libraries on Debian
While running 32-bit Windows applications, Wine may report errors like:
it looks like wine32 is missing, you should install it. multiarch needs to be enabled first
Diagnostic: Check if i386 architecture is enabled:
dpkg --print-foreign-architectures
i386
Fix: If the output is empty or i386 is missing, add the architecture and refresh APT first.
sudo dpkg --add-architecture i386
sudo apt update
Then reinstall the package set that matches your install method.
sudo apt install --reinstall winehq-stable -y
sudo apt install --reinstall wine wine64 wine32 -y
Verify: Confirm 32-bit support is active:
dpkg --print-foreign-architectures
i386
Fix Missing WineHQ Packages or Older extrepo Sources on Debian
APT can fail before the WineHQ install with messages like:
E: Unable to locate package winehq-stable
If apt-cache policy winehq-stable prints nothing, Debian still does not see the WineHQ source. Recheck the key and DEB822 steps from the WineHQ section, then run sudo apt update again.
Older Debian setups that used extrepo can also leave a second WineHQ source behind, which creates a Signed-By conflict with the newer manual DEB822 file. Remove the older source before you retry the install.
sudo extrepo disable winehq
sudo rm -f /etc/apt/sources.list.d/extrepo_winehq.sources
sudo apt update
Verify: Once the source is clean, APT should show a live WineHQ candidate again.
apt-cache policy winehq-stable
Relevant output includes:
winehq-stable:
Installed: 11.0.0.0~trixie-1
Candidate: 11.0.0.0~trixie-1
Version table:
*** 11.0.0.0~trixie-1 500
500 https://dl.winehq.org/wine-builds/debian trixie/main amd64 Packages
100 /var/lib/dpkg/status
Set a Different Windows Version in Wine on Debian
Applications that check Windows version may display errors like:
This program requires Windows 10 or later
Diagnostic: In a graphical session, check the current Wine Windows version.
wine cmd /c ver
Microsoft Windows 7 [Version 6.1.7601]
Fix: Open Wine Configuration and change the Windows version:
winecfg
Navigate to the Applications tab, add the application executable, and set its Windows version to Windows 10. For per-application settings, click “Add application” and select the .exe file.
Verify: Run the same command again after saving the new setting.
wine cmd /c ver
Microsoft Windows 10 [Version 10.0.19043]
Fix DirectX or Graphics Issues in Wine on Debian
Games may show graphical glitches, black screens, or display errors like:
err:d3d:wined3d_check_gl_call <<<< GL_INVALID_OPERATION fixme:d3d:wined3d_texture_update_map_binding
Fix: For native Wine installs, add DXVK through Winetricks to translate DirectX calls to Vulkan.
winetricks dxvk
DXVK covers DirectX 9, 10, and 11 and usually improves compatibility on modern GPUs. If you use NVIDIA hardware, install NVIDIA drivers on Debian before you expect strong gaming performance. Flatpak users can call the same Winetricks helper through flatpak run --branch=stable-25.08 --command=winetricks org.winehq.Wine.
Verify: For a native Wine prefix, check that the DirectX wrapper landed in system32.
ls ~/.wine/drive_c/windows/system32/d3d11.dll
/home/user/.wine/drive_c/windows/system32/d3d11.dll
Remove Wine from Debian
If you no longer need Wine, use the removal path that matches the way you installed it.
Remove WineHQ Installation on Debian
If you installed Wine through WineHQ, remove the stable metapackage and the matching branch packages first.
sudo apt remove --autoremove winehq-stable wine-stable wine-stable-amd64 wine-stable-i386 -y
If you used the staging or development branch instead, swap the metapackage name before you run the removal.
sudo apt remove --autoremove winehq-staging -y
sudo apt remove --autoremove winehq-devel -y
After the package itself is gone, remove the WineHQ repository file and its keyring.
sudo rm -f /etc/apt/sources.list.d/winehq.sources
sudo rm -f /usr/share/keyrings/winehq.gpg
Refresh APT, then prove the package and repository file are both gone.
sudo apt update
Confirm the WineHQ package is no longer installed.
dpkg -l winehq-stable 2>/dev/null | grep "^ii" || echo "winehq-stable not installed"
winehq-stable not installed
Then confirm the WineHQ source file is gone too.
ls /etc/apt/sources.list.d/winehq.sources 2>/dev/null || echo "winehq.sources removed"
winehq.sources removed
Remove Wine Installed from Debian Repositories
If you stayed with Debian’s own packages, remove the metapackage and both architecture-specific packages together.
sudo apt remove --autoremove wine wine64 wine32 -y
Remove Wine Installed from Flatpak on Debian
For the Flatpak method, remove the installed branch explicitly and then clear unused runtimes.
sudo flatpak remove --delete-data org.winehq.Wine//stable-25.08 -y
sudo flatpak uninstall --unused -y
Remove Wine User Data on Debian
These commands permanently delete your Wine prefixes and Flatpak sandbox data. Back up anything you want to keep before you remove it.
Check which Wine-related paths actually exist on your account first.
find "$HOME" -maxdepth 3 \( -path "$HOME/.wine*" -o -path "$HOME/.var/app/org.winehq.Wine*" -o -path "$HOME/.cache/winetricks*" -o -path "$HOME/.local/share/applications/wine*" -o -path "$HOME/.local/share/desktop-directories/wine*" \) -print | sort
/home/joshua/.var/app/org.winehq.Wine /home/joshua/.wine /home/joshua/.wine/dosdevices /home/joshua/.wine/drive_c
If the native Wine prefix exists, remove it first.
rm -rf ~/.wine
If you created a separate 32-bit prefix such as ~/.wine32, remove it only if that directory exists on your account.
rm -rf ~/.wine32
If the Flatpak sandbox exists, delete it too.
rm -rf ~/.var/app/org.winehq.Wine
The headless Debian test host did not create extra Wine cache or desktop-entry paths by default. Only remove those locations if the earlier find command printed them on your own account.
rm -rf ~/.cache/winetricks
rm -f ~/.local/share/applications/wine-*
rm -rf ~/.local/share/desktop-directories/wine-*
Wine FAQs on Debian
Yes. Debian 13, 12, and 11 all ship Wine packages in the default APT sources, but the packaged branch gets older as you move back through the releases. Use WineHQ when you want the newest stable upstream build instead of Debian’s distro-managed version.
That usually means the WineHQ DEB822 source file was not added yet, apt update was not rerun after adding it, or an older extrepo WineHQ source is still present and conflicting with the manual setup. Recheck the WineHQ repository steps, then remove any leftover extrepo_winehq.sources file if you used extrepo earlier.
For Debian’s native package, yes. Winetricks lives in Debian’s contrib component, so APT will not find it until contrib is enabled. If you install Wine through Flatpak instead, Winetricks is already bundled with the Flathub build.
Not currently. Flathub publishes several Wine branches, so flatpak install flathub org.winehq.Wine stops at an interactive chooser. Install the current stable ref shown on Flathub, such as org.winehq.Wine//stable-25.08, instead of the bare app ID.
Conclusion
Wine is ready on Debian, whether you stayed with the distro packages or moved to the newer WineHQ build, and Winetricks fills in the extra runtime pieces many Windows apps still expect. If you plan to use Wine for games, install Steam on Debian and install NVIDIA drivers on Debian next so your launcher, GPU stack, and compatibility layer all move in the same direction.
Just installed WINE on my laptop running MX Linux (23.5, deb 12.9). Went without a hitch. There is always one program that you just need, and this makes it possible for me to run it on Linux.
Also installed WINE on Mint (21.3) with that tutorial. Fantastic there too.
Unfortunately, the described procedure on my Debian 11 leads to a lot of unmet dependencies:
The following packages have unmet dependencies:
dbus-user-session: Depends on: dbus (>= 1.12.28-0+deb11u1), Depends on: libpam-systemd but it will not be installed, Depends on: systemd, Recommends: systemd-sysv
evince: Depends on: libevdocument3-4 (= 3.38.2-1) but it will not be installed, Depends on: libevview3-3 (= 3.38.2-1) but it will not be installed, Depends on: libgnome-desktop-3-19 (>= 3.17.92) but it will not be installed, Depends on: libnautilus-extension1a (>= 3.28) but it will not be installed
libcurl3-gnutls: Depends on: libgssapi-krb5-2 (>= 1.17) but it will not be installed
libdbus-1-3:i386: Depends on: libsystemd0
, Recommends: dbus
libgtk-3-0: Depends on: libcolord2 (>= 0.1.10) but it will not be installed, Depends on: libcups2 (>= 1.7.0) but it will not be installed, Depends on: librest-0.7-0 (>= 0.7) but it will not be installed, Recommends: libgtk-3-bin
libneon27-gnutls: Depends on: libgssapi-krb5-2 (>= 1.17) but it will not be installed
libpulse0:i386: Depends on: libsystemd0
librdf0: Depends on: librasqal3 (>= 0.9.31) but it will not be installed
libsoup2.4-1: Depends on: libgssapi-krb5-2 (>= 1.17) but it will not be installed
libwebkit2gtk-4.0-37: Depends on: gstreamer1.0-plugins-good but it will not be installed, Depends on: libgstreamer-gl1.0-0 (>= 1.14.0) but it will not be installed, Depends on: libmanette-0.2-0 (>= 0.1.2) but it will not be installed, Recommends: gstreamer1.0-gl but it will not be installed, Recommends: xdg-desktop-portal-gtk, Recommends: gstreamer1.0-libav but it will not be installed, Recommends: gstreamer1.0-plugins-bad but it will not be installed
yelp: Depends on: libyelp0 (= 3.38.3-1) but it will not be installed, Depends on: python3-distro but it will not be installed
E: Error: Interruptions caused by pkgProblemResolver::Resolve; this could be caused by held packages.
Thanks for reporting this, Ralph. The dependency errors you encountered suggest package conflicts on your Debian 11 system, possibly from mixed package sources or held packages. The article has since been rewritten with updated instructions.
For Debian 11, first check for held packages:
If any packages appear, unhold them with
sudo apt-mark unhold package-name. Then run a full system update before attempting the Wine installation:If conflicts persist, check for third-party sources that might provide conflicting library versions by reviewing
/etc/apt/sources.list.d/. The errors involving systemd and libdbus suggest fundamental library mismatches that a clean system update should resolve.sudo apt -f install ?
Thanks for jumping in, jfang. Your suggestion is a good first step for dependency issues. The
-fflag tells APT to attempt fixing broken dependencies:For the severity of errors Ralph reported (core libraries like libsystemd and libdbus), this command would either resolve the conflicts automatically or provide more specific error messages to guide further troubleshooting.