How to Install Wine on Debian 13, 12 and 11

Last updated Thursday, April 2, 2026 12:02 pm Joshua James 11 min read 5 comments

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.

MethodChannelVersionUpdatesBest For
WineHQ RepositoryWineHQ BuildsNewest upstream stableAutomatic via apt upgradeMost readers who want the current stable Wine release
Debian RepositoryDebian PackagesDebian package versionAutomatic via apt upgradeReaders who prefer packages maintained entirely by Debian
FlatpakFlathubFlathub buildAutomatic via sudo flatpak updateDesktop 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 sudo for 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_CODENAME changes to bullseye, bookworm, or trixie.

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.org in the output. Debian 12 currently reports 11.0.0.0~bookworm-1, while Debian 11 reports 10.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 reports wine-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.08 with 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.

  1. Download the Windows installer: Save the application’s .exe or .msi file to your Debian home directory.
  2. Open it with Wine: In Debian’s file manager, right-click the installer, choose Open With Other Application, then pick Wine Windows Program Loader.
Debian file manager context menu showing Open With Wine option for a Windows executable
Right-click any .exe file and select Wine to run it

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-upgrade flag 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

Is Wine available in Debian’s default repositories?

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.

Why does Debian say it cannot locate winehq-stable?

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.

Do I need contrib to install Winetricks on Debian?

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.

Can I install Wine from Flathub with the plain app ID?

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.

Search LinuxCapable

Need another guide?

Search LinuxCapable for package installs, commands, troubleshooting, and follow-up guides related to what you just read.

Found this guide useful?

Support LinuxCapable to keep tutorials free and up to date.

Buy me a coffee Buy me a coffee

5 thoughts on “How to Install Wine on Debian 13, 12 and 11”

  1. 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.

    Reply
  2. 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.

    Reply
    • 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:

      apt-mark showhold

      If any packages appear, unhold them with sudo apt-mark unhold package-name. Then run a full system update before attempting the Wine installation:

      sudo apt update && sudo apt full-upgrade

      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.

      Reply
      • Thanks for jumping in, jfang. Your suggestion is a good first step for dependency issues. The -f flag tells APT to attempt fixing broken dependencies:

        sudo apt -f install

        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.

        Reply
Before commenting, please review our Comments Policy.
Formatting tips for your comment

You can use basic HTML to format your comment. Useful tags currently allowed in published comments:

You type Result
<code>command</code> command
<strong>bold</strong> bold
<em>italic</em> italic
<blockquote>quote</blockquote> quote block

Got a Question or Feedback?

We read and reply to every comment - let us know how we can help or improve this guide.

Let us know you are human: