- How can I install Windows software or games?
- Detailed answer and solutions
- Running .exe files on Ubuntu with WINE
- Running Windows applications on Ubuntu with PlayOnLinux
- Commercial solutions
- How to Run Windows Software in Linux Using Bottles
- About Bottles
- Installing Bottles in Linux
- Creating a New Bottle
- Running a Setup File Using the Bottle
- Running and Configuring Apps and Games Installed Inside a Bottle
- Configuring a Bottle and Changing Global Preferences
- Conclusion
- About the author
- Nitesh Kumar
How can I install Windows software or games?
.exe files are not binary-compatible with Ubuntu. There are, however, compatibility layers for Linux, such as Wine , that are capable of running .exe.
Detailed answer and solutions
The underlying problem:
Ubuntu is a completely different system than MS Windows. Not only it looks differently, but it also uses different mechanisms for its core functions.
The problem with .exe files is that they are specific to Windows. No other system is capable of running them, because their contents are designed to work on a Microsoft’s system. Linux uses different standards, different concepts, and therefore Ubuntu applications need to be adapted to them to work correctly.
If you have just migrated from Windows and are doing your baby steps with Ubuntu, you may be indeed surprised that .exe files fail to run. There may be different symptoms, either an error message may appear, or there may be no effect at all when double-clicking an .exe. This all happens, because Ubuntu has no idea what should it do to run that file. Ubuntu is not knowledgeable about how MS Windows works «behind the curtain», and therefore it can’t execute the code that’s within them. In technical jargon, one says that Windows and Linux executables are not binary-compatible.
Looking for alternatives
The first thing you should do is to realise that most likely you do not want to run that .exe file. Most Windows applications you are used to have their Ubuntu alternatives in Ubuntu Software Center.
Therefore the very first step when you try to run an .exe file is to check whether there is a Ubuntu version of the same application (like Firefox — it has both a Windows and Ubuntu edition), or a close alternative, which is not the same app, but does 99% the same stuff. For example, if you want to compose a document, instead of MS Office you will want to use LibreOffice.
How can I find an alternative?
- Search Ubuntu Software Center.
- Launch the Ubuntu Software Center, type in the search box what kind of application you are looking for. For example, typing in «photoshop» finds The GIMP, which is a great advanced image editing tool, and is a great substitute for Adobe Photoshop.
- Many Windows applications are also available for Ubuntu, and have their identical version in Ubuntu Software Center, which is the preferred way of installing software in Ubuntu.
- Search Ask Ubuntu (this very site).
- There are many questions here that explain what applications can be used as substitutes. Also, do not forget to ask a question if you need software-recommendation.
- This Ubuntu Help page contains great tips when seeking for alternatives.
- http://ubuntuguide.org/wiki/Alternatives
- http://alternativeto.net/
Okay, but not all applications have alternatives. There are a number of cases where you will want to run the .exe program anyway. Examples include:
- You are trying to run an application of which alternative makes no sense. In case of most video games you will want to run them and not an alternative.
- You may want to run the original application instead of an alternative, because the alternative is not good enough. For example, many people consider Photoshop to be a much better editor than The GIMP.
- This is a very Windows-specific program, that makes little sense on Linux.
Luckily, you can get .exe files to run on Ubuntu.
Running .exe files on Ubuntu with WINE
What is Wine? Well, technically it’s a compatibility layer. What it means is that it provides an environment similar to Windows to any .exe application you try to run. Therefore, with WINE .exe files will run on Ubuntu.
WINE is not installed by default. You can get it either by:
- Searching for «wine» in Ubuntu Software Center.
- Running the command: sudo apt-get install wine .
Details on installing WINE can be found in this question.
Okay, so I installed WINE. Now what?
Proceed to launching your .exe file! Double-click it, and with a bit of luck everything will seem like on Windows. Voilà!
WARNING: Not all applications will behave correctly when run with WINE. WINE is by no means perfect, and because it pretends to be a Windows environment instead of actually being a real one, some applications may malfunction. Common problems may include incorrectly displayed fields, fullscreen issues with video games, copy-protection problems. Some of them can be solved with litte hassle, make sure to check the WINE application database and use google to find hints in case your .exe does not work correctly.
Running Windows applications on Ubuntu with PlayOnLinux
There is another tool you may like which aids you in running Windows applications.
It’s called PlayOnLinux (website) and it supports quite a wide range of software (browse).
What it does is it runs a specific version of Wine which is known to work best with the application you are willing to run. It also installs additional paths to provide maximum compatibility with Ubuntu. But you don’t need to know about that; everything is done automatically.
Because of that, PlayOnLinux tends to provide the best results in case of running a widely known piece of software, including many video games.
Installing PlayOnLinux:
Using PlayOnLinux:
Instead of double-clicking the .exe (which launches it with WINE), run PlayOnLinux application. Select «Install» button on the toolbar, and choose what application you wish to install. PlayOnLinux will guide you through the installation process (of course you will need installation media).
Once it’s done, your installed application will be displayed in PlayOnLinux main window. Double click to launch it!
Commercial solutions
If you are not satisfied with WINE, there are some commercial softwares that runs Windows applications on Linux. One of the most well-known is CrossOver. In some cases it has significantly better results, yet it is not available for free.
How to Run Windows Software in Linux Using Bottles
This article will cover a guide on installing and using a relatively new graphical software called “Bottles”. Based on the popular Windows Compatibility layer called “Wine”, Bottles aimes to make it simple to install and configure Windows software in Linux using just a few clicks. It also allows you to go deep into numerous configuration options supported by Wine. If you have used the “PlayOnLinux” graphical client for Wine in the past, you will find it similar but with many extra goodies.
About Bottles
Bottles is a free and open source graphical application that simplifies creation and management of Wine “prefixes”. A Wine prefix is a directory that imitates the file system hierarchy of Windows operating system. It contains a “C” drive where you can install software meant for Windows. It includes other necessary files as well that are needed for a Windows based application to work in Linux. Each Wine prefix is a self-contained container that is isolated from other prefixes. So you can create as many Wine prefixes as you want and install Windows compatible apps in separate prefixes. This prefix system makes it easy to configure Windows software and can help in resolving compatibility issues as software installed in one prefix has nothing to do with software installed in another prefix.
Main features of Bottles include:
- Provides an option to download Wine and other necessary components from the app itself.
- Ability to backup and restore Bottles and all contents within them.
- Supports different builds and flavors of Wine (called Runners in the app).
- Supports “Proton” runner, a popular Wine flavor maintained by Valve and used in Steam client.
- Built-in task manager that shows Wine related processes only.
- Provides an option to automatically repair bottles in case of configuration errors.
- Ability to switch runners for existing Bottles.
- Provides an option to integrate Bottles into the right click menu of file managers.
- Supports predefined Bottle templates for faster configuration.
- Supports predefined and custom environment variables.
- Built-in support for ProtonDB, a database that shows crowdsourced feedback about Windows games that can be run using Proton.
- Supports overriding DLL libraries from the app itself.
- Supports DXVK Vulkan renderer and other such utilities that can improve performance of apps and games.
Installing Bottles in Linux
You can use Bottles in Linux by downloading a universal AppImage file that works on all major Linux distributions from here. More distribution specific packages, including Snap and Flatpak builds, can be downloaded by following instructions available here.
Creating a New Bottle
When you first run the Bottles app, it may ask you to download some files. Go through the download wizard, it will mainly download Wine runners. It will also detect any Wine build already installed on your system through the official repositories sources. Once you have completed the initial setup wizard, you will be able to create a new Bottle. To do so, launch the app and click on the “+” icon located at the top left corner or click on the “Create a new bottle” button (as shown in the screenshot below).
A new sub-window will open. Enter a name for the Bottle and Click on the “Create” button. You can choose to use a predefined template or use a custom one.
Wait a few moments for the process to finish. You should be presented with a screen similar to this.
Running a Setup File Using the Bottle
Now that a bottle has been created, you can choose an “.exe” or “.msi” file to start installing Windows software in the Bottle. To do so, click on the little cube like icon located inside the main entry for the Bottle.
Pick up an “.exe” or “.msi” file from the file manager and wait for the installation process to finish. You may have to go through setup wizards that typically run on Windows. Below is an example:
Follow the onscreen installation instructions, just like you would do on Windows. These installers don’t have native Linux interface.
Running and Configuring Apps and Games Installed Inside a Bottle
Once you have completed the setup process, click anywhere on the Bottle entry to launch its detailed preferences.
Any launchers and shortcuts created by the installer will appear in detailed preferences under the “Programs” section. You can launch the installed app using these shortcuts by clicking on the arrow icon next to them (as shown in the screenshot below).
You can also find installed app shortcuts under the “Program” tabs. In case a program shortcut doesn’t appear, you can manually choose a binary installed in “C” drive using the “Run executable” button.
Configuring a Bottle and Changing Global Preferences
The preferences section shown above can be used to change the settings of the Bottle and browse installed files in a file manager.
In the “Preferences” tab, you can also optimize performance of the installed software by using DXVK, Game-mode and other such tools. Here you will also find a setting that allows you to switch runners.
Any additional dependencies needed for the application can be downloaded and installed from the “Dependencies” tab.
To backup a bottle, click on the “Details & Utilities” tab and click on the downward arrow icon.
To access the task manager, change global preferences and restore Bottle backups, click on the cog icon located at the top right corner of the main window.
Conclusion
Bottles provide an easy way to install Windows compatible software in Linux and manage them all at one place. It can also be used to make installation files portable using its backup and restore functionality.
About the author
Nitesh Kumar
I am a freelancer software developer and content writer who loves Linux, open source software and the free software community.