Release Day 2022.3.14
today isRelease Day!
It’s Release Day again!
Two more weeks of work have been done and it’s time to celebrate another release day!
This release brings interesting new features and many bugfixes that improve Bottles stability and performance, some problems reported on Steam Deck have also been fixed.
Ok now let’s get to the point. What’s new in this version?
Steam proton prefixes
With this release we are introducing a new feature (currently experimental), which allows you to manage the Steam proton prefixes directly from Bottles.
Unlike regular bottles created with WINE or Proton in Bottles, Steam prefixes use slightly different rules and are tied to the runner they are created with.
Once the new experimental feature is enabled, you need to restart Bottles or
CTRL+R combination to force the refresh. Bottles will automatically
detect new prefixes and create a bottle configuration for each one.
Bottles reads the Steam configurations to detect the Proton runner used for its creation and uses this for all operations; it is therefore not possible to change the runner type and version, because this can cause problems and break the prefixes.
As mentioned, this is an experimental feature and we therefore suggest you to be very careful when using it. In the stable release it will be possible to launch the game linked to the prefix via Steam, as well as other programs (e.g. modders). Some features doesn’t work right now, but will be on the next release (e.g. mangohud, gamemode, etc.).
While it was already possible to leverage MangoHud via Bottles, this was integrated directly into the bottle preferences.
Once enabled, just run the game and you will see the MangoHud overlay. Use the environment variable section to configure the overlay.
If running Bottles as Flatpak, install
LatencyFlex is a vendor agnostic latency reduction middleware, alternative to NVIDIA Reflex.
An initial support has recently been integrated into Bottles and can be activated from the bottle preferences. To install it you can proceed like all the other components (e.g. DXVK, VKD3D, DXVK-Nvapi, etc.), from the Bottles Preferences.
Bottles uses internal repositories for components, dependencies and installers. We were told several times that these were not accessible in some regions and we therefore worked to find a remedy.
Thanks to Linode, we have a new infrastructure for hosting our website, forums and repositories.
The process of adding and updating for the maintainers remains the same, it will be enough to open a Pull Request in the dedicated repository on GitHub and once accepted, this will be reflected in the mirror after a few minutes.
Bottles aims to manage WINE prefixes in the best possible way, in every aspect and at any cost. However, these features are not always easy to integrate and are sometimes too cumbersome to be implemented. For this reason Pietro di Caprio from our team is working on WineBridge, a tool that uses the Windows API to clearly offer some information of the Windows sub-system and perform some operations in a quick and “native” way.
Although from this release this is a Core component of Bottles, it is currently in a testing phase and has been applied to only some areas of Bottles and only if this is present. Access the Core section in the Bottles Preferences to install it.
It is currently implemented as a process manager in the integrated task manager.
All other changes
There are many other changes and improvements in this release. Below are some noteworthy ones, for all others, please refer to the GitHub organization.
- MangoHud support (use org.freedesktop.Platform.VulkanLayer.MangoHud with flatpak)
- Now installers provide a visual feedback if a checksum is wrong
- Experimental support for Steam Proton prefixes (Flatpak need steam path permission)
- Extended search and filters for installed programs
- WinePath has now a WineProgram interface
- Support for GE-Proton runners
- Now starting executables is case insensitive
- Added new screen resolutions in the dedicated menu
- Now you can run other extensions as well, a program that supports them will be used if installed
- Initial LatencyFleX support
- Using the new repositories for components, dependencies and installers, should solve some countries restrictions problems seen with GitHub
- WineBridge is now supported as core component (currently in testing)
- Flatpak is now based on org.winehq.Wine, thanks to @TheEvilSkeleton
- Switchd from libnotify to GNotification, thanks to @A6GibKm
- Kitty terminal is now supported, thanks to @Bartkk0
- Foot terminal is now supported, thanks to @QuantMint
- General improvements to the WINE backend
- Fixed a bug with Konsole and xterm which was closing just after launching
- Fixed a regression with Proton, Bottles was looking for the binaries in the wrong place
- Fixed a bug in bottle creation, wineserver was not being awaited before update sync type
- Fixed a bug with templates, if the build went wrong, the template was still stored and used for the next bottle
- Fixed a bug with cabextract, was not supporting whitespaces in filenames
- Fixed a bug in the journal, was crashing if a date was not set
- Fixed a bug with layers, the executable path was not being set correctly
- Fixed a bug during dependencies installation when it was not possible to read the repository index
- Fixed a bug with DLL Components installation, a new layer was not being created if the bottle environment was Layered
- Fixed a bug on runner change, the prefix was being updated before the new runner was set
- Fixed a bug with dependencies installation, was failing if a file was already in place
- Fixed a bug with CLI, Bottles was closing too early avoiding the program to be launched, thanks to @tgschultz
- Fixed a bug with translations, some translations were not being loaded, thanks to @ryonakano
- Fixed a bug with the about dialog, the close button was not working, thanks to @ryonakano
- Fixed a bug with the notifications manager, was raising an error if there was just one notification
- French translations thanks to @julroy67, クリスDownix
- Italian translations thanks to @albanobattistella, @phaerrax
- Portuguese translations thanks to @davidpatricio, @hugok79
- Spanish translations thanks to @oscfdezdz
- Portuguese (Brazil) translations thanks to @vitorhcl
- Turkish translations thanks to @ersen0
- Chineese (Simplified) translations thanks to Eric
- Russian translations thanks to @Knebergish
- Japanese translations thanks to @ryonakano
- German translations thanks to @mkar1984, @thericosanto
- Polish translations thanks to Zszywek, @mbledkowski
- Croatian translations thanks to @milotype
- Hungarian translations thanks to @zoli111, @swanux
Thanks to all users who contributed to this release!
~ Bottles’ developers