Bemutatjuk a Bottles 2022.1.28 projekt kiadását, amely a Windows-alkalmazások Linux alapú telepítésének, konfigurálásának és indításának megkönnyítésére szolgáló alkalmazást fejleszti a Wine vagy Proton segítségével. A program felületet biztosít a prefixek kezeléséhez, amelyek meghatározzák a Wine környezetét és a programok indításához szükséges beállításokat, valamint eszközöket biztosít a megfelelő működéshez szükséges függőségek telepítéséhez. A projekt kódja Python nyelven íródott és GPLv3 licenc alatt terjesztik. A program Flatpak formátumban és Arch Linux csomagjaiban érkezik.
A Windows-alkalmazások telepítéséhez a Bottles-ban nem Winetricks skriptet használunk az extra könyvtárak beszerzésére, hanem egy teljes körű függőségkezelő rendszert, amely működésében a disztribúciók csomagkezelőinek függőségkezelésére hasonlít. Az elindítandó Windows-alkalmazáshoz egy függőséglista (DLL könyvtárak, betűtípusok, runtime stb.) áll rendelkezésre, amelyeket le kell tölteni és telepíteni a normál működéshez, figyelembe véve, hogy minden függőségnek lehetnek saját függőségei.

A Bottles egy olyan adattárat biztosít, amely információkat tartalmaz a különböző programok és könyvtárak függőségeiről, valamint eszközkészletet a függőségek központosított kezelésére. Minden telepített függőséget nyomon követünk, így ha egy programot eltávolítunk, a kapcsolódó függőségeket is eltávolíthatjuk, ha azok nem használatosak más alkalmazások indításához. Ez a megközelítés lehetővé teszi, hogy ne kelljen minden alkalmazáshoz külön verziót telepíteni a Wine-ból, hanem egyetlen Wine-környezetet használjunk a lehető legtöbb alkalmazás indításához.

A Bottles-ban a Windows prefixek kezelésére környezetek koncepcióját alkalmazzák, amelyek kész beállításokat, könyvtárakat és függőségeket biztosítanak egy adott alkalmazáscsoport számára. Alapértelmezett környezetek állnak rendelkezésre: Gaming - játékokhoz, Software - alkalmazásprogramokhoz és Custom - tiszta környezet saját kísérletekhez. A játékokhoz készült környezet tartalmazza a DXVK, VKD3D, Esync támogatását, hibrid grafikus rendszeren a dedikált grafikus kártya aktiválva, míg a PulseAudio-ban a hangminőség javításához szükséges beállításokat tartalmazza. Az alkalmazásokhoz készült környezetbe olyan beállításokat integrálnak, amelyek alkalmasak multimédiás programok és irodai alkalmazások használatára is.

Szükség esetén több különböző verziót telepíthetünk a wine-ból, protonu-ból és dxvk-ból, és dinamikusan válthatunk közöttük. Támogatott más Wine kezelők, például Lutris és PlayOnLinux környezeteinek importálása. A környezetek sandbox-izolációval futnak, elkülönítve az alap rendszertől, és csak a szükséges adatokat érik el a felhasználó otthoni könyvtárában. Támogatott a verziókezelés, amely automatikusan menti az állapotot, mielőtt új függőséget telepítünk, lehetővé téve a visszaállást a korábbi állapotok bármelyikére problémák esetén.

A legújabb kiadásban bekövetkezett változások között:
- Új háttérszolgáltatás került hozzáadásra a Wine kezeléséhez, három komponensből áll: WineCommand, WineProgram és Executor.
- Több WineProgram feldolgozót javasoltak:
- reg, regedit - a regisztráció kezelésére, lehetővé téve, hogy egy hívással több kulcsot módosítsunk.
- net - a szolgáltatások kezelésére.
- wineserver - a Bottles vezérlő folyamatának működésének ellenőrzésére.
- start, msiexec és cmd - a .lnk parancsikonok és .msi/.batch fájlok kezelésére.
- taskmgr - feladatkezelő.
- wineboot, winedbg, control, winecfg.
- Megvalósult a kódvégrehajtó (Executor), amely automatikusan hívja a szükséges feldolgozót a fájl kiterjesztése alapján (.exe, .lnk, .batch, .msi) a futtatás során.
- Lehetőség nyílt parancsok futtatására teljes vagy rövidített környezetben.
- Hozzáadva a szinkronizáció támogatása a futex_waitv (Futex2) rendszerhívás használatával, amely a Linux 5.16 kernelben jelent meg. Hozzáadva egy Caffe feldolgozó, amely a Wine 7 alapjaira épül, és támogatja a Futex2 szinkronizációs mechanizmust.
- Az telepítők számára megvalósult a konfigurációs fájlok (json, ini, yaml) módosításának lehetősége.
- Hozzáadva a programok listájában lévő elemek elrejtésének támogatása.

- Új párbeszédpanel került hozzáadásra a függőségek és telepítők manifest fájljainak tartalmának megjelenítésére.

- A keresési funkciót hozzáadták a rendelkezésre álló telepítők listájához.

Továbbá megemlíthetjük a Proton 7.1-GE-1 projekt kiadásának nyilvánosságra hozatalát, amelyben az önkéntesek független, Valve-tól független bővített kiadásokat készítenek a Windows alkalmazások Proton-nal való futtatásához, frissebb Wine verzióval, a FAudio FFmpeg használatával és további javítófoltokkal, amelyek különböző játékalkalmazások problémáit orvosolják.
Az új Proton GE verzió a Wine 7.1-re váltott, a Wine-staging 7.1-ből származó javításokkal (a hivatalos Proton továbbra is a Wine 6.3-at használja). Az összes változást átültették a vkd3d-proton, dxvk és FAudio projektek git-tárolóiból. Megoldották a problémákat a Forza Horizon 5, Resident Evil 5, Persona 4 Golden, Progressbar95 és az Elder Scrolls Online játékokban.
Forrás: opennet.ru



