Last Updated:

How to run Windows programs on Linux?

wine installation

Sooner or later, most Linux users are faced with situations when you need to run a certain program from Windows. Now we will look at the main ways to run Windows-applications in Linux-systems.

 

Wine

Wine (an acronym for "Wine Is Not an Emulator") is a project to develop a free implementation of the Windows API, thanks to which Linux users have the opportunity to run Windows applications directly on their system. Instead of simulating The internal logic of Windows like virtual machines or emulators do, Wine "on the fly" converts Windows API calls into calls to the appropriate POSIX functions, thereby avoiding the possible problems of insufficient program performance typical of emulator use cases, and allows you to fully integrate Windows applications into the Linux system.

All you have to do is install Wine from the repositories of your Linux distribution, then download the Windows application of interest and simply run it by double-clicking on the .exe file.

Also, many Linux users use Wine, including to run games, for example: BioShock, World of Warcraft, Starcraft, Fallout 3, The Elder Scrolls V: Skyrim and many others. To get an idea of how a Windows application will work on Linux, visit the Wine Application Database site.

Note: It is worth mentioning that there is also a commercial version of Wine from CodeWeavers, known as Crossover.

 

Virtual Machines


Virtual machines are a very convenient way to run Windows software on your Linux computer. As computers became faster, virtual machines became comparatively more lightweight.

This option includes installing the Windows operating system inside one of the following virtual machines: VirtualBoxVMware, or the Built-in Linux KVM (Kernel-based Virtual Machine) solution. Modern solutions for virtual machines allow programs running inside them to interact with your environment as if they were directly installed on it:

virtual box vm

This way of running Windows applications on Linux is considered more reliable than Wine. Since you run them on a real Windows system (inside a virtual machine), therefore, the chance of encountering compatibility errors is greatly reduced.

Since a copy of Windows will work together with your Linux system, this will require additional hardware costs. In particular, demanding computer games that need access to your computer's video card may experience problems – for them, Wine will be the best option. But for applications that don't need much performance (like Microsoft Office or lightweight games), virtual machines are a great solution.

Multi-boot

Multibooting is not technically a way to run Windows software on Linux itself, but often many Linux users choose this option for working with Windows programs. Instead of running Windows applications directly on a Linux system, you simply restart your computer, select Windows to boot, and run fully on that OS. Thus, two systems (Windows and Linux) will be installed on your computer at the same time, and thanks to the use of SSD-drives, the boot process of the selected system you can speed up at times, minimizing the waiting time.

This option is ideal for gamers: you just restart your computer and play games that are compatible only with Windows. Since this involves regular Windows running directly on your hardware, you won't have to face any compatibility issues or performance drops.

The best way to set up Multiboot is to install Windows first (if you already have Windows on your computer, that will suffice) and then install a Linux distribution. You will then be able to select your preferred operating system each time you boot your computer.

Note: It is worth noting about such a mechanism as WSL. By installing a Linux distribution with Windows 10 via WSL, you only get the command shell of your chosen distribution without any graphical interface (i.e. no desktop environment and GUI applications). You can install additional applications with a graphical interface, but through third-party applications.

 

What to choose?


Which option to choose depends on your goals:

If you need to run a single application or game from Windows that works well in Wine, then Wine will be the perfect solution for you.

If you need to run several not very resource-intensive Windows programs, then a virtual machine would be a good option.

If you're a gamer who wants to play the latest Windows games, but still want to be able to use a Linux system, multi-boot is the perfect solution for you.