Wine es una herramienta que permite ejecutar programas compilados de Windows en Linux o Unix. La principal novedad es que no funciona como un emulador sino que integra una capa de compatibilidad.
Un año después del último lanzamiento, el equipo de desarrollo ha presentado Wine 7.0, que llega con nuevas mejoras y una mejor compatibilidad entre sistemas.
Acrónimo de Wine is not an emulator, la nueva versión integra una capa de compatibilidad optimizada: gracias a una renovada implementación de la API de Windows para Linux, es posible ejecutar aplicaciones compiladas del sistema operativo Microsoft en sistemas Linux, macOS, FreeBSD, etc.
Wine es uno de los proyectos más longevos que existen (la primera versión data de 1993) pero debido a la expansión de las aplicaciones multiplataforma en la última década, ha perdido parte de su antiguo esplendor.
La aparición de Proton, una capa de compatibilidad para ejecutar videojuegos nativos de Windows en sistemas operativos Linux desarrollada por Valve y basada en Wine, ha llamado la atención sobre el proyecto que puede considerarse como uno de los trabajos de ingeniería inversa más valiosos del software libre.
En Wine 7.0 se ha implementado la arquitectura WoW64 (Windows de 32 bits en Windows de 64 bits) que admite la ejecución de aplicaciones de Windows de 32 bits en sistemas Unix de 64 bits.
Todos los módulos están compilados en formato PE con algunas excepciones: gracias a la compatibilidad con WoW64, será posible ejecutar aplicaciones de Windows de 32 bits en Unix de 64 bits sin necesidad de instalar bibliotecas de 32 bits.
Aparte de las muchas mejoras, los desarrolladores se han centrado en el aspecto de usabilidad con nuevos temas gráficos y soporte para pantallas de alto DPI y aplicaciones compatibles.
Los desarrolladores de Wine han implementado una nueva biblioteca Win32u para gráficos y gestión de ventanas: gran parte de las bibliotecas GDI32 y USER32 de Windows se han trasladado a Win32u.
También ha mejorado la compatibilidad con el controlador Vulkan, al garantizar que funcione con programas con Direct3D 10 y 11.
Otra innovación relacionada con Direct3D es la compatibilidad con varios monitores, mientras que la gestión de código de Direct3D 12 requiere la versión 1.2 o posterior de la biblioteca VKD3D.
Otras muchas mejoras son sobre multimedia y compatibilidad con la arquitectura .NET de Microsoft a través del motor Mono.