Wine is a compatibility layer that lets you run Windows applications on Linux without needing a virtual machine or dual-boot setup. It translates Windows API calls into POSIX calls on the fly, giving you near-native performance for most Windows software. In this guide, I will walk you through installing Wine 9 on Ubuntu 24.04, Linux Mint 22, and Debian 13 (Trixie).

Wine has matured significantly over the years and now supports a wide range of Windows applications – from productivity tools and games to legacy enterprise software. Whether you need to run a specific Windows-only application or you are migrating from Windows to Linux, Wine is the go-to solution.

Prerequisites

Before you begin, make sure you have the following in place:

  • A running installation of Ubuntu 24.04, Linux Mint 22, or Debian 13
  • A user account with sudo privileges
  • A stable internet connection
  • Basic familiarity with the Linux terminal

Step 1: Enable 32-bit Architecture

Wine requires 32-bit libraries to run many Windows applications. If you are on a 64-bit system (which is almost certainly the case), you need to enable the 32-bit architecture first.

sudo dpkg --add-architecture i386

Verify that the i386 architecture has been added:

dpkg --print-foreign-architectures

You should see i386 in the output. If it is listed, you are good to proceed.

Step 2: Add the WineHQ Official Repository

The Wine packages shipped with the default Ubuntu and Debian repositories are often outdated. To get Wine 9, you need to add the official WineHQ repository.

Start by downloading and installing the WineHQ repository signing key:

sudo mkdir -pm755 /etc/apt/keyrings
sudo wget -O /etc/apt/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key

For Ubuntu 24.04 (Noble Numbat):

sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/noble/winehq-noble.sources

For Linux Mint 22 (based on Ubuntu 24.04):

sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/noble/winehq-noble.sources

For Debian 13 (Trixie):

sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/debian/dists/trixie/winehq-trixie.sources

Confirm the repository file was downloaded successfully:

ls -l /etc/apt/sources.list.d/winehq-*.sources

You should see the sources file listed. Now update your package index:

sudo apt update

Make sure the update completes without errors. If you see GPG key warnings, double-check that the key was downloaded correctly in the earlier step.

Step 3: Install Wine 9

WineHQ offers several branches you can choose from. The two most commonly used are:

  • wine-stable – Recommended for most users. Thoroughly tested releases.
  • wine-staging – Contains experimental patches and newer features. Good if you need cutting-edge support.

To install the stable branch:

sudo apt install --install-recommends winehq-stable

To install the staging branch instead:

sudo apt install --install-recommends winehq-staging

The installation will pull in a significant number of dependencies (both 64-bit and 32-bit libraries). This is normal – accept the prompts and let the process complete.

Step 4: Verify the Installation

Once the installation finishes, confirm that Wine is properly installed by checking its version:

wine --version

You should see output similar to:

wine-9.0 (Ubuntu 9.0~noble-1)

If the version number shows Wine 9.x, the installation was successful. You can also check the Wine binary path:

which wine

Expected output: /usr/bin/wine or /opt/wine-stable/bin/wine depending on your configuration.

Step 5: Configure Wine with winecfg

The first time you run Wine, it needs to set up a default Wine prefix (a virtual Windows environment). Launch the Wine configuration tool:

winecfg

On the first run, Wine will prompt you to install wine-mono (a replacement for .NET Framework) and wine-gecko (a replacement for Internet Explorer). Accept both of these – they are needed by many Windows applications.

Once the configuration window opens, you can adjust the following settings:

  • Windows Version – Set the Windows version Wine should emulate. Windows 10 is a solid default for most applications.
  • Drives – Map Linux directories to Windows drive letters.
  • Graphics – Adjust screen resolution and allow the window manager to control Wine windows.
  • Audio – Select your audio driver (PulseAudio or ALSA).

The default Wine prefix is created at ~/.wine. This directory contains the virtual C: drive and Windows registry files.

Step 6: Install Winetricks for Common Windows Components

Winetricks is a helper script that simplifies installing common Windows runtime libraries and components that many applications depend on. Install it with:

sudo apt install winetricks

Verify the installation:

winetricks --version

With winetricks installed, you can now add essential Windows components. Here are some of the most commonly needed ones:

Install .NET Framework:

winetricks dotnet48

Install Visual C++ runtime libraries:

winetricks vcrun2019

Install common Windows fonts:

winetricks corefonts

Install DirectX runtime:

winetricks d3dx9

You can also launch the winetricks GUI to browse and select components interactively:

winetricks --gui

Step 7: Run a Windows Application

Running a Windows executable with Wine is straightforward. If you have downloaded a Windows .exe file, simply run:

wine /path/to/application.exe

For example, to run a downloaded installer:

wine ~/Downloads/setup.exe

Wine will handle the execution and display the Windows application using your Linux display server. Most installers will place files under the Wine prefix’s virtual C: drive at ~/.wine/drive_c/.

After installation, you can run the application from its installed location:

wine ~/.wine/drive_c/Program\ Files/ApplicationName/app.exe

To check application compatibility before installing, visit the Wine Application Database (AppDB) where users report how well specific software runs under Wine.

Step 8: Configure Display and Audio Settings

If you run into display or audio issues, Wine provides several ways to fine-tune these settings.

Display Configuration

Open the Wine registry editor to adjust display settings:

wine regedit

Navigate to HKEY_CURRENT_USER\Software\Wine\X11 Driver to modify DPI and screen resolution settings. You can also set the virtual desktop resolution through winecfg under the Graphics tab – this is useful for applications that try to change your screen resolution.

To enable a virtual desktop (prevents applications from changing your actual resolution):

wine explorer /desktop=AppName,1920x1080 /path/to/application.exe

Audio Configuration

Wine supports PulseAudio, PipeWire, and ALSA for audio output. Most modern Ubuntu and Linux Mint installations use PipeWire (with PulseAudio compatibility), which Wine handles well out of the box.

If you experience audio issues, open winecfg, go to the Audio tab, and test the audio output. You can also force a specific audio driver:

winetricks sound=pulse

Step 9: Use Wine Prefixes to Isolate Applications

Wine prefixes are one of the most powerful features for managing multiple Windows applications. Each prefix is a self-contained Windows environment with its own registry, installed components, and configuration. This prevents applications from conflicting with each other.

To create and use a custom Wine prefix, set the WINEPREFIX environment variable before running Wine commands:

export WINEPREFIX=~/wine-prefixes/myapp
winecfg

This creates a new, isolated Wine environment at ~/wine-prefixes/myapp. You can then install and run your application within this prefix:

WINEPREFIX=~/wine-prefixes/myapp wine ~/Downloads/setup.exe

You can also create a 32-bit only prefix, which is required by some older applications:

WINEPREFIX=~/wine-prefixes/myapp32 WINEARCH=win32 winecfg

Install specific components into a prefix using winetricks:

WINEPREFIX=~/wine-prefixes/myapp winetricks vcrun2019 dotnet48 corefonts

This approach keeps your default ~/.wine prefix clean and makes it easy to remove an application completely by simply deleting its prefix directory.

Troubleshooting Common Issues

Here are solutions to problems you are likely to encounter when working with Wine 9.

“wine: could not load kernel32.dll” Error

This usually means the Wine prefix is corrupted. Delete the prefix and recreate it:

rm -rf ~/.wine
winecfg

Missing 32-bit Libraries

If you see errors about missing i386 libraries, make sure the 32-bit architecture was properly enabled and install the missing packages:

sudo dpkg --add-architecture i386
sudo apt update
sudo apt install libgl1:i386 libvulkan1:i386

Application Crashes on Launch

Try running the application from a terminal to see error output:

WINEDEBUG=+err wine /path/to/application.exe 2>&1 | tee wine-debug.log

Check the log file for clues. Common fixes include installing missing runtime components with winetricks or switching to a different Windows version in winecfg.

Font Rendering Issues

If fonts look garbled or missing, install the core Windows fonts:

winetricks corefonts allfonts

Graphics or Rendering Problems

For applications with graphical glitches, try overriding the renderer:

winetricks renderer=gl
winetricks renderer=vulkan

Make sure your GPU drivers are up to date. For NVIDIA users, install the proprietary driver. For AMD and Intel users, the Mesa drivers included with Ubuntu 24.04 and Debian 13 should work well.

Slow Performance

If applications run slowly, consider using the staging branch which includes performance patches. You can also try enabling esync or fsync:

WINEESYNC=1 wine /path/to/application.exe

Make sure your system’s open file limit is high enough for esync:

ulimit -Hn

If the value is below 524288, add the following to /etc/security/limits.conf:

your_username hard nofile 524288
your_username soft nofile 524288

Removing Wine Completely

If you need to start fresh or remove Wine entirely:

sudo apt remove --purge winehq-stable
sudo apt autoremove
rm -rf ~/.wine
rm -rf ~/.local/share/applications/wine*

Conclusion

You now have Wine 9 installed and configured on your Ubuntu 24.04, Linux Mint 22, or Debian 13 system. With the WineHQ repository set up, you will receive updates as new Wine releases come out. Using Wine prefixes and winetricks gives you full control over the Windows compatibility environment for each application you run. Check the Wine AppDB before installing any application to see compatibility reports and tips from other users.

LEAVE A REPLY

Please enter your comment!
Please enter your name here