
El 21 de enero de 2020, tuvo lugar el lanzamiento oficial de la versión estable de
Wine 5.0 , la herramienta gratuita para lanzar programas nativos de Windows en un entorno UNIX. Esta es una implementación alternativa y gratuita de la API de Windows. El acrónimo recursivo WINE significa "El vino no es un emulador".
Esta versión tiene aproximadamente un año de desarrollo y más de 7400 cambios individuales. El desarrollador principal Alexander Julliard identifica cuatro:
- Soporte para módulos en formato PE. Esto resuelve los problemas con diferentes esquemas de protección de copia que verifican los módulos del sistema en el disco y en la memoria.
- Soporte para múltiples monitores y múltiples GPU, incluida la configuración de cambio dinámico.
- Reimplementación de XAudio2 basada en el proyecto FAudio, una implementación de código abierto de bibliotecas de sonido DirectX. Cambiar a FAudio le permite lograr una mayor calidad de sonido en los juegos, usar mezclas de volumen, efectos de sonido avanzados, etc.
- Soporte para Vulkan 1.1.
Más detalles sobre innovaciones clave.
Módulos PE
Con el compilador MinGW, la mayoría de los módulos Wine ahora se compilan en formato PE (Portable Ejecutable, binario de Windows) en lugar de ELF.
Los ejecutables de PE ahora se copian en el
~/.wine
lugar de usar DLL ficticios, lo que hace que las aplicaciones se
~/.wine
más a las instalaciones reales de Windows.
Hasta ahora, no todos los módulos se han convertido al formato PE. El trabajo continúa.
Subsistema de gráficos
Como se mencionó anteriormente, se agregó soporte para trabajar con múltiples monitores y adaptadores gráficos.
Controlador Vulkan actualizado a las especificaciones Vulkan 1.1.126.
Además, la biblioteca WindowsCodecs ahora admite formatos ráster adicionales, incluidos los formatos de paleta indexada.
Direct3d
Las aplicaciones de pantalla completa de Direct3D ahora bloquean la llamada del protector de pantalla.
Para aplicaciones DXGI, es posible cambiar entre los modos de pantalla completa y ventana usando la combinación estándar Alt + Enter.
Las funciones de Direct3D 12 se expanden: soporte para cambiar entre los modos de pantalla completa y ventana, cambiar los modos de pantalla, las vistas escaladas y el reemplazo del intervalo de intercambio Todas estas características ya se han implementado para versiones anteriores de la API de Direct3D.
Los participantes del proyecto elaboraron cuidadosamente y eliminaron literalmente cientos de errores, de modo que se mejoró el procesamiento del vino para diversas situaciones fronterizas. Entre ellos se encuentran el muestreo de recursos 2D en muestreadores 3D y viceversa, el uso de valores iniciales fuera de rango para pruebas de transparencia y profundidad, renderizado con texturas reflejadas y buffers, el uso de recortadores incorrectos (objeto DirectDraw) y mucho más.
Se redujo el tamaño del espacio de direcciones requerido al cargar texturas 3D comprimidas por el método S3TC (en lugar de cargar las texturas completas se cargan con piezas).
Para aplicaciones anteriores de DirectDraw, se han realizado varias mejoras y correcciones relacionadas con el cálculo de la iluminación.
La base de tarjetas gráficas reconocidas en Direct3D se ha ampliado.
Red y criptografía
El motor Gecko se actualizó a la versión 2.47.1 para admitir herramientas modernas. Se han implementado varias API HTML nuevas.
MSHTML implementa soporte para elementos SVG.
Se han agregado muchas funciones nuevas de VBScript (por ejemplo, controladores de errores y excepciones).
Se implementó la capacidad de obtener configuraciones de proxy HTTP a través de DHCP.
En la parte criptográfica, se implementa el soporte para claves criptográficas basadas en curvas elípticas (ECC) a través de GnuTLS, se agrega la capacidad de importar claves y certificados de archivos en formato PFX, se agrega soporte para el esquema de generación de claves basado en la contraseña PBKDF2.
Adobe Photoshop CS6 en WineOtras innovaciones significativas
- Soporte para spinlocks del kernel NT.
- Debido a la expiración de la patente para la compresión de textura, DXTn y S3, fue posible incluirlos en la implementación predeterminada.
- Soporte para instalar controladores plug-and-play.
- Varias mejoras a DirectWrite.
- Soporte mejorado para la API de Windows Media Foundation.
- Mejor sincronización primitiva gracias a la implementación en futexes.
- Compartir Wine-Mono para ahorrar espacio en lugar de la implementación de código abierto .NET para cada
~/.wine
.
- Soporte para Unicode 12.0 y 12.1.
- Implementar el servicio HTTP inicial (HTTP.sys) como un reemplazo para la API Winsock y IIS, lo que resulta en un mejor rendimiento que la API de Windows Sockets.
- Mejor compatibilidad con depuradores de Windows.
- Mejor soporte para LLVM MinGW y compilación cruzada mejorada de WineGCC.
También puede mencionar las mejoras en la interfaz de usuario. Por ejemplo, las ventanas minimizadas ahora se muestran usando la barra de título, en lugar de los iconos de estilo Windows 3.1. Compatibilidad mejorada para controladores de juegos, incluido el interruptor de sombrero, volante y pedales.
Los decodificadores integrados AVI, MPEG-I y WAVE se han eliminado de Wine, en lugar de los cuales ahora se utilizan el sistema GStreamer o QuickTime.
Se agregó la capacidad de usar el depurador de Visual Studio para la depuración remota de aplicaciones que se ejecutan en Wine, la biblioteca DBGENG (motor de depuración) se implementa parcialmente, la dependencia de libwine se elimina de los archivos recopilados para Windows.
Para optimizar el rendimiento, varias funciones de trabajo finalmente se transfirieron al uso de funciones del sistema de alto rendimiento para trabajar con un temporizador, lo que permitió reducir la sobrecarga en el ciclo de renderizado de muchos juegos. Se han realizado otras optimizaciones de rendimiento.
Vea la lista completa de cambios
aquí .
Código fuente Wine 5.0 ,
espejoBinarios para varias distribuciones.La documentaciónEl
sitio web de
AppDB mantiene una base de datos de aplicaciones compatibles con Windows compatibles con Wine. Aquí están los líderes en el
número de votos :
- Final Fantasy XI
- Adobe Photoshop CS6 (13.0)
- World of Warcraft 8.3.0
- EVE Online Current
- Magic: The Gathering Online 4.x
Se puede suponer que estas aplicaciones se ejecutan con mayor frecuencia en Wine.
Nota La versión Wine 5.0 está dedicada a la memoria de Józef Kucia, quien murió trágicamente en agosto de 2019 a la edad de 30 años mientras exploraba una cueva en el sur de Polonia. Jozef fue un contribuyente importante para Direct3D Wine, y un autor principal del proyecto vkd3d . Mientras trabajaba en Wine, contribuyó con más de 2500 parches.