È stata presentata l'uscita del progetto Bottles 2022.1.28, che sviluppa un'applicazione per semplificare l'installazione, la configurazione e l'avvio delle applicazioni Windows su Linux basata su Wine o Proton. Il programma fornisce un'interfaccia per gestire i prefissi che definiscono l'ambiente Wine e le impostazioni per avviare le applicazioni, oltre a strumenti per l'installazione delle dipendenze necessarie per un funzionamento corretto dei programmi avviati. Il codice del progetto è scritto in Python ed è distribuito con licenza GPLv3. Il programma è fornito in formato Flatpak e in pacchetti per Arch Linux.
Invece dello script Winetricks, Bottles utilizza un sistema completo di gestione delle dipendenze per installare librerie aggiuntive, il cui funzionamento ricorda quello dei gestori di pacchetti delle distribuzioni. Per un'applicazione Windows avviata, viene definita una lista di dipendenze (biblioteche DLL, font, runtime, ecc.) che devono essere scaricate e installate per un corretto funzionamento, tenendo conto che ogni dipendenza può avere proprie dipendenze.

Bottles fornisce un repository con informazioni sulle dipendenze per vari programmi e librerie, oltre a strumenti per la gestione centralizzata delle dipendenze. Tutte le dipendenze installate vengono tracciate, quindi, al momento della disinstallazione del programma, è possibile rimuovere anche le dipendenze correlate, se non utilizzate per l'avvio di altre applicazioni. Questo approccio consente di non dover installare una versione separata di Wine per ogni applicazione e di utilizzare un unico ambiente Wine per avviare il maggior numero possibile di applicazioni.

Per lavorare con i prefissi Windows, Bottles utilizza il concetto di ambienti, che offrono impostazioni pronte, librerie e dipendenze per un certo tipo di applicazioni. Sono offerti ambienti di base: Gaming — per i giochi, Software — per programmi applicativi e Custom — ambiente pulito per esperimenti personali. Nell'ambiente per giochi sono inclusi DXVK, VKD3D, Esync, nei sistemi con grafica ibrida è attivata la scheda grafica discreta e in PulseAudio sono incluse impostazioni per migliorare la qualità del suono. Nell'ambiente per applicazioni sono incluse impostazioni adatte sia per programmi multimediali che per applicazioni per ufficio.

Se necessario, è possibile installare diverse versioni di wine, proton e dxvk e passare tra di esse al volo. È possibile importare ambienti da altri gestori Wine, come Lutris e PlayOnLinux. Gli ambienti vengono avviati utilizzando l'isolamento sandbox, separati dal sistema principale e hanno accesso solo ai dati necessari nella directory home. È fornito supporto per il controllo delle versioni, che salva automaticamente lo stato prima di installare ogni nuova dipendenza e consente di tornare a uno dei precedenti stati in caso di problemi.

Tra le novità nella nuova versione:
- È stato aggiunto un nuovo backend per la gestione di Wine, composto da tre componenti: WineCommand, WineProgram ed Executor.
- Sono stati proposti diversi gestori per WineProgram:
- reg, regedit — per lavorare con il registro, consente con una singola chiamata di modificare più chiavi.
- net — per gestire i servizi.
- wineserver — per controllare il funzionamento del processo manager Bottles.
- start, msiexec e cmd — per lavorare con collegamenti .lnk e file .msi/.batch.
- taskmgr — gestore attività.
- wineboot, winedbg, control, winecfg.
- È stato implementato un gestore di esecuzione (Executor), che all'avvio di un file eseguibile chiama automaticamente il gestore necessario a seconda dell'estensione del file (.exe, .lnk, .batch, .msi).
- È stata fornita la possibilità di eseguire comandi in un ambiente completo o ridotto.
- È stato aggiunto il supporto per la sincronizzazione tramite la chiamata di sistema futex_waitv (Futex2), introdotta nel kernel Linux 5.16. È stato aggiunto un gestore Caffe, basato su Wine 7 e che supporta il meccanismo di sincronizzazione Futex2.
- Per gli installatori è stata implementata la possibilità di modificare i file di configurazione (json, ini, yaml).
- È stato aggiunto il supporto per nascondere gli elementi nell'elenco dei programmi.

- È stata aggiunta una nuova finestra di dialogo per mostrare il contenuto dei file manifest per le dipendenze e gli installatori.

- È stata aggiunta una funzione di ricerca nell'elenco degli installatori disponibili.

Inoltre, si segnala la pubblicazione della versione del progetto Proton 7.1-GE-1, nell'ambito della quale gli appassionati stanno creando build avanzate indipendenti dalla società Valve per eseguire applicazioni Windows Proton, caratterizzate da una versione più recente di Wine, dall'uso di FFmpeg in FAudio e dall'inclusione di patch aggiuntive che risolvono problemi in varie applicazioni di gioco.
Nella nuova versione di Proton GE è avvenuto il passaggio a Wine 7.1 con le patch da Wine-staging 7.1 (nella versione ufficiale di Proton continua a essere utilizzato Wine 6.3). Sono state trasferite tutte le modifiche dai repository git dei progetti vkd3d-proton, dxvk e FAudio. Risolti i problemi nei giochi Forza Horizon 5, Resident Evil 5, Persona 4 Golden, Progressbar95 ed Elder Scrolls Online.
Fonte: opennet.ru



