Esitlati on projekti Bottles 2022.1.28 väljaanne, mis arendab rakendust Windowsi rakenduste seadistamise, konfigureerimise ja käivitamise lihtsustamiseks Linuxis, kasutades Wine'i või Protonit. Programm pakub liidest, millega hallata prefikseid, mis määratlevad Wine'i keskkonna ja rakenduste käivitamise parameetrid, samuti tööriistu sõltuvuste installimiseks, mis on vajalikud rakenduste korrektseks tööks. Projekti kood on kirjutatud Pythonis ja see levitatakse GPLv3 litsentsi alusel. Programm tarnitakse Flatpak formaadis ja Arch Linuxi paketina.
Bottles kasutab Winetricks'i skripti asemel sõltuvuste haldamise täispaketti, mille töö sarnaneb distributsioonide paketihalduritega. Käivitatava Windowsi rakenduse jaoks määratakse sõltuvuste nimekiri (DLL-raamatukogud, fondid, runtime jne), mille tuleb alla laadida ja installida normaalse töö tagamiseks, arvestades, et igal sõltuvusel võivad olla oma sõltuvused.

Bottles pakub sõltuvuste teavet erinevate programmide ja raamatukogude jaoks ning tööriistakasti keskseks sõltuvuste haldamiseks. Kõiki installitud sõltuvusi jälgitakse, seega on programmide eemaldamisel võimalik kustutada ka seotud sõltuvused, kui need ei ole teiste rakenduste käitamiseks kasutusel. Selline lähenemine võimaldab vältida eraldi Wine'i versiooni installimist iga programmi jaoks ja kasutada ühtset Wine'i keskkonda võimalikult paljude rakenduste käitamiseks.

Windowsi prefiksite haldamiseks kasutab Bottles keskkondade kontseptsiooni, mis pakuvad valmis seadistusi, raamatukogusid ja sõltuvusi teatud klassi rakenduste jaoks. Pakutakse põhikeskkondi: Gaming — mängude jaoks, Software — rakendusprogrammide jaoks ja Custom — puhas keskkond isiklike eksperimentide läbi viimiseks. Mängude keskkonnas on kaasatud DXVK, VKD3D, Esync, hübriidgraafika süsteemide puhul on aktiveeritud diskreetne graafikakaart ning PulseAudio's on optimeeritud helikvaliteeti.

Vajadusel saab installida mitu erinevat versiooni wine'ist, proton'ist ja dxvk'st ning sujuvalt nende vahel vahetada. On võimalik importida keskkondi teistest Wine halduritest, nagu Lutris ja PlayOnLinux. Keskkonnad käivituvad liivakasti isolatsiooniga, eraldatud põhisisüsteemist ja neil on juurdepääs ainult neile vajalikule kodu kataloogis. Pakutakse versioonihalduse tuge, mis salvestab automaatselt oleku enne iga uue sõltuvuse installimist ja võimaldab naasta varasematesse olekutesse probleemide korral.

Uue väljaande muudatuste seas:
- Lisatud uus veebi tagumine pool Windowsi haldamiseks, mis koosneb kolmest komponendist: WineCommand, WineProgram ja Executor.
- Pakutud on mitmeid WineProgrami töötlejaid:
- reg, regedit — registriga töötamiseks, võimaldab ühe üleskutsega muuta mitu võtme.
- net — teenuste haldamiseks.
- wineserver — halduri protsessi Bottles töö kontrollimiseks.
- start, msiexec ja cmd — otsetee .lnk ja failide .msi/.batch töötlemiseks.
- taskmgr — ülesannete haldur.
- wineboot, winedbg, control, winecfg.
- Teostatud on täitmise haldur (Executor), mis käivitab automaatselt vajaliku töötleja sõltuvalt faili laiendist (.exe, .lnk, .batch, .msi).
- Pakutud on võimalus käivitada käske täis- või lühikeses keskkonnas.
- Lisatud on toetus sünkroniseerimiseks, kasutades süsteemi kutsungit futex_waitv (Futex2), mis ilmus Linuxi tuumas 5.16. Lisatud on Caffe töötleja, mis põhineb Wine 7-l ja toetab Futex2 sünkroniseerimise mehhanismi.
- Installeerijatele on teostatud võimalus muuta konfiguratsioonifaile (json, ini, yaml).
- Lisatud on toetus elementide peitmiseks programmide loendis.

- Lisatud on uus dialoog, et näidata manifestehendeid sõltuvuste ja installeerijate jaoks.

- Installeerijate loendisse on lisatud otsingu funktsioon.

Veelgi enam, tuleb märkida, et on välja antud projekti Proton 7.1-GE-1 versioon, mille raames arendavad innukad entusiastid sõltumatud Valve'ist koosnevaid laiendatud komplekte Windowsi rakenduste käivitamiseks Protonis, mis erinevad uuema Wine'i versiooni, FFmpeg'i kasutamisega FAudio's ja täiendavate plaastrite kaasamisega, et lahendada probleeme erinevates mängurakendustes.
Uues versioonis Proton GE on üleminek Wine 7.1-ile koos Wine-staging 7.1 plaastritega tehtud (ametlikus Protonis kasutatakse endiselt Wine 6.3). Kõik muudatused on kantud vkd3d-proton, dxvk ja FAudio projektide git-repositooriumidest. Mänge Forza Horizon 5, Resident Evil 5, Persona 4 Golden, Progressbar95 ja Elder Scrolls Online on probleemid lahendatud.
Allikas: opennet.ru



