Bottles - Run Windows software on Linux with Bottles

Jarret B

Well-Known Member
Staff member
Joined
May 22, 2017
Messages
340
Reaction score
367
Credits
11,754
Bottles is a Graphical User Interface (GUI) to aid in setting up the WINdows Emulator (WINE). Bottles has many benefits over WINE by itself.

For anyone who uses WINE, you need to look into Bottles.

Benefits

Bottles provides more abilities than WINE alone and includes the following:
  • Sand-boxed
  • Backup Bottles
  • Restore a bottle to previous version
  • Environments
  • Prefixes
  • Built-in dependency manager

    These are some of the benefits and we can get into these individually.

    Each Bottle is sand-boxed so it cannot access your Linux HOME folder and vice versa. This keeps your files safe from anything that may cause file corruption. It is easy to make a backup of a Bottle, which can be restored later. Bottles can be imported as well from PlayOnLinux and Lutris. Any backup can be restored to a previous version. If something fails in a bottle, you can restore it to a previous state when the bottle was working.

Environments is a ready-to-use configuration for a specific application. The environment includes settings, dependencies and libraries needed for an application. Three environments exist: Gaming, Software and Custom.

Different WINE prefixes can be managed, called bottles.

The built-in dependency manager will automatically install any dependency files needed by an application.

Bottles is very customizable, as we’ll see as we install and use it.

Installation

Let’s get Bottles installed on your system.

We will need ‘flatpak’ installed for Bottles. You can install Bottle without ‘flatpak’, but it is suggested to use ‘flatpak’.

To install ‘flatpak’ in Ubuntu, use the following command:

sudo apt install flatpak -y

We now need to install the ‘flathub’ repository (it is all on one line):

flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

After we install ‘flatpak’ and the repository set up, you install Bottles with the command:

flatpak install flathub com.usebottles.bottles

You should be prompted twice to continue. Just press ‘y’ and enter to accept the installation of Bottles.

Once Bottles is installed, you need to run ‘bottles’. Go to the bottom left corner, the default location, and open ‘Show Applications. Type ‘bottles’ and press enter. Bottles should start and after pressing ‘Next’ a few times, the button should change to ‘Install’. The application should install a ‘runner’. A ‘runner’ is a different build or variation of WINE. After ‘Bottles’ downloads and install the runner, you will see a message that the install was successful and you are ready to create a Bottle.

NOTE: You can install different ‘runners’, but with the ‘runners’ you do not need to install WINE yourself.

Creating a Bottle

Since it installed everything, including a runner, you should now see a button to ‘Create a new Bottle’. Click on this button and let’s get started.

Give your Bottle a name and choose the type of Environment. As an example, I’ll download Windows 95 Paint from ‘https://archive.org/details/MSPaintWin95’. I give the Bottle a name of ‘Paint95’ and select ‘Application’ before I select ‘Create’. After a few minutes, I’m informed the Bottle was created successfully. Click ‘Close’ to close the window. You should see an entry in the ‘Bottles’ window, as shown in Figure 1.

Figure01.JPG

FIGURE 1

Click on the little box with the down arrow to select the executable to use in the Bottle. I located the executable file I downloaded and extracted from the ZIP file (paint.exe).

From the extracted files, you should also see that there are DLL files. We will move these into the environment ourselves.

The full path to the ‘C Drive’ for the Bottle will be ‘Home/.var/app/com.usebottles.bottles/data/bottles/bottles/Paint95/drive_c’. Copy the DLL files and place them under the above folders in the folder ‘Windows’ under ‘drive_c’.

At the end of the line for ‘Paint95’, as shown in Figure 1, there is an arrow. Click on the arrow to open the settings for the Paint95 Environment.

Select ‘Preferences’ on the left side of the window. In the right pane, you can make changes to the default settings. Enable ‘Discrete GPU’. Scroll down and changes the ‘Windows Version’ to ‘Windows XP’.

In the left pane, click on ‘Details and Utilities’. In the right pane, click on the down arrow next to ‘Run Executable’ then check the option ‘Move inside the sandbox’.

You can use the ‘left arrow’ in the upper left of the window to go back a screen and click on the down arrow next to the Environment you created. Or, you can select ‘Run Executable’ on the ‘Details and Utilities’ pane. Move through the folder structure to the ‘drive_c\Windows’ folder and choose ‘mspaint.exe’, then click on ‘Run’. MSPaint should start for you.

This can give you a basic idea of running an application in Bottles, but it is better to run a program that can be installed.

In the upper left of the ‘Bottles’ windows, press the plus (+) sign to add a new Bottle.

I downloaded VLC 32-bit. The new Bottle will be named ‘VLC’ and marked as an application. Select ‘Create’ to let the Bottle be generated.

Inside the Bottle, under ‘Details and Utilities’, choose to ‘Move inside the sandbox’. Click on ‘Run Executable’ and find the executable file you downloaded. After starting the program, give it a little time to start. Once it has started, select the options you want when prompted for VLC. Leave the option checked to start VLC when you click on ‘Finished’.

After VLC starts, you can create a ‘Version’ point. Open the information in the VLC Bottle and select ‘Versioning’. In the upper right area is a plus (+) sign. Click the button and give a name, such as ‘Start’. This will be an initial ‘save state’ to allow you to go back to if you make changes and mess up the Bottle.

If you ever want to restart VLC after closing the app, open Bottles and select ‘VLC’. In the information windows, select ‘Programs’ in the left pane. The right pane may not show the applications list to run. Click on the button with the eyeball in the upper right corner. You should now see a list of apps to run. Click on the ‘Play’ button to the right of the app you want to execute. If an application is not listed, click on the plus (+) sign and add it. Make sure to run the program from ‘drive_c’ within the sandbox. This is the case for MSPaint that we ran above. Since it wasn’t installed, it will not automatically appear under ‘Programs’. VLC works well playing music.

For a game, I downloaded a game that’s not too intensive. I downloaded Backgammon. I gave the Bottle the name ‘Backgammon’ and selected ‘Gaming’. All options were performed like before and the game started. Different options can be changed within each Bottle to help the Environment run smoother.

Bottle Management

If you intend on making changes to a Bottle, perform a Versioning first so you have a running version to restore if needed.

If you open the options for a Bottle, by clicking on the right arrow at the far end of a Bottle in the list. You should see a red icon with a trashcan. By clicking the button, you will be prompted to delete the chosen Bottle.

The next icon is a down arrow. By pressing the icon, you can make a backup. There are two choices: full archive or create a duplicate.

The next icon is a stop sign. Clicking the icon will stop all WINE processes for the Bottle.

The last icon is a triangle pointing down. When you click the icon, it drops down two options: reboot or shutdown. The options will simulate a windows shutdown or reboot for the Bottle.

Conclusion

Bottles allows for a better GUI experience for running apps in WINE. Bottles make things quite a bit easier and separates each app or game.

If you use WINE now, Bottles is something to look into.
 


Oh, thank goodness. This is topical for me, as I recently set up a Twitter account. I see a few tweets about Bottles pretty much every day. I'd deduced that it was likely something to do with running Windows applications, but had never put any effort into searching and learning for myself.

Then, this popped up! You explain it quite nicely. This saves me time that I'd refused to invest and now I know what Bottles is. Also, it's kinda neat reading these before they actually get published. Maybe @Rob could offer that as a perk of being a Gold Member - potentially enticing more subscribers.
 


Top