Bottles

Easily manage prefix in a new way! (Run Windows software and games on Linux).

Bottlesv

🦾 Features

  • Create bottles based on environments (a set of rules and dependencies)

  • Access to a customizable environment for all your experiments

  • Run every executable (.exe/.msi/.bat) in your bottles, using the context menu in your file manager

  • Integrated management and storage for executable file arguments

  • Support for custom environment variables

  • Simplified DLL overrides

  • Manage and install multiple wine/proton/dxvk versions and on-the-fly change

  • Various optimizations for better gaming performance (esync, fsync, dxvk, cache, shader compiler, offload .. and much more.)

  • Tweak different wine prefix settings, without leaving Bottles

  • Automated dxvk installation

  • System for checking runner updates for the bottle and automatic repair in case of breakage

  • Integrated Dependencies installer with compatibility check based on a community-driver repository

  • Detection of installed programs

  • Integrated Task manager for wine processes

  • Easy access to ProtonDB and WineHQ for support

  • Configurations update system across Bottles versions

  • Backup and Import bottles from older version and from other managers (Lutris, POL, ..)

  • Bottles versioning (experimental)

  • .. and much more that you can find by installing Bottles!

🚧 Work in progress

  • Installer manager #55

  • Import backup from configuration file

  • Optional sandboxed bottles

↗️ Install

Choose your preferred installation method.

🚀 AppImage

Bottles’ AppImage is released on two channels (Stable and Unstable), the

second one is not recommended in a production environment.

Download, then:

chmod +x Bottles-devel-x86_64.AppImage
./Bottles-devel-x86_64.AppImage

And you’re done!

Flatpak

Bottles can also be installed via Flatpak from the Flathub repository. Click

the button below.

Download on Flathub

Snap

Bottles can also be installed as a snap from the Snapcraft repository. Click

the button below.

Get it from the Snap Store

Platform specific packages

We also offer Bottles as platform-specific installation packages.

DistroPackage Name/Link
Debian/Ubuntu`com.usebottles.bottles.deb`

Unofficial packages

These packages are maitained by our community but not officialy supported.

DistroPackage Name/LinkMaintainerStatus
Arch Linux`bottles-git` (AUR)TalebianActive
Arch Linux`bottles` (AUR)francescomasalaActive
Fedora`bottles`tim77Active
Void linux`bottles`andry-devActive
NixOS`bottles`bloomvdominoActive
Tumbleweed`bottles`WhiXardNot maintained

Notices for package maintainers

We are happy to see packaged Bottles but we ask you to respect some small rules:

  • The package must be bottles, in other distributions it is possible to use suffixes (e.g. bottles-git on Arch Linux for the git based package) while on others the RDNN format is required (e.g. com.usebottles.bottles on elementary OS and Flathub repository). All other nomenclatures are discouraged.

  • In the current development phase, the version corresponds to the formula (2.commit, e.g. 2.a005f01), where possible use this formula throughout the development phase. For stable and ‘stable development’ release you can use the version in the VERSION file and its release. Please don’t travel into the future with releases. It might confuse users.

  • Do not package external files and do not make changes to the code, no hard script. Obviously with the exception of files essential for packaging.

Once the package is published, you can open a Pull Request to add it to the packages table above! Thanks :heart:!

🛠️ Build with meson

Instead of use the Appimage you can choose to build your own Bottles from source.

Requirements

  • meson

  • ninja

  • python3

  • glib

  • glib2-devel on Fedora

  • libglib2.0-dev on Debian/Ubuntu

Build

mkdir build
meson build && cd build
ninja -j$(nproc)
sudo ninja install

Uninstall

sudo ninja uninstall

🛠️ Flatpak (build)

We provide an official Flatpak package.

Dependencies

  • org.gnome.Sdk

  • org.gnome.Sdk.Compat.i386

  • org.freedesktop.Sdk.Extension.toolchain-i386

Build

flatpak-builder --repo=bottles --force-clean --user build-dir com.usebottles.bottles.yml
flatpak remote-add --user bottles bottles --no-gpg-verify
flatpak install --user bottles com.usebottles.bottles

Run

flatpak run com.usebottles.bottles

🛠️ Snap (build)

We also provide an initial Snap support.

This is a package not fully tested.

Build

snapcraft
snap install bottles*.snap --dangerous
snap run bottles

Shortcuts

ShortcutAction
`Ctrl+Q`Close Bottles
`Ctrl+R`Reload the Bottles list
`F1`Go to the documentation
`Esc`Go back

GitHub

https://github.com/bottlesdevs/Bottles

Source: https://pythonawesome.com/easily-manage-wineprefix-using-environments-with-python/