Skip to content

THShafi170/Bottles-Deflatpak

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6,391 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bottles (Deflatpak)

Run Windows Software on Linux — Natively, without Flatpak



Bottles DarkBottles Light

About

Bottles-Deflatpak is a fork of Bottles with all Flatpak-specific dependencies and sandbox assumptions removed. It builds and runs natively on any Linux distribution using standard system packages and Meson.

Key Distinctions

🏗️ Architecture: True Native Execution

Unlike upstream, this fork is stripped of all Flatpak assumptions. It uses your system's libraries and runners directly, eliminating container overhead and FLATPAK_ID dependency checks.

🛡️ Security: Hardened Native Sandboxing

We've replaced the standard container model with a deny-by-default sandbox powered by bubblewrap. You have granular control over what resources (GPU, Display, Sound, Network) are shared with your Windows applications.

🎮 Compatibility: Modernized Proton Support

Integration with umu-launcher and official proton scripts ensures your games run in a Steam-accurate environment with full protonfixes support, regardless of how they were installed.

📦 Distribution: Distro-Agnostic Packaging

Builds directly with Meson/Ninja. Native packaging files are included for:

  • Fedora/RHEL (RPM)
  • Debian/Ubuntu (DEB)
  • Arch Linux (PKGBUILD/ZST)
  • Nix / NixOS (Flake & Legacy)
  • Universal (distro-agnostic tarball)

Installation

From source

See Building below.

Distribution packages

Pre-made packaging files are included for several distributions:

Distribution Binary / Source Path / Link
Universal .tar.gz GitHub Releases
Arch Linux .pkg.tar.zst GitHub Releases / AUR
Debian / Ubuntu .deb GitHub Releases / Source
Fedora / RHEL .rpm GitHub Releases / Spec
Nix / NixOS (Flake) Flake flake.nix
Nix / NixOS (Legacy) Default default.nix

You can also use build-packages.sh to produce an installable tarball:

./build-packages.sh

Building

Prerequisites

  • meson and ninja
  • blueprint-compiler
  • GTK 4, libadwaita (≥ 1.2), and GtkSourceView 5 development packages
  • Python 3 with the dependencies listed in requirements.txt
  • cabextract, p7zip, xdpyinfo, ImageMagick
  • bubblewrap (optional, for hardened sandboxing)
  • umu-launcher (optional, for enhanced Proton support)

Build & Install

meson setup build --prefix=/usr
meson compile -C build
sudo meson install -C build

Run

bottles

Uninstall

sudo ninja -C build uninstall

Nix / NixOS

If you use Nix or NixOS, this repository includes a Flake for easy installation and development.

Tip

NixOS Users: Using the Nix Flake is the recommended way to install this fork of Bottles. It provides a reproducible environment with all dependencies automatically managed.

Run directly

nix run github:THShafi170/Bottles-Deflatpak

Install using Flakes

Add this repository to your flake inputs:

{
  inputs.bottles-deflatpak.url = "github:THShafi170/Bottles-Deflatpak";
  # ...
  outputs = { self, nixpkgs, bottles-deflatpak, ... }: {
    # ...
    environment.systemPackages = [
      # Recommended: FHS wrapped version for better Wine compatibility
      bottles-deflatpak.packages.${pkgs.system}.bottles-deflatpak

      # Alternatively: Unwrapped version (standard package)
      # bottles-deflatpak.packages.${pkgs.system}.bottles-deflatpak-unwrapped
    ];
  };
}

The bottles-deflatpak package (also available as default) is wrapped in an FHS (Filesystem Hierarchy Standard) environment. This is highly recommended as it provides the necessary 32-bit and 64-bit libraries that Wine/Proton runners expect.

Development Shell

nix develop

Legacy / Non-Flakes

If you don't use Flakes, you can still build and run this fork using the provided default.nix and shell.nix.

Build

# Build the recommended (wrapped) version
nix-build

# Build the unwrapped version explicitly
nix-build -A bottles-deflatpak-unwrapped

Nix-shell

nix-shell

Cachix Binary Cache

If you want to speed up your Nix builds and reduce compilation time (especially for dependencies or the FHS environment), you can use the community binary cache.

Consuming the cache

If you are using NixOS, add the following to your configuration:

{
  nix.settings = {
    substituters = [ "https://bottles-deflatpak.cachix.org" ];
    trusted-public-keys = [ "bottles-deflatpak.cachix.org-1:YT/o8RO4yysuReUamuL09Db+O7PA5FtsYqeRXSfbweE=" ];
  };
}

Or just use the Cachix CLI:

cachix use bottles-deflatpak

Contributing

Refer to the Contributing Guide and Coding Guide.

The included GitHub Actions workflow will compile and upload the binaries to automatically make a release. For Cachix setup instructions for Nix/NixOS, see the GitHub Actions & Nix (Cachix) section in the contributing guide.

Upstream

This fork tracks bottlesdevs/Bottles. Upstream documentation is available at docs.usebottles.com.

License

Bottles-Deflatpak is licensed under the GPL-3.0. Some vendored utilities are licensed under MIT — see file headers for details.

About

Run Windows software and games on Linux (Native/No Flatpak)

Resources

License

Contributing

Stars

Watchers

Forks

Contributors

Languages

  • Python 96.3%
  • YARA 1.6%
  • Meson 1.0%
  • Nix 0.6%
  • Shell 0.3%
  • CSS 0.2%