Byl vydán projekt Bottles 2022.1.28, který vyvíjí aplikaci pro usnadnění instalace, nastavení a spuštění Windows aplikací v Linuxu na bázi Wine nebo Proton. Program poskytuje rozhraní pro správu prefixů, které definují Wine prostředí a parametry pro spuštění aplikací, a také nástroje pro instalaci závislostí potřebných pro správné fungování spouštěných programů. Kód projektu je napsán v jazyce Python a je šířen pod licencí GPLv3. Program je dodáván ve formátu Flatpak a v balíčcích pro Arch Linux.
Místo skriptu Winetricks v Bottles pro instalaci dalších knihoven je aplikován plnohodnotný systém správy závislostí, jehož fungování připomíná správu závislostí v balíčkových manažerech distribucí. Pro spuštěnou Windows aplikaci je určena seznam závislostí (DLL knihovny, fonty, runtime atd.), které je třeba stáhnout a nainstalovat pro normální fungování, přičemž každá závislost může mít své závislosti.

Bottles poskytuje repozitář s informacemi o závislostech pro různé programy a knihovny, stejně jako nástroje pro centralizovanou správu závislostí. Všechny nainstalované závislosti jsou sledovány, takže při odstranění programu lze odstranit i související závislosti, pokud nejsou použity pro spuštění jiných aplikací. Takový přístup umožňuje vyhnout se instalaci samostatné verze Wine pro každou aplikaci a používat jednotné Wine prostředí pro spuštění co největšího počtu aplikací.

Pro práci s Windows prefixy v Bottles je použita koncepce prostředí, která poskytuje hotová nastavení, knihovny a závislosti pro určitou třídu aplikací. Existují základní prostředí: Gaming — pro hry, Software — pro aplikace a Custom — čisté prostředí pro vlastní experimenty. Ve herním prostředí jsou zahrnuty DXVK, VKD3D, Esync, na systémech s hybridní grafikou je aktivována diskrétní grafická karta, a v PulseAudio jsou zahrnuta nastavení pro zlepšení kvality zvuku. V aplikacích jsou zahrnuta nastavení vhodná jak pro multimediální programy, tak pro kancelářské aplikace.

V případě potřeby lze nainstalovat několik různých verzí wine, proton a dxvk a na požádání mezi nimi přepínat. Je možný import prostředí z jiných manažerů Wine, jako jsou Lutris a PlayOnLinux. Prostředí jsou spouštěna s využitím sandboxové izolace, oddělené od hlavního systému a mají přístup pouze k nezbytným datům v domovském adresáři. Je poskytována podpora verzování, která automaticky ukládá stav před instalací každé nové závislosti a umožňuje vrátit se na jeden z minulých stavů v případě problémů.

Mezi změnami v nové verzi:
- Byl přidán nový backend pro správu Wine, který se skládá ze tří komponent: WineCommand, WineProgram a Executor.
- Bylo navrženo několik zpracovatelů WineProgram:
- reg, regedit — pro práci s registry, umožňuje jediným voláním změnit několik klíčů.
- net — pro správu služeb.
- wineserver — pro kontrolu provozu řídicího procesu Bottles.
- start, msiexec a cmd — pro práci s zástupci .lnk a soubory .msi/.batch.
- taskmgr — správce úloh.
- wineboot, winedbg, control, winecfg.
- Byl implementován správce provádění (Executor), který při spuštění spustitelného souboru automaticky vyvolá potřebný zpracovatel v závislosti na příponě souboru (.exe, .lnk, .batch, .msi).
- Byla poskytnuta možnost spouštění příkazů v plném nebo zkráceném prostředí.
- Byla přidána podpora synchronizace pomocí systémového volání futex_waitv (Futex2), které se objevilo v jádře Linux 5.16. Byla přidána zpracovatel Caffe, založený na Wine 7, který podporuje mechanismus synchronizace Futex2.
- Pro instalátory byla implementována možnost změny konfiguračních souborů (json, ini, yaml).
- Byla přidána podpora skrývání prvků v seznamu programů.

- Byl přidán nový dialog pro zobrazení obsahu souborů manifestu pro závislosti a instalátory.

- Do seznamu dostupných instalátorů byla přidána funkce vyhledávání.

Dále je třeba zmínit vydání projektu Proton 7.1-GE-1, v jehož rámci jsou nadšenci vytvářet nezávislé varianty balíčku pro spouštění aplikací Windows Proton, lišící se novější verzí Wine, využitím FFmpeg v FAudio a přidáváním dalších patchů, které řeší problémy v různých herních aplikacích.
V nové verzi Proton GE došlo k přechodu na Wine 7.1 s patchemi z Wine-staging 7.1 (v oficiálním Proton stále používá Wine 6.3). Byly přeneseny všechny změny z git repository projektů vkd3d-proton, dxvk a FAudio. Byly vyřešeny problémy ve hrách Forza Horizon 5, Resident Evil 5, Persona 4 Golden, Progressbar95 a Elder Scrolls Online.
Zdroj: opennet.ru



