- 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 to run Windows software in Linux: Everything you need to know
- Wine
- Virtual machines
- Dual-booting
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.
How to run Windows software in Linux: Everything you need to know
Linux is more capable than ever. With over 1,000 Linux games available on Steam and a general shift towards more web-based desktop software, there’s less need for Windows than ever. After all, you can now watch Netflix on Linux without any hacks, and you can even use Microsoft Office on Linux—a web-based version of it, at least.
But, as most dedicated Linux desktop users will eventually discover, there comes a time when you just need to run a particular piece of Windows software on your Linux PC. There are quite a few ways to do so. Here’s what you need to know.
Wine
Wine is a way to run Windows software on Linux, but with no Windows required.
Wine is an open-source “Windows compatibility layer” that can run Windows programs directly on your Linux desktop. Essentially, this open-source project is attempting to re-implement enough of Windows from scratch that it can run all those Windows applications without actually needing Windows.
This is the only method here that won’t actually require a copy of Windows, but the downside is that it won’t run every application properly. You may encounter bugs or performance issues, especially if you’re using Wine to play video games. But if you’re running a popular game released a few years ago, you may find that it performs very well. Many people use Wine to play World of Warcraft on Linux, for example. You can get an idea of how an application will run and any tweaks it might require by visiting the Wine Application Database website and searching for that application.
First, download Wine from your Linux distribution’s software repositories. Once it’s installed, you can then download .exe files for Windows applications and double-click them to run them with Wine. You can also try PlayOnLinux, a fancy interface over Wine that will help you install popular Windows programs and games.
Codeweavers also offers a commercial version of Wine, known as CrossOver Linux. You have to pay to use it, but Codeweavers tries to go out of their way to officially support popular applications (like Microsoft Office, Adobe Photoshop, and some big PC games) and ensure they work properly. Codeweavers also contributes its changes back to the main Wine project.
Virtual machines
Virtual machines are a very convenient way to run Windows software on your Linux PC. As PCs have gotten faster, virtual machines have become comparatively more lightweight.
This process involves installing a copy of Windows in a “virtual machine” program like VirtualBox, VMware, or Linux’s built-in KVM (Kernel-based Virtual Machine) solution. That copy of Windows thinks it’s running on real hardware, but it’s really running in window on your desktop. Modern virtual-machine solutions can even break Windows programs running in the virtual machine out of that window, allowing them to act like normal windows on your Linux desktop.
This solution is more foolproof than Wine. As you’re running those Windows applications on an actual copy of Windows, you won’t encounter bugs.
Using a virtual machine does require a full copy of Windows, however, and there is more hardware overhead because that copy of Windows has to be running alongside your primary operating system. In particular, demanding PC games that need access to your computer’s graphics card won’t perform well at all—you’re better off with Wine for those. But for productivity applications like Microsoft Office or Adobe Photoshop, this is an excellent solution.
Dual-booting
Dual-booting isn’t technically a way to run Windows software on Linux itself, but it is how many Linux users run Windows software. Rather than using it directly under Linux, you just reboot your computer, choose Windows, and boot into Microsoft’s operating system. The Windows software can then run in its native environment. Thanks to modern solid-state drives, that reboot process should be faster than ever.
This is particularly ideal if you’re a PC gamer who just can’t give Windows up yet. Rather than forgoing all those Windows games, you can just reboot your computer when you want to play Windows-only games. As you’re using plain-old Windows running directly on the hardware, you won’t have to deal with any compatibility or performance headaches.
The best way to set up a dual-boot system is to install Windows first—if your computer came with Windows installed, that’s good enough. Next, install the Linux distribution of your choice and tell it to install alongside Windows. You’ll then be able to choose your preferred operating system each time you boot your computer. This Ubuntu guide to installing Linux beside Windows can help walk you through the process.
Want to stay up to date on Linux, BSD, Chrome OS, and the rest of the World Beyond Windows? Bookmark the World Beyond Windows column page or follow our RSS feed.
The best option really depends on what you’re trying to do. If you need to run a single application or game that works well in Wine, Wine may be ideal. If you need to run a variety of desktop applications—like the most modern versions of Office and Photoshop, which Wine might struggle with—a virtual machine will be best. If you’re a PC gamer who still wants to play the latest Windows games, dual-booting will give you the performance you want without the headaches of Wine.