Benefits of Bottles?

Hi guys

I’m using the Arch Linux version of Bottles via the AUR (not bottles-git just bottles) - without Flatpak - and something isn’t quite sitting right with me. I’ve been through various docs but I can’t seem to find any answers to my questions… What are actually the differences between using Wineprefixes and what Bottles brings? Is there for instance anything you can do in Bottles, that cannot be done within just Wine? And could I achieve exactly the same setup with just Wineprefixes? It feels like Bottles is bringing something else but I can’t find enough info to fully understand it.

I’m also a bit confused by the way it’s creating the bottles - are these bottles accessible via native Wine for instance? Or can only Bottles access the Bottles which it creates? I guess I’m wondering whether Bottles is running anything as an engine that might, e.g. allow some of the extra functionality like changing between Wine/Soda, that WIne itself would not allow.

I definitely feel like it’s doing something extra because for instance you can edit the system to be e.g. Windows 98 in Bottles, and then this is not set in Wine until you edit the old configuration Window.

At the moment I’m using FireJail to sandbox my Wine but also running Bottles alongside it and while the configuration side of Bottles is really good I will be honest it feels quite bloated and is quite slow & buggy often crashing for me just changing simple things. I also don’t like the fact that Winetricks has been removed either - does this mean that there is no way to access these patches from within Bottles so they can’t be run? Or if I was to run my Bottle natively, would Winetricks work on that?

I understand that without Flatpak, there is no full sandbox in place. But how is the full sandbox implemented vs the sandbox there for now me? e.g. what are the added protections of the full sandbox?

I guess what I’m trying to figure out is, is it actually worth my time using Bottles or should I just create everything myself using native wineprefixes?

I want to be able to get the same end result as Bottles with custom registries, choosing how to execute files, etc and don’t get me wrong the software is really good, I just need to get some answers to these questions so I can determine whether this is the right approach for me. Some of my games need 32-bit prefixes and this is also fuelling the question as to whether Bottles is right for me or not.

Also, does anyone know how to customise the directory path Bottles itself is installed in? (e.g. ~/.local/share/bottles/ to something like /opt/windows/bottles/) I’ve tried looking but can’t find anything on this.

Very much appreciate your time, thank you.

Well that’s a problem in itself. For the long moment only the flatpak version is the supported and recommended one.

Bottles is a program to manage Wine prefixes. It says so in it’s GitHub summary:

Easily manage wine prefixes in a new way. Run Windows software and games on Linux

As far as I know Bottles is just to make managing the Wine easier. And it certainly works in this goal because it allowed me to use it and I’m a total noob when it comes to Wine. I need simple stuff to work with.

I guess you could mention the bottle preferences menu, dependencies, installers and versioning as Bottle “exclusive”, but I’m pretty sure you could also do it in Wine with different methods.
Preferences allow you to change settings ultra easily
Dependencies list all the, well, dependencies that a program running in Wine might need so you can just click “install” and it being handled automatically.
Installers is something like dependency but it’s used to just let users automatically download trickier programs and have certain tweaks applied so the user doesn’t have to do anything.
Versioning I don’t use myself, but it’s supposed to give you ability to make easy backup of the created prefix so you don’t have to worry with something going south.

Generally they should only be accessed by Bottles. You can see their files in file browser so maybe you can run normal Wine yourself in their directory, but you probably shouldn’t.

In the end main thing in Bottles is just Wine. But I’m glad to tell you that changing between Wine and Soda is a matter of few clicks here. There is a huge selection of runners to choose from: Soda (based on Valve’s Wine + Proton patches), Caffe (based on Wine upstream + Proton patches), GE Wine, Lutris, Vaniglia, GE Proton and some other uncategorised. Also when they are updated it’s easy job to use the newest ones in your already created bottle. Just the download the new from settings and go to your bottle settings to set it. And that’s it.

Do you mean in the Wine that is available in the Bottles? If so then it kinda sounds like a bug and it should be reported. But only flatpak version bugs are considered so be aware of that.

As for bloated I don’t know. It’s good enough for me. As for buggy and crashing it may be because it’s not flatpak version. Some of non-flatpak versions available in distros are so old that they can be even more than 7 versions behind the current.

From what I’ve read, Winetricks just installed some dependencies. You can use the dependency tab for that in Bottles. Naturally, not everything will be possible, but if some program requires it you could request for that dependency to be added.

I don’t know how you have configured your FireJail Wine, but Flatpak Bottles basically has only access to the folder it makes in .var/app/com.usebottles.bottles and also xdg-download. You can use Flatseal to block the internet access with one click and manage many other sandbox settings.

If you are already used to normal Wine and are comfortable with it to the degree you are then probably there’s not much to try. But if you don’t want to deal with setting everything yourself and would just want a GUI for pretty much anything then I recommend giving Flatpak Bottles a try (because that’s currently the only good version since AppImage was abandoned for now)

There is an option to create 32-bit prefixes, but I just run 32-bit software in 64-bit bottles since I didn’t have a reason to do it like that.

I can’t help you with non-flatpak versions, but for the flatpak I heard there is something like external flatpak installation or something like that. It requires some working, but it should allow you to even put the flatpak program in an USB stick.