Install Bottles on Linux and Run Windows Apps

Bottles Run WIndows Application And Games Inside A Bottle

Bottles gives each Windows application its own managed Wine environment, so one program’s runner, libraries, and registry settings do not interfere with another, while the maintained Bottles Linux installation route uses the Flathub package followed by a separate bottle for each application or game.

What Bottles does on Linux

Wine translates Windows application calls into interfaces Linux can handle. Bottles adds a graphical manager around that compatibility layer and keeps each configuration inside an independent environment called a bottle.

The separation matters when two applications need different runners or dependencies. A change inside one bottle does not rewrite the configuration used by the others, and you can inspect programs, dependencies, snapshots, and launch options from one interface.

Choose Bottles, Wine, or Proton for the right job

Bottles is a strong fit for desktop programs, launchers, and games that need their own managed Wine setup. Plain Wine gives you more direct control, while Steam games usually belong in Steam with Proton.

If your task is Steam gaming, compare Bottles with ProtonPlus for managing compatibility tools. A gaming-focused distribution such as the one covered in the Bazzite review may also reduce setup work when most of the machine is dedicated to games.

Before you install Bottles

You need Flatpak, the Flathub remote, a graphical Linux session, and enough storage for Bottles plus its runtimes. If Flatpak packaging is unfamiliar, start with the site’s Linux package management guide before adding another package source.

  • Confirm Flatpak is installed with flatpak –version.
  • Confirm Flathub appears in flatpak remotes.
  • Download the Windows installer from the software vendor, not from an unverified mirror.
  • Check the application’s compatibility reports before depending on it for production work.

Bottles does not emulate Windows or guarantee that every installer will run, and kernel drivers, anti-cheat systems, hardware utilities, and applications tied to Windows services can still require Windows or a virtual machine.

Install Bottles from Flathub

The Bottles project identifies Flatpak as its supported and tested release channel, while Flathub lists the verified package as com.usebottles.bottles and the command below asks Flatpak to resolve that application from the existing flathub remote, show the required runtimes and permissions, and wait for your confirmation before downloading.

flatpak install flathub com.usebottles.bottles

Accept the transaction only when the application ID and remote match. A successful install returns you to the shell after all listed components finish, while “No remote refs found” means Flathub is missing or the application ID was typed incorrectly.

The retained installation image below shows the transaction layout, but runtime versions and download sizes change, so use the command output on your machine as the authority.

Installing Bottles From FLathub
Installing Bottles From Flathub

When Flatpak is not available, follow your distribution’s Flatpak setup instructions and add Flathub before repeating the Bottles command. If you prefer a graphical installer on Ubuntu, install GNOME Software with Flatpak support, open the verified Bottles listing, and confirm that Flathub is the source.

A graphical store should show the verified Bottles identity and an Install action before you proceed.

This Application Is Available On Flathub
This Application Is Available On Flathub

After installation, launch Bottles from the application menu or run the application ID directly.

flatpak run com.usebottles.bottles

The launch command starts the installed Flatpak and keeps diagnostic messages attached to the terminal. Stop only after the Bottles window opens, or use the printed error to identify a missing runtime, graphics issue, or permission problem.

Complete the first launch

Bottles downloads and prepares its components during the first launch. Let that setup finish before creating an environment, because closing the window early can leave the runner or dependency catalog incomplete.

The setup screen shows when Bottles is still preparing its local components. Continue only after the interface enables the button.

Configuring The Application
Configuring The Application

Once the main window loads, the Installers area offers community recipes for supported launchers and applications. Review the named program and any license notice before using a recipe.

You Can Install Several Launhcers Inside A Bottle
You Can Install Several Launchers Inside A Bottle

An installer recipe can save repeated configuration without guaranteeing compatibility, so keep the original installer and note any changes you make in case you need to reproduce or discard the bottle later.

Create your first bottle

Press the plus button in the upper-left corner, give the bottle a descriptive name, and choose the environment that matches the program’s workload because the selection establishes the initial runner and defaults.

EnvironmentChoose it forStarting point
ApplicationDesktop tools and productivity softwareCompatibility-oriented defaults
GamingWindows games and launchersGraphics and gaming defaults
CustomA workload with known runner or architecture needsSettings you select manually

The creation process installs the runner and dependencies selected for that environment, so wait until Bottles returns to the environment page rather than closing the progress dialog.

Creating A Bottle
Creating A Bottle

When creation stalls, note the last component named in the visible dependency log and retry after checking network access and available storage instead of deleting unrelated bottles.

Install a Windows application inside the bottle

Download the application’s EXE or MSI installer from its official source. If the file sits on a Windows partition, mount the NTFS drive on Linux first and copy the installer to a location the Bottles Flatpak can access.

  1. Open the bottle created for this application.
  2. Choose Run Executable and select the downloaded installer.
  3. Complete the Windows installer without changing the bottle’s directory unless the application requires it.
  4. Return to Programs inside the bottle and launch the new entry.
  5. Create a snapshot before adding dependencies or changing the runner.

Run Executable passes the chosen file to the Wine environment inside that bottle. If the Windows installer starts, finish its wizard and confirm the application appears under Programs. If nothing opens, read the bottle logs before changing runners or adding libraries.

Install only the dependency the application requests. Adding several frameworks at once makes failures harder to isolate and can turn a working environment into one that is difficult to reproduce.

Manage Flatpak permissions without exposing the whole home folder

Bottles is sandboxed, so a downloaded installer may be invisible when it lives outside the directories the Flatpak can read. Grant access to the narrow directory that contains the installer rather than overriding the application with unrestricted host filesystem access.

Flatseal provides a graphical view of each Flatpak permission. Use its filesystem section to add one directory, reopen Bottles, and remove the permission when the installer is no longer needed.

Avoid broad host access unless an application has a documented requirement that cannot be met with a narrower path. The sandbox reduces accidental access only while its permissions stay limited.

Fix common Bottles problems

Start with the failing stage rather than changing several runners, dependencies, and permissions together.

Bottles does not appear after installation

Run flatpak run com.usebottles.bottles from a terminal. If it starts there, refresh the desktop menu by signing out and back in rather than reinstalling the application.

Bottles cannot see the installer

Move the installer into Downloads or grant access to its containing directory through Flatseal. Reopen Bottles after changing permissions so the file chooser receives the updated sandbox policy.

Bottle creation stops while downloading components

Check network access, free disk space, and Flatpak updates. Retry the same environment after the failed download is resolved, then inspect the last named component if the process stops again.

The application installs but will not launch

Open the bottle logs and check the application’s compatibility notes before changing settings. Try one runner or dependency change at a time, and restore the snapshot when the change makes the failure worse.

Verify the setup

A useful Bottles setup has one environment per application, a launchable program entry, and only the filesystem permissions the application needs. Keep the installer, bottle purpose, runner choice, and any added dependency written down before you rely on the program.

  • Bottles launches from the desktop menu or Flatpak command.
  • The new bottle finishes creation without a pending download.
  • The Windows installer opens inside the intended bottle.
  • The installed program appears under Programs and starts.
  • A snapshot exists before experimental runner or dependency changes.

If the application depends on a Windows driver, service, or anti-cheat component, stop tuning the bottle and use a supported Windows installation or virtual machine. Compatibility work should end when the software’s architecture requires an operating-system component Wine does not provide.

Frequently asked questions

These answers set the boundaries that matter before you install another application or change a bottle.

Is Bottles better than Wine on Linux?

Bottles uses Wine and manages separate environments, runners, dependencies, and settings through a graphical interface. Plain Wine is the better fit when you need direct control over prefixes and command-line configuration.

What is the recommended way to install Bottles on Linux?

The Bottles project recommends its Flatpak release from Flathub. Install the verified package with flatpak install flathub com.usebottles.bottles after Flatpak and Flathub are configured.

Where does Bottles store Windows applications?

Each application is installed inside its bottle rather than into the Linux system directories. Manage the program from the bottle’s Programs page and use snapshots before changing its runner or dependencies.

Why can Bottles not see my EXE file?

The Flatpak sandbox may not have permission to read the directory that contains the installer. Move the file into an accessible directory or grant that one directory through Flatseal, then reopen Bottles.

Use one bottle for one job

Start with one supported Windows application, keep its environment separate, and confirm it launches before adding dependencies. That small test tells you whether Bottles fits the workload without turning the whole Linux desktop into a compatibility experiment.