# bottlesdevs/bottles

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/bottlesdevs-bottles).**

8,080 stars · 341 forks · Python · gpl-3.0

## Links

- GitHub: https://github.com/bottlesdevs/Bottles
- Homepage: https://usebottles.com
- awesome-repositories: https://awesome-repositories.com/repository/bottlesdevs-bottles.md

## Topics

`bottles` `bottles-versioning` `dxvk` `games` `gaming` `gtk4` `libadwaita` `linux` `msi` `proton` `python` `wine` `wine-prefixes` `wineprefix` `wineprefix-manager`

## Description

Bottles is a Wine compatibility manager and prefix manager that provides a graphical interface for running Windows applications on Linux. It functions as a Windows application sandbox and dependency manager, organizing isolated environments to prevent dependency conflicts and protect the host operating system.

The project acts as a Wine runner orchestrator, allowing users to download, install, and switch between different compatibility layers and graphics renderers. It distinguishes itself by using community-driven scripts for automated software installation and dependency management, alongside pre-configured environment presets.

The system covers a broad range of capabilities, including Windows registry administration, Direct3D to Vulkan graphics translation, and Linux gaming optimization. It provides comprehensive data storage utilities for backing up and cloning environments, as well as a command-line interface for automating container configuration and program execution. Monitoring tools such as process activity tracking and execution log capture are integrated for troubleshooting.

Bottles can be deployed as a sandboxed package via Flatpak.

## Tags

### Operating Systems & Systems Programming

- [Windows Compatibility Layers](https://awesome-repositories.com/f/operating-systems-systems-programming/windows-compatibility-layers.md) — Provides the infrastructure and management for running Windows applications on Linux via compatibility layers.
- [Wine Environment Management](https://awesome-repositories.com/f/operating-systems-systems-programming/wine-environment-management.md) — Bottles organizes isolated environments containing the compatibility layers and settings required to run Windows software. ([source](https://docs.usebottles.com/))
- [Compatibility Runner Orchestration](https://awesome-repositories.com/f/operating-systems-systems-programming/compatibility-runner-orchestration.md) — Manages the downloading and switching of various compatibility layers and graphics renderers.
- [DLL Override Management](https://awesome-repositories.com/f/operating-systems-systems-programming/dll-override-management.md) — Modifies library loading order to replace standard system files with custom compatibility components.
- [Prefix Management Interfaces](https://awesome-repositories.com/f/operating-systems-systems-programming/windows-compatibility-layers/prefix-management-interfaces.md) — Offers a graphical interface for creating and managing isolated Wine prefixes. ([source](https://docs.usebottles.com/flatpak/cant-enable-steam-proton-manager.md))
- [Environment Presets](https://awesome-repositories.com/f/operating-systems-systems-programming/environment-presets.md) — Provides optimized environment presets with pre-installed dependencies and specialized settings for immediate use. ([source](https://docs.usebottles.com/faq/why-bottles.md))
- [Windows Registry Modifiers](https://awesome-repositories.com/f/operating-systems-systems-programming/windows-registry-modifiers.md) — Provides command-line tools to programmatically edit or delete keys and values within a container's Windows registry. ([source](https://docs.usebottles.com/advanced/cli.md))

### Software Engineering & Architecture

- [Environment Isolation](https://awesome-repositories.com/f/software-engineering-architecture/environment-isolation.md) — Separates application data and configurations into independent directory structures (prefixes) to prevent dependency conflicts.
- [Runtime Version Selection](https://awesome-repositories.com/f/software-engineering-architecture/compatibility-layers/runtime-version-selection.md) — Enables switching between various Wine runner versions to find the most stable layer for specific binaries.
- [Host-to-Container Path Mappings](https://awesome-repositories.com/f/software-engineering-architecture/execution-control/namespace-isolation/user-namespace-mappings/host-to-container-path-mappings.md) — Links host system directories into the isolated container to provide applications access to external files.
- [Library Compatibility Managers](https://awesome-repositories.com/f/software-engineering-architecture/library-compatibility-managers.md) — Manages specific versions of system and graphics DLL libraries to resolve compatibility conflicts. ([source](https://docs.usebottles.com/bottles/app-preferences.md))
- [Environment Snapshots](https://awesome-repositories.com/f/software-engineering-architecture/plugin-version-management/state-restoration/environment-snapshots.md) — Creates user-defined restore points to revert a software environment to a previous state after a failure. ([source](https://docs.usebottles.com/bottles/versioning.md))

### Business & Productivity Software

- [Application Managers](https://awesome-repositories.com/f/business-productivity-software/application-managers.md) — Manages the execution and lifecycle of Windows software installed within isolated compatibility environments. ([source](https://docs.usebottles.com/bottles/programs.md))

### Data & Databases

- [Environment State Restoration](https://awesome-repositories.com/f/data-databases/data-restoration-tools/environment-state-restoration.md) — Imports previously created backups to restore a container's full state and configuration. ([source](https://docs.usebottles.com/bottles/backups.md))
- [Environment Backups](https://awesome-repositories.com/f/data-databases/environment-backups.md) — Creates copies of container configurations or full archives of all files and settings for backup purposes. ([source](https://docs.usebottles.com/bottles/backups.md))
- [Virtual Storage Mappings](https://awesome-repositories.com/f/data-databases/storage-management-systems/virtual-storage-managers/virtual-storage-mappings.md) — Creates drive mappings that allow Windows applications to access specific folders and files on the host system. ([source](https://docs.usebottles.com/bottles/preferences.md))

### Development Tools & Productivity

- [Compatibility Library Managers](https://awesome-repositories.com/f/development-tools-productivity/dependency-managers/installation-resolution-utilities/dependency-installers/compatibility-library-managers.md) — Installs required DLLs and libraries into isolated environments using community-driven scripts.
- [Environment Configuration Management](https://awesome-repositories.com/f/development-tools-productivity/environment-configuration-management.md) — Stores required dependencies and program metadata in dedicated configuration files for each isolated environment. ([source](https://docs.usebottles.com/bottles/configuration-files.md))
- [Compatibility Environment Initialization](https://awesome-repositories.com/f/development-tools-productivity/environment-initializers/compatibility-environment-initialization.md) — Initializes dedicated, isolated containers with specific settings to run Windows applications. ([source](https://docs.usebottles.com/getting-started/first-run.md))
- [Linux Compatibility Optimizations](https://awesome-repositories.com/f/development-tools-productivity/gaming-utilities/performance-optimization-tools/game-performance-optimizers/linux-compatibility-optimizations.md) — Optimizes Windows game performance on Linux via Vulkan translation and audio latency tuning.
- [Runner Managers](https://awesome-repositories.com/f/development-tools-productivity/package-installers/runner-managers.md) — Provides a way to browse and download different compatibility layers used to execute Windows applications. ([source](https://docs.usebottles.com/bottles/app-preferences.md))
- [Runtime Selection](https://awesome-repositories.com/f/development-tools-productivity/task-runners/runtime-selection.md) — Allows users to switch between different runner versions to optimize compatibility for specific software or games. ([source](https://docs.usebottles.com/components/runners.md))
- [CLI Application Launchers](https://awesome-repositories.com/f/development-tools-productivity/cli-application-launchers.md) — Allows starting Windows applications from the command line using specific operational arguments. ([source](https://docs.usebottles.com/bottles/run-.exe-.msi-.bat-.lnk-files.md))
- [Containerized Environment Provisioning](https://awesome-repositories.com/f/development-tools-productivity/cli-environment-managers/containerized-environment-provisioning.md) — Enables setting up isolated environments with specific architectures and runners using the command line. ([source](https://docs.usebottles.com/advanced/cli.md))
- [Compatibility Layer Routing](https://awesome-repositories.com/f/development-tools-productivity/command-lifecycle-managers/system-command-dispatchers/compatibility-layer-routing.md) — Redirects system-level calls to a specific managed environment to ensure external programs use a predefined configuration. ([source](https://docs.usebottles.com/advanced/use-bottles-as-wine-command.md))
- [Migration Importers](https://awesome-repositories.com/f/development-tools-productivity/configuration-importing/migration-importers.md) — Migrates environment configurations from older versions into the current version to preserve application data. ([source](https://docs.usebottles.com/faq/updates-and-old-versions))
- [Dependency Installers](https://awesome-repositories.com/f/development-tools-productivity/dependency-managers/installation-resolution-utilities/dependency-installers.md) — Automates the downloading and installation of necessary libraries to ensure applications run correctly. ([source](https://cdn.jsdelivr.net/gh/bottlesdevs/bottles@main/README.md))
- [Installation Scripts](https://awesome-repositories.com/f/development-tools-productivity/installation-scripts.md) — Executes community-driven installation scripts to simplify the setup of complex Windows applications. ([source](https://docs.usebottles.com/faq/why-bottles.md))
- [Launch Configuration Managers](https://awesome-repositories.com/f/development-tools-productivity/launch-configuration-managers.md) — Allows users to configure custom command-line arguments and post-launch scripts for Windows executables. ([source](https://docs.usebottles.com/bottles/programs.md))
- [Community Dependency Repositories](https://awesome-repositories.com/f/development-tools-productivity/platforms-runtimes-language-services/developer-ecosystems/community-extension-integrators/community-dependency-repositories.md) — Installs required libraries and components using community-driven repositories to ensure a compatible environment. ([source](https://docs.usebottles.com/faq/why-bottles.md))
- [Configuration Interfaces](https://awesome-repositories.com/f/development-tools-productivity/project-scaffolding-config-code-generation/project-scaffolding-configuration/build-configuration/typescript-configurations/project-settings/configuration-interfaces.md) — Provides a graphical interface to manage environment parameters and system preferences. ([source](https://docs.usebottles.com/faq/why-bottles))

### DevOps & Infrastructure

- [Wine Prefix Management](https://awesome-repositories.com/f/devops-infrastructure/dependency-management/environment-scoping-controls/virtual-environment-managers/wine-prefix-management.md) — Creates and configures isolated Wine prefixes to prevent dependency conflicts between Windows applications.
- [Filesystem Access Controls](https://awesome-repositories.com/f/devops-infrastructure/execution-environments/code-execution-runtimes/code-execution-sandboxes/filesystem-access-controls.md) — Controls permissions for granting sandboxed environments access to specific host system directories. ([source](https://docs.usebottles.com/flatpak/expose-directories.md))
- [CLI Configuration Utilities](https://awesome-repositories.com/f/devops-infrastructure/cli-configuration-utilities.md) — Provides a CLI for modifying environment variables, Windows versions, and graphics runners for containers. ([source](https://docs.usebottles.com/advanced/cli.md))
- [Application Profile Presets](https://awesome-repositories.com/f/devops-infrastructure/configuration-management/environment-management/application-profile-presets.md) — Provides optimized sets of dependencies and settings tailored for specific software use cases. ([source](https://docs.usebottles.com/getting-started/environments.md))
- [Automated Installers](https://awesome-repositories.com/f/devops-infrastructure/deployment-management/installation-package-management/automated-installers.md) — Automates the installation of programs by resolving dependencies and configuring the environment silently. ([source](https://docs.usebottles.com/bottles/installers.md))
- [Environment Migrators](https://awesome-repositories.com/f/devops-infrastructure/self-hosted-deployment-tools/environment-migrators.md) — Exports software environments to backups or imports them from other managers to preserve application states. ([source](https://cdn.jsdelivr.net/gh/bottlesdevs/bottles@main/README.md))
- [Instance Duplicators](https://awesome-repositories.com/f/devops-infrastructure/virtual-machine-lifecycle-management/instance-duplicators.md) — Clones existing containers into new instances to reuse specific environment templates or configurations. ([source](https://docs.usebottles.com/bottles/backups.md))

### Graphics & Multimedia

- [Graphics API Translation](https://awesome-repositories.com/f/graphics-multimedia/graphics-api-translation.md) — Translates Direct3D instructions to Vulkan to render Windows graphical applications on Linux. ([source](https://docs.usebottles.com/components/dxvk.md))
- [Graphics API Translators](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/rendering/graphics-apis-bindings/graphics-rendering-apis/graphics-api-translators.md) — Translates Direct3D graphics instructions into Vulkan API calls to render Windows interfaces on Linux.

### Networking & Communication

- [Host-Guest Folder Synchronization](https://awesome-repositories.com/f/networking-communication/distributed-systems-p2p/distributed-computing/data-synchronization-consistency/distributed-file-synchronization/bidirectional-folder-synchronization/host-guest-folder-synchronization.md) — Links local host folders into a Windows environment, allowing applications to access and modify host files. ([source](https://docs.usebottles.com/flatpak/expose-directories/use-system-home.md))

### Programming Languages & Runtimes

- [Compatibility Layer Managers](https://awesome-repositories.com/f/programming-languages-runtimes/compatibility-layer-managers.md) — Manages the download, installation, and updating of various Wine runner versions and experimental releases. ([source](https://docs.usebottles.com/components/runners.md))
- [CLI Script Execution](https://awesome-repositories.com/f/programming-languages-runtimes/cli-script-execution.md) — Launches Windows executables or registered programs within specific containers via CLI commands. ([source](https://docs.usebottles.com/advanced/cli.md))

### Security & Cryptography

- [Sandbox and Isolation](https://awesome-repositories.com/f/security-cryptography/application-and-system-security/sandbox-and-isolation.md) — Creates restricted, isolated environments to safely execute Windows software without affecting the host Linux system. ([source](https://docs.usebottles.com/faq/why-bottles.md))
- [Sandbox Deployment Tools](https://awesome-repositories.com/f/security-cryptography/application-and-system-security/sandbox-and-isolation/sandbox-deployment-tools.md) — Isolates Windows software in dedicated containers to protect the host system.
- [Application Sandboxing](https://awesome-repositories.com/f/security-cryptography/mobile-application-security/application-sandboxing.md) — Provides a container system that prevents Windows software from affecting the host Linux operating system.

### System Administration & Monitoring

- [Windows Environment Configuration](https://awesome-repositories.com/f/system-administration-monitoring/system-configuration-utilities/windows-environment-configuration.md) — Configures the Windows version, defines environment variables, and manages DLL overrides for isolated containers. ([source](https://docs.usebottles.com/bottles/preferences.md))
- [Data Migration](https://awesome-repositories.com/f/system-administration-monitoring/data-migration.md) — Moves environment configurations and data to specific paths to preserve settings across different installations. ([source](https://docs.usebottles.com/flatpak/migrate-bottles-to-flatpak.md))

### User Interface & Experience

- [Graphics Performance Optimizations](https://awesome-repositories.com/f/user-interface-experience/performance-optimizers/graphics-performance-optimizations.md) — Enables toggling specialized renderers and discrete GPU usage to optimize graphics performance. ([source](https://docs.usebottles.com/bottles/preferences.md))

### Web Development

- [Gaming Performance Optimizers](https://awesome-repositories.com/f/web-development/browser-compatibility-configurations/gaming-performance-optimizers.md) — Offers settings to adjust synchronization and shader compilers to improve frame rates and stability for games. ([source](https://cdn.jsdelivr.net/gh/bottlesdevs/bottles@main/README.md))
