How to Install Wine on Fedora Linux

Wine lets you run Windows applications on Fedora Linux without dual-booting or virtualization. By installing Wine on Fedora Linux, you can translate Windows API calls into POSIX calls and run everything from productivity software like Microsoft Office to Windows-exclusive games and specialized business applications. Whether you need Photoshop for design work, Steam games not available on Linux, or legacy enterprise tools, Wine provides compatibility without sacrificing your Linux workflow.

This guide walks you through installing Wine on Fedora using either the built-in AppStream repository for stable, tested packages or the official WineHQ repository for the latest features and development builds. You’ll configure Wine to emulate Windows environments, install necessary dependencies like Mono for .NET applications, and verify everything works by running a real Windows application. By the end, you’ll have Wine fully operational and understand how to manage Windows software on Fedora.

Choose Your Wine Installation Method

Fedora offers two primary Wine installation paths. The AppStream method provides distro-tested stable releases with automatic security updates, while WineHQ delivers the latest upstream versions including experimental builds. Your choice depends on stability requirements and whether you need the newest features.

MethodChannelVersionUpdatesBest For
DNF AppStreamFedora ReposStable releaseAutomatic via dnf upgradeMost users who want reliable, tested packages with security updates
WineHQ RepositoryWineHQStable, Staging, or DevelopmentManual via dnf upgradeAdvanced users needing latest features or testing experimental builds

For most users, the DNF AppStream method is recommended because it integrates with Fedora’s update system and receives testing from the Fedora QA team. Only use WineHQ if you specifically need features unavailable in the stable release or want to test development builds.

Prepare Your System for Wine

Preparing your system before installing Wine reduces potential conflicts with existing packages and ensures dependencies install correctly. Follow these steps to verify your system is ready.

Update System Packages

Update your system packages to ensure you have the latest security patches and bug fixes before installing Wine.

To update your system, open a terminal by pressing the Super key and typing “Terminal” in the search, then execute the following command:

sudo dnf upgrade --refresh

The command above refreshes repository metadata and upgrades all packages to their latest versions. For faster DNF operations, consider optimizing DNF performance on Fedora.

Verify if Wine is Already Installed

Before proceeding, check whether Wine is already installed on your system. Verifying first avoids redundant installations and ensures you know which version of Wine (if any) is currently available.

Run the following command in your terminal:

wine --version

If Wine is installed, you’ll see output similar to:

wine-10.15

Conversely, if Wine is not installed, you’ll see a command not found error, confirming you can proceed with the installation.

Method 1: Install Wine via Default AppStream

The AppStream method provides Fedora-tested stable packages with automatic security updates and suits most users who prioritize reliability over bleeding-edge features.

Install the Core Wine Package

To install the core Wine package, open your terminal and run the following command:

sudo dnf install wine

As a result, your Fedora system gains the ability to run Windows applications directly.

Add 32-bit Application Support (Optional)

Many older Windows applications and games are designed for 32-bit architecture. Adding 32-bit support ensures these applications run correctly on your Fedora system.

To enable 32-bit support, execute the following command:

sudo dnf install wine.i686

In particular, this step benefits users running legacy applications or games that are not available in 64-bit versions.

Verify Wine Installation

After installation, confirm that Wine is correctly installed by checking its version. In your terminal, type:

wine --version

You should see output confirming the installed version:

wine-10.15

When the command outputs a version number, Wine is successfully installed. Otherwise, review the installation steps above.

Method 2: Install Wine via WineHQ Repository

The WineHQ repository provides access to stable, staging, and development releases directly from upstream and suits advanced users who need the latest features or want to test experimental builds.

Enable the WineHQ Repository

First, add the official WineHQ repository to your Fedora system. The following command automatically detects your Fedora release version:

sudo dnf config-manager addrepo --from-repofile=https://dl.winehq.org/wine-builds/fedora/$(rpm -E %fedora)/winehq.repo

The $(rpm -E %fedora) macro automatically expands to your current Fedora version (43, 42, 41, etc.), ensuring you always use the correct repository.

Next, verify the repository was added successfully:

dnf repo list --all | grep -i winehq

You should see output confirming the repository is enabled:

WineHQ                WineHQ packages                                     enabled

Before installing WineHQ packages, remove any Wine builds from Fedora’s AppStream repositories to avoid mixing binaries and dependencies.

Clean out existing Fedora Wine packages if you installed them earlier:

sudo dnf remove wine wine.i686

After removal, refresh metadata so dnf pulls WineHQ builds only:

sudo dnf upgrade --refresh

Select a WineHQ Release Channel

WineHQ offers three versions: stable, staging, and development. Choose the one that best suits your needs:

Install WineHQ Stable Release

The stable release is the most reliable option for general use. To install it, run:

sudo dnf install winehq-stable

Install WineHQ Staging Release

Alternatively, for beta features and pre-release updates, use the staging release:

sudo dnf install winehq-staging

Install WineHQ Development Release

Finally, to experiment with the latest features, the development release is available:

sudo dnf install winehq-devel

Verify WineHQ Installation

After installation, check the Wine version to confirm success by running:

wine --version

Each version outputs its specific build number:

wine-10.15 (Staging)

The output confirms the selected WineHQ release is installed.

Configure Wine Environment and Dependencies

After installing Wine, configure it to emulate specific Windows environments and install dependencies like Mono for .NET applications. This section covers initial setup through the final configuration adjustments.

Configure Wine with winecfg

The winecfg tool configures Wine to emulate specific Windows environments and fine-tune settings for audio, graphics, libraries, and drivers. Run it after installing Wine or when preparing to use a new Windows application:

winecfg

Running this command launches the Wine Configuration window. By default, Wine emulates Windows 10, which works well for most applications. However, you can adjust this setting if a specific application requires a different Windows version.

Within the configuration window, you can customize:

  • Audio: Configure sound output and input to match your system hardware. Navigate to the Audio tab to ensure proper sound functionality in games, media players, or communication tools.
  • Graphics: Enable virtual desktop mode or adjust screen resolution in the Graphics tab. Virtual desktop is useful for older applications requiring fixed screen sizes or for running games in a contained environment.
  • Libraries: Manage DLL overrides in the Libraries tab. Some applications require specific library versions not available by default. Add and prioritize them manually to ensure compatibility.
  • Drivers: Select correct graphics and input drivers for applications with specific hardware requirements. Proper driver configuration enhances compatibility and performance for graphics-intensive applications or peripherals like joysticks and gamepads.

After adjusting settings, click Apply and then OK to save changes. Test your configuration by running a sample Windows application to ensure everything works as expected.

Install Mono for .NET Compatibility

Many Windows applications rely on the .NET Framework, which is replicated in Wine using Mono. When you launch winecfg for the first time, Wine will prompt you to install Mono if it is not already configured. Select the install option, and Wine will automatically download and configure Mono and its dependencies.

Accordingly, this step is necessary for running applications that require .NET support, such as office tools, graphic design software, or games. Wine will guide you through the Mono installation process when needed.

Using Winetricks for Enhanced Compatibility

winetricks is a utility designed to simplify installing additional libraries, fonts, and configurations needed to run Windows applications on Wine. It handles dependencies that specific programs require, such as Microsoft fonts or DirectX components.

Install Winetricks

To begin, you need to install winetricks on your Fedora system. Open the terminal and execute the following command:

sudo dnf install winetricks

After installation completes, verify winetricks is available:

winetricks --version

The command outputs the installed version, confirming winetricks is ready for use.

2025.02.01-next

Launch Winetricks

Once installed, launch winetricks to access its graphical interface:

winetricks

The interface displays a menu where you can browse and install components needed by Windows applications:

  • Core Fonts: Add common Windows fonts like Arial and Times New Roman to fix missing characters in applications. For system-wide Microsoft font installation, see how to install Microsoft fonts on Fedora.
  • Libraries: Install DirectX, Visual C++ redistributables, or .NET Framework for compatibility with demanding software.
  • Graphics Settings: Configure virtual desktops, tweak rendering options, or improve performance for specific applications.

Why Use Winetricks?

Winetricks automates tedious configurations, saving time and ensuring a smooth experience when running Windows applications. It’s ideal for enhancing compatibility with complex software.

Example: Install Notepad++ Windows Application on Fedora Linux

This example demonstrates how to install and run Notepad++, a popular text and code editor, using Wine on Fedora.

Step 1: Download the Notepad++ Installer

Visit the official Notepad++ website and download the latest .exe installer file.

Step 2: Run the Installer with Wine

First, navigate to the directory where the installer is saved. Then, launch the installer using Wine by running the following command in your terminal, replacing <path-to-installer> with the file’s location:

wine <path-to-installer>

Alternatively, right-click the .exe file, select Open With, and choose Wine Windows Program Loader.

Step 3: Follow the Installation Wizard

The Windows-style installation wizard will appear. Simply proceed through the prompts to complete the installation, accepting the default options unless you have specific preferences.

Step 4: Launch Notepad++

After installation completes, you can run Notepad++ using the following command:

wine ~/.wine/drive_c/Program\ Files\ \(x86\)/Notepad++/notepad++.exe

Additionally, you may create a desktop shortcut or add the application to your system menu for easier access.

Step 5: Verify Installation Success

Open Notepad++ and test its features, such as editing text or coding. Afterward, ensure that the application functions as expected and customize settings if needed.

Manage Wine Configuration and Updates

Wine provides several commands to manage your Windows applications and environment. Use these to configure 32-bit support, keep Wine updated, or cleanly remove it when no longer needed.

Create a Dedicated 32-bit Wine Prefix

Certain older Windows applications require a 32-bit Wine setup to run correctly. To create a dedicated 32-bit Wine environment, begin by setting the Wine architecture to 32-bit in your terminal:

export WINEARCH=win32

Next, define a separate Wine prefix for this 32-bit environment. The prefix acts as a unique configuration directory, ensuring it does not interfere with your default Wine setup:

export WINEPREFIX=~/.wine32

Lastly, launch the Wine configuration tool to initialize the 32-bit environment:

winecfg

Once configured, you can install and run 32-bit Windows applications in this environment without any conflicts.

Updating Wine

Keep Wine updated to maintain compatibility with the latest Windows applications. If you installed Wine via Fedora’s default repositories, update it by refreshing package lists and upgrading all packages:

sudo dnf upgrade --refresh

Running this refreshes your package lists and upgrades Wine along with other packages that have available updates.

Remove (Uninstall) Wine

When you need to remove Wine from your Fedora system, the process depends on whether you installed it from the WineHQ repository or Fedora’s default repositories.

Uninstalling WineHQ Versions

For Wine installed via the WineHQ repository, use the command corresponding to your installed version. Specifically, to remove the stable release, run:

sudo dnf remove winehq-stable

Similarly, for the staging release, execute:

sudo dnf remove winehq-staging

If you installed the development release, use:

sudo dnf remove winehq-devel

Afterward, remove the WineHQ repository to clean up your system:

sudo rm /etc/yum.repos.d/winehq.repo

As a result, no lingering repository files remain on your system.

Uninstalling Standard Wine Versions

In contrast, the removal process is simpler for Wine installed from Fedora’s default repositories. To uninstall, execute:

sudo dnf remove wine

Additionally, if you enabled 32-bit support during installation, remove the 32-bit libraries as well:

sudo dnf remove wine.i686

Remove Winetricks (Optional)

Likewise, if you installed winetricks, remove it as well:

sudo dnf remove winetricks

Remove Wine User Data

The following commands permanently delete Wine configuration files, installed Windows applications, and any data stored within Wine’s virtual Windows environment. Export or backup important data before proceeding.

Remove Wine’s default prefix directory containing all Windows applications and settings:

rm -rf ~/.wine

Remove Wine cache and desktop entries:

rm -rf ~/.cache/wine ~/.local/share/applications/wine*

Troubleshoot Common Wine Issues

When running Windows applications through Wine, you may encounter issues related to dependencies, graphics, or application compatibility. This section covers common problems and their solutions.

Missing 32-bit Libraries

If a Windows application fails to launch with errors about missing libraries, you may need 32-bit Wine support:

wine: Bad EXE format for Z:\path\to\application.exe

Typically, this error means a 32-bit application requires 32-bit Wine libraries. First, confirm the 32-bit package is missing:

rpm -q wine.i686 || echo "wine.i686 not installed"
package wine.i686 is not installed

To resolve it, install 32-bit support:

sudo dnf install wine.i686

Verify installation and retry launching the application:

wine-10.15-1.fc43.i686

Application Crashes or Visual Glitches

Graphics-intensive applications may crash or display incorrectly due to missing DirectX or graphics driver issues. To fix this, use winetricks to install necessary graphics libraries:

winetricks d3dx9 vcrun2015

For persistent visual glitches, enable virtual desktop mode in winecfg under the Graphics tab. This contains the application in a fixed-size window and often resolves rendering issues. If you have an NVIDIA GPU and experience poor gaming performance or rendering problems, ensure you have proper drivers installed by following how to install NVIDIA drivers on Fedora.

Audio Not Working

When you hear no sound in Wine applications, verify your audio driver selection in winecfg:

winecfg

Navigate to the Audio tab and ensure the correct audio driver is selected (usually ALSA or PulseAudio). After that, click Test Sound to verify audio output. If testing fails, check that your system audio is working outside Wine with standard Linux applications.

Conclusion

You now have Wine configured to run Windows applications on Fedora Linux, including installation via AppStream or WineHQ repositories, environment configuration with winecfg, winetricks for installing Windows dependencies, and dedicated 32-bit prefixes for legacy applications. With Wine operational, you can run Windows productivity software, games, and specialized tools without leaving your Linux workflow. For gaming, complement Wine with Steam on Fedora for Linux-native titles or PlayOnLinux on Fedora for a graphical Wine prefix manager. For additional development tools, explore VSCodium on Fedora as a native alternative to VS Code, or refer to Docker on Fedora for containerized Windows application testing.

Useful Resources

These resources provide additional support for Wine configuration and troubleshooting:

  • WineHQ Help Center: The main source for Wine documentation and support. A great place to start if you’re learning how Wine works or troubleshooting a problem.
  • WineHQ Forums: A community forum where you can ask questions, share experiences, or find solutions from other Wine users.
  • WineHQ Bug Tracker: Report bugs or check for known issues. Useful for troubleshooting problems specific to certain applications or environments.
  • Wine Application Database (AppDB): Check compatibility reports for thousands of Windows applications to see how well they run on Wine.
  • Wine GitLab Wiki: A resource for technical documentation and updates, especially helpful for advanced users or contributors.

4 thoughts on “How to Install Wine on Fedora Linux”

    • Thanks for sharing the fix, Christian. You were absolutely right. The article had the old DNF4 syntax when you commented in January. Fedora 41 introduced DNF5, which changed --add-repo to addrepo --from-repofile=.

      The article now uses the correct DNF5 syntax with automatic version detection:

      sudo dnf config-manager addrepo --from-repofile=https://dl.winehq.org/wine-builds/fedora/$(rpm -E %fedora)/winehq.repo

      The $(rpm -E %fedora) macro automatically expands to your Fedora version, so readers no longer need to manually specify 41, 42, or 43. Your feedback directly drove this improvement.

      Reply
  1. Good enough to get it running which is only the second time I have actually gotten Wine to run. Usually it says it can’t do the configuration. So this guide was excellent for me.

    BUT, there was no prompt to install mono… So I worried about missing something critical.

    Reply
    • Thanks for the kind words, tom. Glad the guide helped you get Wine running.

      The Mono prompt does not always appear automatically. Wine typically prompts for Mono when you first launch an application that requires .NET support. If you only ran winecfg without testing a .NET application, the prompt may not trigger.

      You can install Mono manually through winetricks if needed:

      winetricks mono

      If your Windows applications run without errors, you likely do not need Mono at all. It is only required for software built on the .NET Framework.

      Reply

Leave a Comment