One of the most popular alternatives to Windows is Linux. But what do Windows users do about running Windows apps on a Linux distribution? For most Linux users, that means installing Wine using the distribution’s package manager, which, among other things, adds 32-bit libraries to the root directory. However, not only does Nitrux not revolve around a package manager, but it is exclusively a 64-bit distribution; we do not support 32-bit architectures.
To no one’s surprise, users can still do that using a container in Distrobox; check our tutorial about Distrobox for more information about using containers. However, we believe running Windows software is easier using software like Bottles, which we’ve previously mentioned in our tutorial Gaming in Nitrux pt. 1: Get Started instead of going through the usual and less convenient route of installing and configuring vanilla Wine “the traditional way.”
Bottles is an application that allows users to run Windows software using Wine. It uses separate environments (or Bottles, hence the name), allowing users to have different settings for each program. Additionally, Bottles handles many things necessary to run software, such as .NET installers, VC redistributable packages, etc., which is done via its integrated dependency manager. Additionally, Bottles has a feature called Installers, which allows users to install many store launchers or select applications easily.
Difficulty: ★☆☆☆☆
📜 Table of Contents
Install Bottles in Nitrux
To install Bottles in Nitrux, open the applications launcher, go to Utiltiies→Install Bottles, or search for “install bottles” in the search field.
- 🔰 Information: After clicking the launcher in the application menu, Bottles will be installed in the background using Flatpak. The installation time will vary depending on the speed of the connection to the Internet.
As we mentioned, Bottles will be installed in the background. During this time, our installation script will display notifications and start Bottles after the installation.
Once Bottles is running, proceed to complete its first run setup process.
Install and Run Windows Software in Bottles
For this tutorial, we’ll use executables from the PortableApps.com Platform™. As the name suggests, PortableApps are portable Windows applications similar in idea to AppImages in Linux, which are a great fit for Nitrux.
- 🔰 Information: The PortableApps.com Platform is 100% free to use, share, and fully open source. The source code is licensed GPL v2 and is available at Sourceforge.
- 🔰 Information: Check this link for available applications in their Portable App Directory.
We’ll use OperaGX, “a special version of the Opera browser built specifically to complement gaming,” as an example of a Windows application without a native Linux client. To create a new bottle, click the + button in the main window.
- ⚠️ Important: While Bottles allows users to customize the Wine prefix and use other builds of Wine to provide the best working environment for a given application, it’s always best to check if the application works with vanilla Wine to begin with; the Wine community provides a database of applications where users can search and rate Windows software using various rating levels to indicate their working status.
Then, add a name for the bottle and select the best profile (Application, Gaming, or Custom) for the application you’ll install in the bottle environment. Generally, the default Application profile will work for most software. Next, select the Runner, the built-in Wine build used to run the application.
- 🔰 Information: Bottles does not use vanilla Wine (sys-wine) as the default runner; instead, Bottles uses its custom build called “soda.”
- 🔰 Information: Additional runners can be added to Bottles in Preferences→Runners. Check the Bottles documentation for more information about Runners in Bottles.
For OperaGX, we’ll use a runner called Kron4ek, which will allow the program to work. Finally, click Create and wait while Bottles configures the environment.
- 🔰 Information: Not all applications will work with a single runner; some applications will work fine with vanilla Wine, others with soda, others will require additional runners, and so on.
- 🔰 Information: Users can install multiple applications in a single environment, but it’s better to take advantage of the isolated environments that Bottles provides.
After Bottles completes the environment setup, we can left-click the new bottle, click “Run the executable …” and browse for the installer executable. Once the installer finishes, we can click “Run the executable …” and browse for the OperaGX executable.
And that’s it: Our exclusive Windows application, OperaGX, runs on Nitrux. Application support will vary depending on the application; there isn’t a one-size-fits-all solution. To run OperaGX, we only needed to use a different runner; other applications might require more tinkering.
For in-depth information about Bottles, read their documentation.
Disclaimer: We do not develop Bottles or Wine. To report problems with either software, please create an issue at their respective bug tracker (Bottles Issues at GitHub or Wine Bug Tracker).
Troubleshooting
If you encounter issues during the installation, you can use the following strategies to diagnose and resolve problems.
PortableApps fails to install due to Permission Errors
PortableApps installers will want to extract their contents to the same directory as the installer executable. If we download the installer to our home directory, it will cause an error because Bottles needs permission to write to it since it’s a Flatpak.
The simplest solution is to select the C:\ virtual drive in the installer window instead of the Z:\ virtual drive, which maps to our home directory.
Alternatively, move the executable to a directory to which Bottles already has access, such as the bottle’s C:\ virtual drive.
- 🔰 Information: Replace the bottle’s name accordingly.
$HOME/.var/app/com.usebottles.bottles/data/bottles/bottles/<BOTTLE_NAME>/drive_c
Another alternative solution is to grant Bottles read and write permissions for the directory where the executable is located, for example, the Downloads directory in our home. To do this, go to System Settings→Applications→Flatpak Permission Settings.
Then, click + Add New.
In the dialog, enter the filesystem path where the executable is located and ensure that read/write is selected; finally, click OK.
That’s it; this concludes today’s tutorial.