Bottles
FreeEvery Windows program gets its own isolated environment
A graphical way to run Windows programs on Linux. Each program lives in its own "bottle" with its own Wine build, dependencies and registry, isolated from the others. Bottles can be snapshotted and rolled back, or packaged and exported to another machine.
Why we picked it
GPL-3.0, 8,839 stars.
Using Wine directly hurts because every program shares one prefix: a dependency installed for A breaks B, and upgrading Wine breaks C. Bottles's model is one isolated environment per program, where neither can see the other's registry or DLLs.
The split with Lutris is clean: Lutris centres on games and community install scripts, Bottles on non-game Windows software — the industry application that only ships for Windows, the older version of a design tool, the client your company's network requires.
Snapshots roll back, so you save state before installing something that might wreck the environment and step back if it does.
To be clear about:
- Linux only, distributed as a Flatpak.
- Wine's limits are its limits. Programs leaning on Windows kernel internals — driver-level code, anti-cheat — will not run.
- One environment per bottle costs disk. Ten programs means ten runtimes.