Wydano wydanie projektu Bottles 2022.1.28, które rozwija aplikację ułatwiającą instalację, konfigurację i uruchamianie aplikacji Windows w systemie Linux opartym na Wine lub Proton. Program dostarcza interfejs do zarządzania prefiksami, które definiują środowisko Wine oraz parametry do uruchamiania aplikacji, a także narzędzia do instalowania zależności potrzebnych do poprawnego działania uruchamianych programów. Kod projektu jest napisany w języku Python i udostępniany na licencji GPLv3. Program dostarczany jest w formacie Flatpak i w paczkach dla Arch Linux.
Zamiast skryptu Winetricks, Bottles do instalacji dodatkowych bibliotek stosuje pełnoprawny system zarządzania zależnościami, którego działanie przypomina zarządzanie zależnościami w menedżerach pakietów dystrybucji. Dla uruchamianej aplikacji Windows określana jest lista zależności (biblioteki DLL, czcionki, runtime itp.), które należy pobrać i zainstalować dla prawidłowego działania, przy czym każda zależność może mieć swoje własne zależności.

Bottles dostarcza repozytorium z informacjami o zależnościach dla różnych programów i bibliotek, a także narzędzia do centralnego zarządzania zależnościami. Wszystkie zainstalowane zależności są śledzone, dzięki czemu, przy usuwaniu programu, można usunąć także powiązane zależności, jeśli nie są one potrzebne do uruchomienia innych aplikacji. Takie podejście pozwala na uniknięcie instalacji oddzielnej wersji Wine dla każdej aplikacji i umożliwia korzystanie z jednego środowiska Wine do uruchomienia jak największej liczby aplikacji.

Do pracy z prefiksami Windows w Bottles stosowana jest koncepcja środowisk, które oferują gotowe ustawienia, biblioteki i zależności dla określonej klasy aplikacji. Oferowane są podstawowe środowiska: Gaming – dla gier, Software – dla aplikacji biurowych oraz Custom – czyste środowisko do przeprowadzania własnych eksperymentów. W środowisku dla gier zainstalowane są DXVK, VKD3D, Esync, na systemach z hybrydową grafiką aktywowana jest odrębna karta graficzna, a w PulseAudio włączono ustawienia poprawiające jakość dźwięku. W środowisku dla aplikacji zawarte są ustawienia odpowiednie zarówno dla programów multimedialnych, jak i aplikacji biurowych.

W razie potrzeby można zainstalować kilka różnych wersji wine, proton i dxvk, i na bieżąco przełączać się między nimi. Możliwy jest import środowisk z innych menedżerów Wine, takich jak Lutris i PlayOnLinux. Środowiska uruchamiane są z użyciem izolacji sandboxowej, oddzielone od głównego systemu i mają dostęp tylko do niezbędnych danych w katalogu domowym. Oferowane jest wsparcie dla kontroli wersji, automatycznie zapisującego stan przed zainstalowaniem każdej nowej zależności i pozwalającego na powrót do jednego z wcześniejszych stanów w przypadku problemów.

Wśród zmian w nowym wydaniu:
- Dodano nowe zaplecze do zarządzania Wine, składające się z trzech komponentów: WineCommand, WineProgram i Executor.
- Proponowane jest kilka obsługiwaczy WineProgram:
- reg, regedit — do pracy z rejestrem, umożliwia jednoczesną zmianę kilku kluczy za pomocą jednego wywołania.
- net — do zarządzania usługami.
- wineserver — do sprawdzania działania procesu zarządzającego Bottles.
- start, msiexec i cmd — do pracy z skrótami .lnk i plikami .msi/.batch.
- taskmgr — menedżer zadań.
- wineboot, winedbg, control, winecfg.
- Zrealizowano menedżer wykonania (Executor), który przy uruchomieniu pliku wykonywalnego automatycznie wywołuje odpowiedni obsługiwacz w zależności od rozszerzenia pliku (.exe, .lnk, .batch, .msi).
- Dostarczono możliwość uruchamiania poleceń w pełnym lub skróconym środowisku.
- Dodano wsparcie dla synchronizacji z wykorzystaniem wywołania systemowego futex_waitv (Futex2), które pojawiło się w jądrze Linux 5.16. Dodano obsługiwacz Caffe, oparty na Wine 7, wspierający mechanizm synchronizacji Futex2.
- Dla instalatorów zrealizowano możliwość zmiany plików konfiguracyjnych (json, ini, yaml).
- Dodano wsparcie dla ukrywania elementów w liście programów.

- Dodano nowe okno dialogowe do wyświetlania zawartości plików manifestów dla zależności i instalatorów.

- Do listy dostępnych instalatorów dodano funkcję wyszukiwania.

Dodatkowo można zauważyć publikację wydania projektu Proton 7.1-GE-1, w ramach którego entuzjaści tworzą niezależne od firmy Valve rozszerzone kompilacje pakietu do uruchamiania aplikacji Windows Proton, różniące się nowszą wersją Wine, wykorzystaniem FFmpeg w FAudio oraz dodatkowymi łatkami rozwiązującymi problemy w różnych grach.
W nowej wersji Proton GE dokonano przejścia na Wine 7.1 z łatkami z Wine-staging 7.1 (oficjalny Proton wciąż korzysta z Wine 6.3). Przeniesiono wszystkie zmiany z repozytoriów git projektów vkd3d-proton, dxvk i FAudio. Rozwiązano problemy w grach Forza Horizon 5, Resident Evil 5, Persona 4 Golden, Progressbar95 i Elder Scrolls Online.
Źródło: opennet.ru



