How To Run Windows Applications On Linux [Beginners Guide]

Guide to running Windows Software on Linux

As you’re here, I’m going to assume that you’re a Linux user. And every once in a while, you find yourself asking: can I run windows applications on Linux?.

Answer to that question is yes. Yes, you can run Windows applications in Linux. Here are some of the ways for running Windows programs with Linux:

Both of them works just fine. But they are somewhat resource hungry.

If you only need to use a small Windows application, installing Windows on a separate HDD partition or as a Virtual Machine is not efficient. Moreover, Virtual Machine can’t utilize the total power of your machine. So, what is the solution?

No worries, there is another way to use Windows software on Linux. It’s called Wine. If you aren’t yet familiar with it or you are a beginner in the world of Linux, this article is for you.

In this beginner’s guide, I’ll show you what is Wine and how to use it to run Windows software on Linux. I have used Ubuntu here as Ubuntu is one of the best Linux distros for beginners, but any other Linux distribution will have more or less same steps (except for the commands in Arch or Fedora based distros).

Using Wine to run Windows programs in Linux

Wine stands for Wine Is Not an Emulator. And WINE is actually an acronym for that. And as previously stated, it’s not even a virtual machine.

Rather it is a compatibility layer for running Windows applications on UNIX-like or POSIX-compliant operating systems (e.g. Linux, Mac, BSD). While a virtual machine or emulator simulates internal Windows logic, Wine translates those Windows logic to native UNIX/POSIX-complaint logic.

In simple and non-technical words, Wine converts internal Windows commands to commands your Linux system can natively understand.

[irp posts = “9653”]

Installing Wine

There are various ways to install Wine on your system. As this is a beginners’ guide, I’ll describe the most straightforward one here.

Almost all the Linux distros come with Wine in their package repository. Most of the time the latest stable version of Wine is available via package repository. Installing Wine on Ubuntu is as easy as firing up a terminal and running these commands:

sudo apt update
sudo apt install wine

However, if you are using an 64bit installation of Ubuntu, you will need to run these additional commands:

sudo dpkg --add-architecture i386

This will add 32bit architecture support on your distro which will benefit you in installing specific software. If you don’t know whether you have a 32bit installation or 64bit, check this article: 32bit or 64bit Ubuntu?

What Windows applications are Supported by Wine?

There is a large number of Windows applications that are currently fully supported by Wine. They will run without any hassle.

However, new Windows applications are being developed every day. Many of them wouldn’t function as we want on Wine. But the development pace of Wine is also rapid, support for new applications is being added all the time.

And there is a dedicated database for keeping track of just that.

Wine Application Database has almost 24,000 applications rated with different status depending upon how well that applications run in Wine. If you want to quickly check the rating of the application you want to use in Wine, you can take a look there. Here are the meaning of those ratings:

  • Platinum: These applications install and run flawlessly in out-of-the-box Wine.
  • Gold: These applications work flawlessly with some special configuration.
  • Silver: Applications with minor issues are tagged as Silver.
  • Bronze: The Bronze ones have major issues that seriously affect usage.
  • Garbage: These simply won’t run on Wine.

Reviews, Installation Procedure, which Wine version it was tested against and various useful data are also available for each application here.

Of course, Wine Application Database is mostly user-generated data, so you are always welcome to try running an application with a different version of Wine and share your result with rest of the community.

Finding an Application in Wine Application Database

Let’s see how we can find an application in Wine Application Database.

Go to Wine Application Database. Click Browse Apps from the left sidebar.

Finding an App in Wine AppDB
Finding an App in Wine AppDB

Write the name of the application you want to find in the Name field.

Wine AppDB name filter
Wine AppDB name filter

Click on the link to the application from the search result.

You’ll see a description of the application. There will be a list of various versions with their compatibility rating with a specific Wine version.

Wine AppDB Application page
Wine AppDB Application page

Let’s click on the latest version link.

This is the main page you need to check. There will be detailed information about that specific version.

Detailed Information about Application
Detailed Information about Application

You’ll get an idea of what will work and what will not. Also, the installation procedure will be included here if any additional tasks are needed for installation.

Getting Started with Wine

Before we go on installing and running applications in Wine, we should have clear idea about a few things and about how to configure Wine for usage:

WinePrefix

Windows applications need a C: drive. Wine uses a virtual C: drive for this purpose. The directory of this virtual C: drive is called wineprefix. First of all, we need to create a wineprefix. For doing that, fire up a terminal and enter this command:

winecfg

This will create a wineprefix and open the configuration window for Wine. You can change the configuration options if you want or let it be as is for time being and close it. Now, you can locate the virtual C: drive at

$HOME/.wine/c_drive
WinePrefix C: Drive
WinePrefix C: Drive

The general rule is to install each new application into a fresh wineprefix. We can create and maintain multiple wineprefix manually. But that task would seem rather tedious for the beginners. So, we will skip that part for now. But, later I’m going to show the way for doing that part with ease.

Installing an Application with Wine

Installing a supported application in Wine is generally as easy as double-clicking on the installation file. However, we are now going to see a step-by-step guide for installing 7-zip on Wine.

First of all, check for 7-zip rating on Wine Application Database. It has Platinum rating, so we are good to go. Open Wine configuration ( winecfg ) and set the Windows Version to Windows 7.

Wine Windows 7
Wine Windows 7

Right-click on the 7-zip installation file and select Open With Wine Windows Program Loader.

7-zip Installation File
7-zip Installation File

See that destination folder path? 7-zip installation has recognized the virtual C: drive from wineprefix.

7zip Setup Directory on Wine
7-zip Setup Directory on Wine

Finish the installation and go to the installation directory [ $HOME/.wine/drive_c/Program Files/7-zip/ ] from the file browser.

Right-click on 7zFM.exe and go to Properties > Open With.

Set Default .exe Loader
Set Default .exe Loader

Select Wine Windows Program Loader and close the window. Double-click on 7zFM.exe.

7-zip running with Wine
7-zip running with Wine

And there you go! For creating a shortcut on your desktop, right click on the file.

Creating 7-zip shortcut
Creating 7-zip shortcut

Now move the Link to Desktop.

Move shortcut to Desktop
Move shortcut to Desktop

Now, you can run 7-zip just from your desktop. All you have to do is double-click on the icon.

Run 7zip from desktop
Run 7-zip from desktop

If you want to access your files on Linux, they are generally located in Z: Drive.

Linux directory in Z: drive
Linux directory in Z: drive

You can use the 7-zip just as you would use it on Windows – for extracting and creating archives and such.

Let’s make things (a lot) Easier

You might have noticed that, at Wine Application Database, with every version of application review a specific Wine version is mentioned.

It is because of the rapid development rate of Wine. Though an application runs with the current version of Wine, it might not run with a future version, because of the changes made.

Also, I’ve mentioned about installing each application in its own fresh wineprefix. So that, an application has no chance of interfering with another. And doing all these manually, usually from the terminal, is time-consuming, tiresome and at times, confusing.

PlayOnLinux is here to rescue. It provides a nice interface for doing all these things easily. For installing PlayOnLinux on Ubuntu, simply run this command:

sudo apt install playonlinux
PlayOnLinux interface
PlayOnLinux interface

You can easily perform every task related to Wine with PlayOnLinux from a beautiful and intuitive graphical interface:

  • Installing & Uninstalling applications.
  • Creating, Updating & Removing wineprefixes.
  • Maintain Wine of different architecture and versions.
  • Run & Create shortcut for installed applications.
  • And so on…

But still, you will need to check Wine Application Database for reviews, installation procedures and such.

Advantages of using Wine

When it comes to running Windows applications on Linux system, Wine provides many advantages over using emulators or virtual machines.

  • Performance: Wine is immune to the performance loss that otherwise occurs while emulating.
  • Native Experience: There is no need to open Wine before running a Windows application. Exactly how Wine works will be more clear from this quote from official site,

    Wine can be thought of as a Windows emulator in much the same way that Windows Vista can be thought of as a Windows XP emulator: both allow you to run the same applications by translating system calls in much the same way. Setting Wine to mimic Windows XP is not much different from setting Vista to launch an application in XP compatibility mode.

Wine Derivatives

There are quite a number of projects for running Windows applications on other platforms, based on Wine:

  • CrossOver: CrossOver is a developed by the company named CodeWeavers. It is directly based on Wine with a few tweaks and proprietary add-ons. In fact, CodeWeavers employs a large portion of Wine developers. Unlike the rapid releases of Wine, CrossOver releases are more stable. The one and major downside is that Crossover is not free.
  • PlayOnLinux: PlayOnLinux is completely based on Wine. And provides easier route for installing and managing application with Wine. PlayOnLinux is free.
    It is also available for Mac as PlayOnMac.
  • ReactOS: ReactOS is an entirely different open-source operating system for running Windows applications. It reuses a considerable amount of codes from Wine. However, this is a project under development for more than a decade and I won’t recommend it.

Additional Tips on using Wine

Winetricks

This is another important part of using Wine. Winetricks is a helper script to download and install various redistributable runtime libraries needed to run some applications in Wine. These may include replacements for components of Wine using closed source libraries. Winetricks comes with Wine installation on Ubuntu.

For starting winetricks, run this command:

winetricks
Winetricks
Winetricks

There are many options for helping you with various tasks.

Installing an Application with Winetricks

If you Install an app from winetricks, it will be installed in a separate wineprefix. Let’s install VLC:

Winetricks - Install an app
Winetricks – Install an app
Winetricks - Install VLC
Winetricks – Install VLC

It will then begin to download the VLC installation files. And then guide you through the rest of the process. It’s pretty simple.

Install Windows DLL or components and others

You can select a wineprefix from winetricks and install various libraries and components required by the application you want to run and also perform other operations.

Winetricks Scripts
Winetricks Scripts
Winetricks Libraries & Components
Winetricks Libraries & Components

N.B.: If using winetricks seems complicated to you, it’s perfectly okay. I feel the same way too. I always use PlayOnLinux for this reason. PlayOnLinux can do everything you might need to do from winetricks.

For more information you can check Wine FAQ and Documentation.

I hope you find this complete beginner’s guide to using Wine in Linux helpful. Now you can run Windows programs in Linux without installing a virtual machine or dual booting.

Let us know if you have any questions or opinion in the comment section below.

Similar Posts

  • Ubuntu doesn’t equal Linux.
    Apt, apt-get doesn’t work on the majority of Linux systems.
    This is not an article on How To Run Windows Applications On Linux. It is an article on how to install Windows on Debian/Ubuntu derivatives.

    • Do you want me to list the package managers for all the 100s of Linux distributions? And add Snap, flatpak, AppImage, ex, tar gz, source code and all kinds of installation instructions in it so that it is 3000 words long just for the installation part?

      • Kinda shitty response to a legitmate, if blunt criticism. Whether it was edited in response or there from the start, the paragraph introducing the code does note its specific to Ubuntu. But anyone, especially a beginner with little programming knowledge–like the target audience of Mint and other user friendly distros–are gonna be lost.

        A simple fix: add some line about most distros having an app-store where they can find Wine and add a box that notes how/where to find the equivalent of ‘apt-get’ for their distro, or add a common equivalent or the equivalent for the next biggest distro. Lots of simple ideas that require extra work or snark.

        I’m a new Mint user and I’ve downloaded Wine from the app-store. I found this page because I want to make sure I’m using it correctly before downloading programs. But if I had found this before downloading wine, I probably would’ve missed the Ubuntu reference and been frustrated.

        (And if you come at me with something about Mint being based on Ubuntu–cuz now that I’ve mentioned Mint something about Ubuntu sounds familiar–you’ve missed the point)

  • thanks for this guide…been searching for an good beginner’s guide. And this is just perfect.