Se lanzó Wine 5.0

Se lanzó Wine 5.0El 21 de enero de 2020 se lanzó oficialmente la versión estable Wine 5.0 — de una herramienta libre para ejecutar programas nativos de Windows en un entorno UNIX. Esta es una implementación alternativa y libre de la API de Windows. El acrónimo recursivo WINE significa "Wine Is Not an Emulator".

Detrás de esta versión hay alrededor de un año de desarrollo y más de 7400 cambios individuales. El desarrollador principal Alexandre Julliard destaca cuatro:

  • Soporte para módulos en formato PE. Esto resuelve problemas con diferentes esquemas de protección contra copias que realizan verificaciones de módulos del sistema en disco y en memoria.
  • Soporte para múltiples monitores y múltiples GPU, incluyendo la capacidad de cambiar configuraciones dinámicamente.
  • Reimplementación de XAudio2 basada en el proyecto FAudio, una implementación abierta de bibliotecas de sonido de DirectX. El cambio a FAudio permite lograr una mejor calidad de sonido en los juegos, utilizar mezcla de volumen, efectos de sonido avanzados, entre otros.
  • Soporte para Vulkan 1.1.


Más detalles sobre las nuevas características clave.

Módulos PE

Con un compilador MinGW, la mayoría de los módulos de Wine ahora se compilan en formato de archivos ejecutables PE (Portable Executable, formato binario de Windows) en lugar de ELF.

Los archivos ejecutables PE ahora se copian en el directorio ~/.wine en lugar de usar archivos DLL ficticios, lo que hace que las aplicaciones sean más parecidas a instalaciones reales de Windows.

Aún no todos los módulos se han convertido al formato PE. El trabajo continúa.

Subsistema gráfico

Como se mencionó anteriormente, se ha añadido soporte para trabajar con múltiples monitores y adaptadores gráficos.

El controlador de Vulkan se ha actualizado a las especificaciones Vulkan 1.1.126.

Además, la biblioteca WindowsCodecs ahora es compatible con formatos de mapa de bits adicionales, incluidos formatos con paleta indexada.

Direct3D

Las aplicaciones de Direct3D en pantalla completa ahora bloquean la llamada al salvapantallas.

Para las aplicaciones DXGI, se ha implementado la posibilidad de alternar entre el modo de pantalla completa y el modo ventana utilizando la combinación estándar de Alt+Enter.

Se han ampliado las capacidades de Direct3D 12: soporte para alternar entre el modo de pantalla completa y el modo ventana, cambios en los modos de pantalla, presentaciones con escalado y intervalos de intercambio de búferes de representación (swap interval). Todas estas funciones ya se habían implementado en versiones anteriores de la API de Direct3D.

Los participantes del proyecto trabajaron arduamente y eliminaron literalmente cientos de errores, lo que mejoró el manejo de Wine en diversas situaciones límite. Entre ellas están el muestreo de recursos 2D en muestreadores 3D y viceversa, la aplicación de valores de entrada que exceden los rangos permitidos para pruebas de transparencia y profundidad, el renderizado con texturas reflejadas y búferes, el uso de recortadores incorrectos (objeto DirectDraw) y mucho más.

Se ha reducido el tamaño del espacio de direcciones necesario al cargar texturas 3D comprimidas mediante S3TC (en lugar de cargarse por completo, las texturas se cargan en partes).

Se han realizado diversas mejoras y correcciones en el cálculo de iluminación para aplicaciones DirectDraw antiguas.

Se ha ampliado la base de tarjetas gráficas reconocidas en Direct3D.

Red y criptografía

El motor Gecko se ha actualizado a la versión 2.47.1 para soportar herramientas modernas. Se ha implementado una serie de nuevas API HTML.

En MSHTML se ha implementado soporte para elementos SVG.

Se han añadido muchas nuevas funciones a VBScript (por ejemplo, manejadores de errores y excepciones).

Se ha implementado la posibilidad de obtener parámetros de configuración de proxy HTTP a través de DHCP.

En la parte criptográfica se ha implementado soporte para claves criptográficas basadas en curvas elípticas (ECC) a través de GnuTLS, se ha añadido la posibilidad de importar claves y certificados desde archivos en formato PFX, y se ha añadido soporte para el esquema de generación de clave basado en contraseña PBKDF2.

Se lanzó Wine 5.0
Adobe Photoshop CS6 en Wine

Otras novedades significativas

  • Soporte para spinlocks del núcleo NT.
  • Gracias a la expiración de la patente sobre la compresión de texturas DXTn, se ha podido incluir su implementación en la versión predeterminada.
  • Soporte para la instalación de controladores plug-and-play.
  • Diversas mejoras en DirectWrite.
  • Mejorada la compatibilidad con la API de Windows Media Foundation.
  • Mejor sincronización de primitivos gracias a su implementación en futexes.
  • Uso compartido de Wine-Mono para ahorrar espacio en lugar de la implementación de .NET de código abierto para cada instancia. ~/.wine.
  • Soporte para Unicode 12.0 y 12.1.
  • Implementación del servicio HTTP inicial (HTTP.sys) como reemplazo de Winsock API e IIS, lo que mejora el rendimiento en comparación con la API de Windows Sockets.
  • Mejor compatibilidad con depuradores de Windows.
  • Mejor soporte para LLVM MinGW y mejoras en la cross-compilación de WineGCC.

También se mencionan mejoras en la interfaz de usuario. Por ejemplo, ahora las ventanas minimizadas se muestran con una barra de título, en lugar de íconos al estilo de Windows 3.1. Se ha mejorado la compatibilidad con controladores de juegos, incluyendo el hat switch, el volante y los pedales.

Se han eliminado los decodificadores de AVI, MPEG-I y WAVE incorporados en Wine, y ahora se utilizan los sistemas GStreamer o QuickTime.

Se ha añadido la capacidad de aplicar un depurador de Visual Studio para la depuración remota de aplicaciones que se ejecutan en Wine, se ha implementado parcialmente la biblioteca DBGENG (Debug Engine) y se ha eliminado la dependencia de libwine de los archivos compilados para Windows.

Para optimizar el rendimiento, varias funciones relacionadas con el tiempo se han trasladado a utilizar funciones de sistema altamente eficientes para trabajar con temporizadores, lo que ha reducido los gastos generales en el ciclo de renderizado de muchos juegos. Se han realizado otras optimizaciones de rendimiento.

Lista completa de cambios ver. aquí.

Código fuente de Wine 5.0, espejo
Binarios para varias distribuciones
La documentación

se indica que: AppDB se mantiene una base de aplicaciones de Windows compatibles con Wine. Aquí están los líderes por número de votos:

  1. Final Fantasy XI
  2. Adobe Photoshop CS6 (13.0)
  3. World of Warcraft 8.3.0
  4. EVE Online Actual
  5. Magic: The Gathering Online 4.x

Se puede suponer que estas aplicaciones son las que más se ejecutan en Wine.

Nota. La versión Wine 5.0 está dedicada a la memoria de Józef Kucia, quien falleció trágicamente en agosto de 2019 a la edad de 30 años mientras exploraba una cueva en el sur de Polonia. Józef fue un participante importante en el desarrollo de Direct3D en Wine, así como el autor principal del proyecto. vkd3dDurante su tiempo en el proyecto Wine, contribuyó con más de 2500 parches.

Se lanzó Wine 5.0

Fuente: habr.com

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster