A distanza di un anno dal rilascio della precedente major release il team di sviluppo del noto layer di compatibilità per i programmi Windows su Linux ha rilasciato Wine 7.0.
Acronimo di Wine is not an emulator, la nuova versione integra un layer di compatibilità largamente riscritto e ottimizzato: grazie a una rinnovata implementazione delle API di Windows per Unix e per i sistemi Unix-like, è possibile eseguibile applicazioni compilate per il sistema operativo Microsoft su Linux, macOS, FreeBSD e così via.
Wine è uno dei progetti di più lungo corso che esistono (la prima versione risale addirittura al 1993) ma a causa della diffusione di applicazioni multipiattaforma nell’ultimo decennio ha perso un po’ dello smalto di un tempo.
La comparsa di Proton, layer di compatibilità per l’esecuzione di videogiochi nativi Windows su sistemi operativi Linux sviluppato da Valve e basato su Wine, ha riportato l’attenzione sul progetto che può essere considerato come uno dei più preziosi lavori di reverse engineering nell’ambito del software libero.
In Wine 7.0 è stata implementata l’architettura WoW64 (Windows 32-bit on Windows 64-bit) che supporta l’esecuzione di applicazioni Windows a 32 bit su sistemi Unix a 64 bit.
Tutti i moduli sono ora compilati in formato PE con alcune eccezioni: grazie alla compatibilità con WoW64 sarà possibile eseguire applicazioni Windows a 32 bit su Unix a 64 bit senza la necessità di installare le librerie a 32 bit.
A parte le tante migliorie “sotto il cofano”, gli sviluppatori si sono concentrati sull’aspetto dell’usabilità con nuovi temi grafici e il supporto per i display high-DPI e le applicazioni compatibili. In un altro articolo parliamo di differenze tra PPI e DPI.
Gli sviluppatori di Wine hanno implementato una nuova libreria Win32u per la gestione della grafica e delle finestre: ampie porzioni delle librerie GDI32 e USER32 di Windows sono state portate in Win32u.
È stata inoltre migliorata la compatibilità con il driver Vulkan assicurando il funzionamento con i programmi che si servono delle librerie Direct3D 10 e 11.
Un’altra novità legata a Direct3D è il supporto per i monitor multipli mentre la gestione di codice Direct3D 12 richiede la versione 1.2 o successiva della libreria VKD3D.
Tanti interventi accessori riguardano gli aspetti multimediali e la compatibilità con il framework .NET di Microsoft attraverso il motore Mono.
Per maggiori informazioni è possibile fare riferimento all’annuncio ufficiale di Wine 7.0.