How to Install & Use Bottles to Run Windows Apps on Linux

Run Windows Apps on Linux with Bottles

One of the biggest hurdles for Windows users switching to Linux is the application compatibility issue.

Some of the apps that you could efficiently run on Windows don’t include support for Linux systems. Some of the most affected categories of users are gamers and graphic designers.

A very high percentage of all the games and graphic software developed only support Windows and maybe macOS. Games and apps like Adobe (Photoshop), Microsoft Office, .NET Framework, Starcraft, and many more are only available for Windows.

If your laptop or PC has enough system resources (more than 4 GB of RAM) and supports virtualization technology, one of the first recommendations is to create a Windows 10/ 11 Virtual machine (VM) and install all the apps you need on the VM.

This solution is one of the best since your applications run directly on a Windows system, and there is no compatibility layer.

In this tutorial we’ll learn to install and use Bottles, a tool that allows you to run Windows apps on Linux.

Before we learning more about Bottles, we should first understand what Wine is.

What is Wine?

If using a virtual machine is not an option for you – maybe you have a few Gigabytes of memory or the system doesn’t support virtualization technology, there are a few workarounds that you can apply.

We have a program called WINE which is sort of a Windows Emulator even though the initials stand for “Wine Is Not an Emulator.”

After using Wine for some time now, I can confidently say it works flawlessly for most Windows software out there. Of course, there are some which won’t work at all with Wine or some features won’t be available.

WineCFG

Wine is an almost complete implementation of multiple Windows APIs in a format that Linux can understand.

When a Windows program runs with Wine, it talks to the system like it would talk to Windows. Wine basically grabs these system calls and tells your Linux system to execute something it can understand.

Here, you are not running a virtual machine or an emulator. You have the whole Windows environment on your Linux system except that it’s not developed by Microsoft. Wine creates a fake ‘C’ drive similar to that in Windows where it stores all the installed applications.

What is “Bottles”?

Now that you have a good understanding of Wine let’s look at Bottles.

One of the major issues with Wine is that running programs annually can be quite a hassle especially if you want to run multiple apps with different preferences, different Windows versions, and different libraries.

To solve some of these issues, developers came up with PlayOnLinux but from what I could find online, I don’t think this project is maintained anymore. Fortunately, we now have Bottles.

word image 21

Bottles is a Graphical User interface that sits on Wine allowing you to handle and manage every program in its own bottle.

A bottle here refers to the Wine prefix with different rules, different libraries, different dependencies, and settings. Therefore, you can run every single application optimally without the risk of breaking the other installed applications. Bottles also allow you to use Proton to run games that aren’t available on Steam.

Other features include:

  • It has automated installers for several applications and games
  • Bottles allow you to run ‘.exe’ and ‘.msi’ executables in the bottle of your choice
  • It enables you to easily manage multiple versions of Wine or Proton to use the right one for each application.
  • Import Wine prefixes from other managers
  • Integrated Task Manager for Wine processes
  • It supports gaming performance enhancements
  • Backup and import bottles
  • Allows you to install dxvk and vkd3d allowing you to run 3D applications.
  • You can set custom paths for your Bottles. For example, you can decide to place them on another hard drive or partition.
  • You can also enable Proton prefixes even though as of writing this post, that is still an experimental feature.

Installing Bottles on Linux

Bottles is available in various package formats. These include:

  • Flatpak (Recommended)
  • AppImage
  • Snap
  • AUR
  • Deb

If your system supports Flatpak, we highly recommend using this method as it is the only package that is fully sandboxed with all dependencies and tools required to run Bottles on your Linux system.

To install Flatpak check out the official Flatpak setup section, where they cover installing it on most distros.

For our example we’ll install Flatpak on Ubuntu.

If you are running Ubuntu 18.04 LTS or later, execute the commands below.

sudo apt update
sudo apt install flatpak

If you are running any earlier versions like Ubuntu 16.04 LTS and below, use the commands below to install Flatpak.

sudo add-apt-repository ppa:flatpak/stable
sudo apt update
sudo apt install flatpak

word image 22

When done, run the command below to install the GNOME Software Flatpak Plugin. This plugin allows us to install Flatpak packages directly from Flathub without the need to run any commands on the Terminal.

sudo apt install gnome-software-plugin-flatpak

When done, open the link below on your browser and enter the URL below.

https://flathub.org/apps/details/com.usebottles.bottles

That will open the Bottles Flathub page. Click the ‘Install’ button to install Bottles on your system.

Alternatively, you can install the Bottles Flathub package from the command-line using the command below.

flatpak install flathub com.usebottles.bottles

When done, launch the program using the command below.

sudo flatpak run com.usebottles.bottles

word image 23

This might take a few minutes depending on the speed of your internet. Please be patient. When the download completes successfully, launch Bottles with the command below.

flatpak run com.usebottles.bottles

That will open the Bottles welcome window on your system as shown below.

word image 24

Click Next. You will see an installation screen with an Install button. This allows you to download additional components and files that couldn’t be downloaded with Bottles. Click Install.

word image 25

This process might take a few minutes. When done, you will see the screen similar to the image below. Click Close.

word image 26

Creating a New Bottle

The first step to install anything with Bottles is to create a new Bottle which you will use to run the application. If you are running the latest version of Bottles, click the Create a new bottle button on the Bottles Window. If you already had created other bottles, click at the Plus sign at the top to add a new bottle.

word image 27

You will see a prompt to enter a file name and select the environment in which you want to run your application. There are three environments to choose from:

  • Gaming bottle: This creates a gaming focus bottle which comes with a lot of tweaks specifically for running games.
  • Application bottle: This bottle comes with improvements for running Windows Desktop apps.
  • Custom bottle: This creates a custom bottle with no specific tweaks so that you can experiment yourself.

As an example, we will try to install PowerISO which is a powerful Windows application used to process CD/ DVD and BD images. We will name our new bottle as PowerISO-Bottle.

word image 28

When you click the Create button, Bottles will generate a configuration file with the best tweaks for your new application. When done, you will see the popup message Bottle Created appear on your screen. Close that window.

On the Bottle main screen you will see the new bottle you just created.

word image 29

Click on this bottle to open the configuration page. To install PowerISO, click on the Run Executable button at the top. That will open your system’s file manager and you can select the PowerISO.exe file.

After a few seconds, you will see the PowerISO installation screen popup on your screen. Follow the on screen instructions to install the application as shown below.

That’s it! You can now run PowerISO on your system flawlessly with Wine.

word image 30

While still on this window, you will see a “utilities” section with several interesting features that you wouldn’t find on Wine or PlayOnLinux.

word image 31

Here, you can decide to browse the fake C drive created by Wine, execute commands inside this bottle, edit the registry editor for this particular bottle and do much more from the various options provided.

To launch the installed applications, first click on the Bottle running your app then click on the Programs menu on the left-hand side pane.

If you just installed an application and you can’t find it on the Programs screen, click the refresh icon at the top to update the entries.

word image 32

Here you will see an option to start or stop your application. That’s it! You now have a good understanding of how to run a windows application with Bottles. But there is one problem. Some applications won’t work at all or will require manual tweaks. That brings us to Bottles’ automated installers.

Automated Installers

As of writing this post, Bottles only has a few application installers which are mostly gaming related. However, that list expands frequently since any developer can contribute one of these.

Therefore, don’t be surprised when you see more installers appearing soon especially from some of the most commonly used Windows applications.

Similar to most other installers you would find out there e.g Proton DB, these installer scripts have a rating from Platinum -> Gold -> Silver -> Bronze. That gives you an idea of how well this program will run on your system.

Let’s install Epic Games Store. It is rated Platinum.

word image 33

This might take a few minutes to install. When done, click on the Programs menu on the left and launch the application. You should see a window similar to the image below. Here, you can install some of your favorite games.

word image 34

Conclusion

Bottles enables you to comfortably run Windows applications on your Linux system. If you have worked with Wine, then you might have already noticed that Bottles provides quite an easy-to-use user interface which is easier to navigate and install additional features.

There are more features and functionalities available in Bottles that we might have not handled in this post.

However, I believe at this point you can easily create a bottle and install an application. Feel free to share with our readers your take on Bottles and any additional tips and tricks they might need to know in the comments below.

 

1 Shares:
Subscribe
Notify of
guest
Receive notifications when your comment receives a reply. (Optional)
Your username will link to your website. (Optional)

0 Comments
Inline Feedbacks
View all comments
You May Also Like
Featured image for tutorial "How to Install Zsh on Linux"
Read More

How to Install Zsh on Linux

zsh (Z Shell) is a very popular and highly customizable shell for Linux and Unix-like operating systems. It…