All of these on-top-of-wine solutions are always a cat and mouse chase when a game or app is updated. You end up with several days to weeks and sometimes eternity to get some configuration fix
So, way over 5 years. But time flies by fast.
I have been using Bottles for a while now, and it has been painless to launch a few necessary Windows programs.
Did it for Overwatch
https://github.com/bottlesdevs/Bottles/tree/main/bottles/bac...
You also have the option to manually add installed executables under the "Programs" section, or into the "Library" section (Library is global, programs is per-bottle-sandbox)
Yes - it's not entirely preconfigured for you like the recipes in their catalogues, but most runners work just fine for general windows applications.
I have thrown several bottles together just to run plain ol' exe installers, and they absolutely work, in about the least effort you can put in for this sort of thing (entirely GUI based, mostly click 3 buttons and go).
ex - I have a bottle for running victron VEConfigure 3 to configure solar inverters. A bottle for running Carbide Create for Carbide 3D. A bottle for running windows CAD software. Lots of random things.
Which might make one think that it's hopeless, but clearly it isn't. Steam shows us that this sort of concept actually can work reliably. I don't know how Steam actually manages the prefixes, but you never have to think about it and it always chooses a known-good Proton version. Lutris seems like it wants to do the same basic thing Steam does, and it is very useful, but often times Lutris's "known good" settings somehow don't work.
This is a shame, this problem feels like it can be solved and make Wine vastly more useful. (Though in the end, improving upstream Wine will always be better than trying to build layers on top of it like this... but building layers on top of it like this helps us with running Windows software now, which is still pretty useful.)
Aside from having better automatic bottle management and setup of software with "known good" settings, I'd like to see more things tried. Some software doesn't actually need a persistent prefix... maybe there could be a concept of an ephemeral prefix of some sort instead, to make those softwares work more reliably. And when software does have a prefix, it sure would be useful to be able to "undo" things, using snapshots. Features like this would go a long way to make Wine prefixes easier to manage for people who are less technical.
It tends to work best when each app has its own isolated wine prefix. This lets you tweak wine settings/params as needed for each app.
This is how I do it for games using Lutris. I have a few games that work best on particular wine versions that won't be able to share the same prefix.
Nowadays, I tend to just run pretty much everything through Steam/Proton. I set `Proton-GE` as the default override for all my games, and then "install" things by adding them via the menu for third-party apps in the Steam UI. In the rare cases that I need to tweak something, I use `protontricks` to invoke `winetricks` on the prefix for the game, and things tend to just work after maybe installing 1-2 things at most.
Wine bottles are not a software distribution method.
In that sense - it's actually incredibly similar to docker/snap. It's isolating the application with all the needed dependencies in it's own prefix, with a nice user experience on top.
It also distributes a large number of things: https://usebottles.com/database
A prefix is no more isolated than a folder and setting an env variable to control library lookup location.
This is in stark contrast to docker/snap which distribute actual software packages and use name spacing for isolation.
A prefix isolates a wine install. Bottles intentionally pushes users into a "one per application" strategy with Wine prefixes, isolating the wine install and deps for that application from other applications. Generally a great strategy for using Wine, even if you'd prefer to do it yourself.
And Bottles is a much more convenient wrapper compared to doing that manually and managing them yourself (which I've also done).
Bottles also distributes the instructions to configure a "generally working" prefix for a large number of desired applications.
If we go back to the docker analogy - they're giving you the Dockerfile, not the image. I'm not actually convinced that's such a "stark" contrast. If anything, it's semantic peanuts (and mostly for legal reasons given the popular applications tend to be copyright protected games, rather than OSS software which makes up most docker images).
It is about convenience. For people willing to leave Windows but not their games, any hurdle taken down, no matter how small, is a win.
But I still prefer a management tool on top like docker/podman/rancher.
Having used both manual wine prefixes and Bottles... I quite like Bottles and keep using it.
Your comment has serious "But dropbox is just rsync!" vibes. The ease of use is the point.
And at least Bottles does ease of use without losing too much control, unlike some of the very "game" specific tooling like heroic or lutris.
What does it even mean?
Is it somehow related to Gnome Boxes?
A working Wine configuration includes a directory that functions as a virtual C;\ drive, has a registry, and various other settings. You can actually have multiple of these if you specify which one to use at launch time through the environment variable WINEPREFIX, which points to a directory containing the relevant config files and other data directories.
A "bottle" is a user-friendly way of interacting with this functionality, managing these prefixes and their settings, and recommending known compatibility fixes for them. It may also involve managing multiple Wine versions, perhaps including some with patches.
It seems comparable to a lot of older tools in the same vein like CrossOver Linux (by Codeweavers, who maintain Wine), PlayOnLinux, Lutris (gaming-focused), and Cedega (gaming-focused and defunct).
They're using terminology like "Windows prefix", which in reality appears to be a Wine prefix.
hrvstr•6mo ago
krs_•6mo ago
smackeyacky•6mo ago
When they got GOG cloud saves to work with cyberpunk 2077 I sent them money.
CodesInChaos•6mo ago
unfixed•6mo ago
I also tried just wine, but Bottles is a handy wrapper.
close04•6mo ago
I use Bottles for emulating general software.
wetbaby•6mo ago
My experience with getting battle.net on lutris was miserable. After staring at the UI trying to add battle.net I was informed to go to a site, pull back a script on there and I had no indication of what it was doing to my machine.
However, bottles ships with scripts to set it up for you. I created a bottle in the location I wanted, installed battle.net and logged in and it worked.
Its not without problems, if I accidentally start battle.net twice, my CPU utilisation shoots up to 100% and is stuck there until I kill the bogus bottles process.
There's also a problem of the battle.net bottle bricking itself completely (I have to move the game files out, delete all bottles configs and recreate the bottle) if I change the runner.
Whether these issues are bottles fault or not I can't say.
But concept of what a 'bottle' is is easy to understand. The configuration is very rich and works well. I pick a pick a directory, pick a runner, install what I want, enable mangohud and I'm golden.
horsawlarway•5mo ago
I generally stick to Bottles whenever I can. It's a very general solution for running windows software on linux, with a nice UI.
I've used it for both gaming & non-gaming applications. Everything from running battle.net on my steam deck, to Alan Wake 2 on my desktop, to running specific Victron configuration software on my laptop for programming my solar inverters.
It's not perfect (occasionally recipes get out of date, and sometimes you still need to go get a specific version of Proton-GE, or download some of their dependencies manually, for example) but generally speaking... It's a pretty good interface.
Keeping all the configuration/dependencies alongside the individual apps is great.
It's much less "Game specific" than either Lutris or Heroic.