Release of Bottles 2022.1.28, a package for running Windows applications on Linux

The release of the Bottles 2022.1.28 project is presented, which develops an application to simplify the installation, configuration and running of Windows applications on Linux based on Wine or Proton. The program provides an interface for managing prefixes that define the Wine environment and parameters for launching applications, as well as tools for installing dependencies necessary for the correct operation of launched programs. The project code is written in Python and distributed under the GPLv3 license. The program is supplied in Flatpak format and in packages for Arch Linux.

Instead of the Winetricks script, Bottles uses a full dependency management system to install additional libraries, which works like dependency management in distribution package managers. For a running Windows application, a list of dependencies (DLLs, fonts, runtime, etc.) is defined that must be downloaded and installed for normal operation, although each dependency may have its own dependencies.

Release of Bottles 2022.1.28, a package for running Windows applications on Linux

Bottles provides a repository of dependency information for various programs and libraries, as well as a toolkit for centralized dependency management. All installed dependencies are tracked, so when uninstalling a program, you can also remove related dependencies if they are not used to run other applications. This approach allows you to avoid installing a separate version of Wine for each application and use a single Wine environment to run as many applications as possible.

Release of Bottles 2022.1.28, a package for running Windows applications on Linux

To work with Windows prefixes, Bottles uses the concept of environments that provide ready-made settings, libraries, and dependencies for a specific class of applications. Basic environments are offered: Gaming - for games, Software - for applications and Custom - a clean environment for conducting your own experiments. DXVK, VKD3D, Esync are enabled in the gaming environment, the discrete graphics card is enabled on hybrid graphics systems, and settings are enabled in PulseAudio to improve sound quality. The application environment includes settings suitable for both multimedia programs and office applications.

Release of Bottles 2022.1.28, a package for running Windows applications on Linux

If necessary, you can install several different versions of wine, proton and dxvk, and switch between them on the fly. It is possible to import environments from other Wine managers such as Lutris and PlayOnLinux. Environments run using sandbox isolation, are separate from the main system, and only have access to the necessary data in the home directory. Support for version control is provided, which automatically saves the state before installing each new dependency and allows you to roll back to one of the previous states in case of problems.

Release of Bottles 2022.1.28, a package for running Windows applications on Linux

Among the changes in the new release:

  • Added a new backend for managing Wine, consisting of three components: WineCommand, WineProgram and Executor.
  • Several WineProgram handlers have been proposed:
    • reg, regedit - for working with the registry, allows you to change several keys with one call.
    • net is for managing services.
    • wineserver - to check the operation of the Bottles control process.
    • start, msiexec and cmd are for working with .lnk shortcuts and .msi/.batch files.
    • taskmgr is a task manager.
    • wineboot, winedbg, control, winecfg.
  • The execution manager (Executor) has been implemented. When an executable file is launched, it automatically calls the necessary handler depending on the file extension (.exe, .lnk, .batch, .msi).
  • The ability to run commands in a full or reduced environment is provided.
  • Added support for synchronization using the futex_waitv (Futex2) system call introduced in the Linux 5.16 kernel. Added Caffe handler based on Wine 7 and supporting Futex2 synchronization mechanism.
  • For installers, the ability to change configuration files (json, ini, yaml) is implemented.
  • Added support for hiding items in the program list.
    Release of Bottles 2022.1.28, a package for running Windows applications on Linux
  • A new dialog has been added to show the contents of manifest files for dependencies and installers.
    Release of Bottles 2022.1.28, a package for running Windows applications on Linux
  • A search function has been added to the list of available installers.
    Release of Bottles 2022.1.28, a package for running Windows applications on Linux

Additionally, we can note the publication of the release of the Proton 7.1-GE-1 project, within which enthusiasts form extended builds of the package independent of Valve for running Proton Windows applications, which differ in a more recent version of Wine, the use of FFmpeg in FAudio and the inclusion of additional patches that solve problems in various gaming applications.

The new version of Proton GE switched to Wine 7.1 with patches from Wine-staging 7.1 (official Proton continues to use Wine 6.3). Moved all changes from git repositories of vkd3d-proton, dxvk and FAudio projects. Resolved issues in Forza Horizon 5, Resident Evil 5, Persona 4 Golden, Progressbar95 and Elder Scrolls Online.

Source: opennet.ru

Add a comment