Release Day 2022.4.28
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 update greatly improves performance and user experience. We have worked to improve the texture and we hope it will be appreciated.
Before continuing we remind you that on April 30th we will be at the Linux App Summit 2022, we will talk about the future of Bottles and WINE thanks to the Layers.
Ok now let’s get to the point. What’s new in this version?
Let’s start by talking about what you’ll notice right away, the user interface. We have worked to make the UI as simple, consistent and intuitive as possible.
The environment name as well as the architecture and runner are now placed under the bottle name. For the architecture we switched to win32 and win64 to make it clear that it refers to the prefix.
The runtime operations menu (shutdown, restart, kill all processes) is now clearly more distinctive and accessible.
All other operations (such as backup and documentation) have been moved to the context menu in the headerbar, removing them from the bottle focus being non-routine operations.
The search in the dependencies and installers views is now togglable from the dedicated button in the headerbar, saving space when this is not needed.
These also received a contextual menu always in the headerbar, this collects on-routine operations, such as access to documentation and reports.
There are many other cosmetic improvements, for example now feedback is shown when selecting a path (for example the current working directory or the position of the bottle).
Custom paths per bottle
We have added a new feature to the bottle creation, the ability to define a custom path where the bottle will be stored. Once set, the bottle will be stored in the path of choice and a placeholder will be created in the default bottles directory, making the new bottle visible in the bottles list.
To set a custom path, make a new bottle then select the Custom environment to show advanced options, then choose the Custom path option. After that, you can switch to another environment, the setting will be preserved.
Bottles has a journal from different releases, a file that contains all the important logs generated by managers, for example when an operation fails or a component is deleted or a crash occurs.
You can use this log to retrace certain operations or investigate a problem.
Improved programs list
The list of programs is the core of our bottle, from there we launch all our software and video games. This update fixes a very annoying bug that resulted in the play button quickly switching from stop to play in the first 2 seconds after opening the bottle, forcing the user to wait before launching a program.
“File not found”, now found
Before this update, some executables launched as Windows path caused a “file not found”. We made a fix that forces the current working directory to the path of the launch executable, this way it should always find its files and behave like on Windows.
Desktop entries with new CLI
Some releases ago we implemented a powerful new CLI in Bottles, this comes with many features that allow easy and fast bottle management without having to access the GUI.
Now this CLI is also used by the Desktop entries to launch the related program. These do not declare the path of the executable but the name of the program in the list of bottles, in this way it will not be necessary to make changes if the path of the bottle or other parameters should change.
The old desktop entries will continue to work using the old (legacy) CLI but we suggest you to generate a new one from the program list.
Months ago, we announced our interest in reducing the resource consumption of dependencies, offering these in smaller and more compact formats, always in respect with the license.
With this release we test the first package (d3dx9), a few MB able to satisfy 3 dependencies (d3dx9, d3dcompiler_43, d3dcompiler_47). Before this it was necessary to download the entire DirectX SDK to extract the individual DLLs, now the installation will take a few seconds. We will extend this method to many other dependencies which licenses allow for file redistribution.
Templates are a set of files that are generated when the first bottle is created in an environment, these are used to speed up the creation of the next bottles as the longer steps are replaced by extracting the template.
Before this update the templates were not updated when a major version of a component was installed, resulting in a slow down of the creation process having to update the component every time. Now by creating a bottle if there are updated components, the template is re-created speeding up the creation of the next ones.
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.
- General UI improvements, make the interface more consistent and easier to use.
- Support for bottles on different paths, the option is present in the custom env settings but is also respected by all the other envs
- Notable general performance improvements of the WINE backend
- Installers now supports the run_winecommand action, allowing you to run commands inside the prefix via WINE (refer to the maintainers documentation)
- Dependencies now supports the delete_dlls action to remove a dll before updating (refers to the maintainers documentation)
- Templates are now updated on bottle creation if newer components are detected, this will speed up the creation of new bottles
- Desktop entries now uses the new CLI to launch the executable
- The journal can now be browsed from Bottles, accessible from the Health check menu
- The d3dx9 dependency (and more coming) now uses small archives, this speed up the installation
- Windows paths are now launched via the Start WineProgram which set the current working directory to make sure it finds all files
- Start WineProgram now tries to convert Unix paths to Windows if explicitly requested
- The bottle’s cwd preference has now a new button to reset to the default one
- Desktop entries can now be updated, just press “Add Desktop Entry” again from the programs list (Thanks to @emiltang)
- Updated samba to 4.15.6 (Thanks to @rmnscnce)
- Fixed flickering start/stop buttons in the programs list
- Fixed a bug with Steam Launch options, which resulted in a crash when empty
- Fixed a bug in the CLI, which could cause crashes due to the message handler
- Fixed a bug with runners’ libraries, some were not loaded in the environment
- Fixed a bug with the Journal manager, was not creating the file on first launch
- Fixed a bug with WineCmd WineProgram, spaces were not handled when launching batch scripts
- Fixed a bug with DLL Components manager, in some conditions it could cause a crash when trying to handling a missing DLL
- Fixed a bug with WinePath Wineprogam, paths were not escaped causing in wrong results
- Fixed a bug in opening the file manager for a program, it did not support Windows paths
- Fixed a bug in bottle naming, quotes were not always escaped
- Fixed a bug with xterm, was disappearing after run (Thanks to @vickyorlo)
- Fixed a bug with Steam Proton prefixes, those were not detected on some distributions (Thanks to @Thesola10)
- Persian traslations thanks to @pikhosh, @iman-moodi
- Italian translations thanks to @albanobattistella
- German translations thanks to @t0mt3ch
- Spanish translations thanks to @oscfdezdz
- Portuguese (Brazil) translations thanks to @mblithium
- Dutch translations thanks to @Sojiro84
- Japanese translations thanks to @ryonakano
- Polish translations thanks to Krzysztof Marcinek, Zszywek
- Russian translations thanks to @Knebergish, @creepen123
- French translations thanks to unatecepp-7789, @julroy67
- Ukrainian translations thanks to @Lekrixsss
- Hungarian translations thanks to @zoli111
- Vietnamese translations thanks to @lebao3105
- Chinese (simplified) translations thanks to Eric
Thanks to all users who contributed to this release!
~ Bottles’ developers