Bol zverejnený nový vývoj projektu Bottles 2022.1.28, ktorý zjednodušuje inštaláciu, konfiguráciu a spúšťanie Windows aplikácií v Linuxe pomocou Wine alebo Proton. Program poskytuje rozhranie na správu prefixov, ktoré určujú Wine prostredie a parametre na spúšťanie aplikácií, ako aj nástroje na inštaláciu závislostí potrebných na správne fungovanie spúšťaných programov. Kód projektu je napísaný v programovacom jazyku Python a je distribuovaný pod licenciou GPLv3. Program sa dodáva vo formáte Flatpak a v balíčkoch pre Arch Linux.
Namiesto skriptu Winetricks sa v Bottles na inštaláciu ďalších knižníc používa plnohodnotný systém správy závislostí, ktorého fungovanie pripomína správu závislostí v balíčkových manažéroch distribúcií. Pre spúšťanú Windows aplikáciu sa určuje zoznam závislostí (DLL knižnice, písma, runtime atď.), ktoré je potrebné stiahnuť a nainštalovať pre normálne fungovanie, pričom každá závislosť môže mať svoje vlastné závislosti.

Bottles poskytuje repozitár s informáciami o závislostiach pre rôzne programy a knižnice, ako aj nástroje na centralizovanú správu týchto závislostí. Všetky nainštalované závislosti sa sledujú, takže pri odinštalovaní programu je možné odstrániť aj súvisiace závislosti, ak sa nepoužívajú na spúšťanie iných aplikácií. Tento prístup umožňuje obísť inštaláciu samostatnej verzie Wine pre každú aplikáciu a používať jedno Wine prostredie na spúšťanie čo najväčšieho počtu aplikácií.

Pri práci s Windows prefixmi v Bottles sa používa koncept prostredí, ktoré poskytujú hotové nastavenia, knižnice a závislosti pre určitú triedu aplikácií. Ponúkajú sa základné prostredia: Gaming - pre hry, Software - pre aplikácie a Custom - čisté prostredie pre vlastné experimenty. V hernom prostredí sú zahrnuté DXVK, VKD3D, Esync, na systémoch s hybridnou grafikou je aktivovaná diskrétna grafická karta a v PulseAudio sú zahrnuté nastavenia na zlepšenie kvality zvuku. V prostredí pre aplikácie sú zahrnuté nastavenia vhodné ako pre multimediálne programy, tak aj pre kancelárske aplikácie.

V prípade potreby je možné nainštalovať niekoľko rôznych verzií wine, proton a dxvk a medzi nimi sa prepínať za behu. Je možný import prostredí z iných správnych nástrojov Wine, ako sú Lutris a PlayOnLinux. Prostredia sa spúšťajú s využitím sandboxovej izolácie, sú oddelené od hlavného systému a majú prístup iba k potrebným údajom v domácom adresári. Poskytuje sa podpora verzionovania, ktorá automaticky ukladá stav pred inštaláciou každej novej závislosti a umožňuje sa vrátiť na jedno z predchádzajúcich stavov v prípade problémov.

Medzi zmenami v novej verzii:
- Pridaný nový backend na správu Wine, pozostávajúci z troch komponentov: WineCommand, WineProgram a Executor.
- Navrhnutých niekoľko spracovateľov WineProgram:
- reg, regedit — na prácu s registra, umožňuje jedným volaním meniť niekoľko kľúčov.
- net — na správu služieb.
- wineserver — na kontrolu funkčnosti správcovského procesu Bottles.
- start, msiexec a cmd — na prácu s skratkami .lnk a súbormi .msi/.batch.
- taskmgr — správca úloh.
- wineboot, winedbg, control, winecfg.
- Realizovaný manažér vykonávania (Executor), pri spustení vykonateľného súboru automaticky vyvolávajúci potrebného spracovateľa v závislosti od prípony súboru (.exe, .lnk, .batch, .msi).
- Poskytnutá možnosť spúšťania príkazov v úplnom alebo skrátenom prostredí.
- Pridaná podpora synchronizácie s použitím systémového volania futex_waitv (Futex2), ktoré sa objavilo v jadre Linux 5.16. Pridaný spracovateľ Caffe, založený na Wine 7 a podporujúci mechanizmus synchronizácie Futex2.
- Pre inštalátory realizovaná možnosť zmeny konfiguračných súborov (json, ini, yaml).
- Pridaná podpora skrývania prvkov v zozname programov.

- Pridaný nový dialóg na zobrazenie obsahu súborov-manifestov pre závislosti a inštalátory.

- Do zoznamu dostupných inštalátorov pridaná funkcia vyhľadávania.

Dodatočne možno spomenúť publikáciu vydania projektu Proton 7.1-GE-1, v rámci ktorého nadšenci vytvárajú nezávislé od spoločnosti Valve rozšírené zostavy balíka na spúšťanie aplikácií Windows Proton, ktoré sa líšia čerstvejšou verziou Wine, využívaním FFmpeg v FAudio a zahrnutím ďalších záplat, ktoré riešia problémy v rôznych herných aplikáciách.
V novej verzii Proton GE bol prechod na Wine 7.1 so záplatami z Wine-staging 7.1 (v oficiálnom Protone sa naďalej používa Wine 6.3). Prenesené boli všetky zmeny z git-repozitárov projektov vkd3d-proton, dxvk a FAudio. Riešené problémy v hrách Forza Horizon 5, Resident Evil 5, Persona 4 Golden, Progressbar95 a Elder Scrolls Online.
Zdroj: opennet.ru



