Lanzamiento estable de Wine 5.0

Después de un año de desarrollo y 28 versiones experimentales presentado versión estable de la implementación de código abierto de la API Win32 — Vino 5.0, que incluye más de 7400 cambios. Entre los avances clave de la nueva versión se incluyen la incorporación de módulos Wine integrados en formato PE, compatibilidad con configuraciones multimonitor, una nueva implementación de la API de sonido XAudio2 y compatibilidad con la API de gráficos Vulkan 1.1.

En el vino confirmado por trabajo completo de 4869 (hace un año 4737) programas para WindowsOtros 4136 programas (4045 hace un año) funcionan perfectamente con configuraciones adicionales y DLL externas. 3635 programas presentan problemas menores que no interfieren con la funcionalidad básica de las aplicaciones.

Llave innovaciones Vino 5.0:

  • Módulos en formato PE
    • Con el compilador MinGW, la mayoría de los módulos de Wine ahora se compilan en PE (Portable Executable, utilizado en Windows) en lugar de ELF. El uso de PE resuelve el problema de admitir varios esquemas de protección contra copias que verifican la identidad de los módulos del sistema en el disco y en la memoria;
    • Ahora, los ejecutables PE se copian al directorio ~/.wine ($WINEPREFIX) en lugar de usar archivos DLL ficticios, lo que hace que la instalación sea más similar a las instalaciones reales. Windows, a costa de consumir espacio adicional en el disco;
    • Los módulos convertidos al formato PE pueden utilizar el estándar wchar Funciones y constantes de C con Unicode (por ejemplo, L»abc»);
    • El entorno de ejecución de Wine C ahora admite la vinculación con binarios creados con MinGW, que se utiliza de manera predeterminada en lugar del entorno de ejecución de MinGW al crear DLL;
  • Subsistema de gráficos
    • Se agregó soporte para trabajar con múltiples monitores y adaptadores gráficos, incluida la capacidad de cambiar configuraciones dinámicamente;
    • El controlador de la API de gráficos Vulkan se ha actualizado para cumplir con la especificación Vulkan 1.1.126;
    • En biblioteca WindowsCodecs implementa la capacidad de convertir formatos ráster adicionales, incluidos formatos con una paleta indexada;
  • Direct3D
    • Al ejecutar aplicaciones Direct3D en pantalla completa, la llamada del protector de pantalla se bloquea;
    • DXGI (DirectX Graphics Infrastructure) ahora permite informar a una aplicación que su ventana se ha minimizado, lo que permite que la aplicación reduzca la cantidad de operaciones que consumen muchos recursos cuando la ventana está minimizada;
    • Para las aplicaciones que utilizan DXGI, se ha implementado la capacidad de cambiar entre los modos de pantalla completa y ventana utilizando la combinación Alt+Enter;
    • Se han ampliado las capacidades de implementación de Direct3D 12, por ejemplo, se ha agregado soporte para cambiar entre modos de pantalla completa y ventana, cambiar modos de pantalla, salida con escala y controlar el intervalo de intercambio para buffers de renderizado;
    • Manejo mejorado de varios casos extremos, como el uso de valores de origen fuera de rango para pruebas de transparencia y profundidad, renderizado con texturas y buffers reflejados, y el uso de objetos DirectDraw no válidos presilla, creando dispositivos Direct3 para ventanas incorrectas, utilizando áreas visibles cuyos valores mínimos de parámetros son iguales a los máximos, etc.
    • Direct3D 8 y 9 proporcionan un seguimiento más preciso.sucio» áreas de texturas cargadas;
    • Se redujo el espacio de direcciones requerido al cargar texturas 3D comprimidas usando el método S3TC (en lugar de cargarlas en su totalidad, las texturas se cargan en fragmentos).
    • Se ha implementado la interfaz ID3D11Multihilo para proteger secciones críticas en aplicaciones multiproceso;
    • Se han realizado varias mejoras y correcciones relacionadas con los cálculos de iluminación para aplicaciones DirectDraw más antiguas;
    • Se implementaron llamadas adicionales para obtener información del sombreador en la API Reflexión de sombreado;
    • Wined3d ahora es compatible blitter Basado en CPU para procesar recursos comprimidos;
    • Se ha ampliado la base de datos de tarjetas gráficas reconocidas en Direct3D;
    • Se añadieron nuevas claves de registro a HKEY_CURRENT_USER\Software\Wine\Direct3D: "shader_backend" (backend para trabajar con sombreadores: "glsl" para GLSL, "arb" para vértices/fragmentos ARB y "none" para deshabilitar la compatibilidad con sombreadores), "strict_shader_math" (0x1: habilitar, 0x0: deshabilitar la conversión de sombreadores Direct3D). La clave "UseGLSL" ha quedado obsoleta (use "shader_backend");
  • D3DX
    • Se implementó soporte para el mecanismo de compresión de textura 3D S3TC (S3 Texture Compression);
    • Se agregaron implementaciones correctas de operaciones como relleno de texturas y superficies no mapeables;
    • Se han realizado varias mejoras y correcciones en el marco de creación. efectos visuales;
  • Núcleo (interfaces del núcleo) Windows)
    • La mayoría de las funciones utilizadas en Kernel32 se han trasladado a
      KernelBase, tras los cambios en la arquitectura Windows;
    • La capacidad de combinar DLL de 32 y 64 bits en los directorios utilizados para la carga. Se aseguró que las bibliotecas que no coincidan con el bitness actual (32/64), en caso de que más adelante en el camino sea posible encontrar una biblioteca que sea correcta para la profundidad de bits actual;
    • Emulación de objetos de kernel mejorada para controladores de dispositivos;
    • Se implementaron objetos de sincronización a nivel de kernel, como spinlocks, mutex rápidos y variables adjuntas a recursos;
    • Se aseguró de que las aplicaciones estén correctamente informadas sobre el estado de la batería;
  • Interfaz de usuario e integración de escritorio
    • Las ventanas minimizadas ahora se muestran mediante una barra de título en lugar de un icono de estilo. Windows 3.1;
    • Se agregaron nuevos estilos de botones SplitButton (botón con una lista desplegable de acciones) y Enlaces de comando (enlaces en cuadros de diálogo utilizados para pasar a la siguiente etapa);
    • Se han creado enlaces simbólicos para las carpetas 'Descargas' y 'Plantillas', que apuntan a los directorios correspondientes en los sistemas Unix;
  • Dispositivos de entrada
    • Al iniciar, se instalan y cargan los controladores de dispositivo Plug & Play necesarios;
    • Soporte mejorado para controladores de juego, incluido el interruptor de sombrero, el volante y los pedales del acelerador y del freno.
    • Se ha interrumpido el soporte para la versión anterior. Linux API de interacción con joystick utilizada en los núcleos Linux hasta la versión 2.2;
  • .NET
    • El motor Mono se ha actualizado a la versión 4.9.4 y ahora incluye partes del framework. Windows Fundación de Presentación (WPF);
    • Se agregó la capacidad de instalar complementos con Mono y Gecko en un directorio común colocando archivos en la jerarquía /usr/share/wine en lugar de copiarlos a nuevos prefijos;
  • Funciones de red
    • El motor de navegación Wine Gecko, utilizado en la biblioteca MSHTML, se ha actualizado a la versión 2.47.1. Se ha implementado la compatibilidad con nuevas API HTML.
    • MSHTML implementa soporte para elementos SVG;
    • Se han agregado muchas funciones nuevas de VBScript (por ejemplo, controladores de errores y excepciones, funciones Hora, Día, Mes, Cadena, LBound, RegExp.Replace, РScriptTypeInfo_* y ScriptTypeComp_Bind*, etc.);
    • Se proporcionó preservación del estado del código en VBScript y JScript (persistencia del script);
    • Se agregó la implementación inicial del servicio HTTP (WinHTTP) y su API asociada (HTTPAPI) para aplicaciones de cliente y servidor que envían y reciben solicitudes utilizando el protocolo HTTP;
    • Se ha implementado la capacidad de obtener parámetros de configuración de proxy HTTP a través de DHCP;
    • Se agregó soporte para redirigir solicitudes de autenticación a través del servicio Microsoft Passport;
  • Criptografía
    • Se implementó soporte para claves criptográficas de curva elíptica (ECC) cuando se utiliza GnuTLS;
    • Se agregó la capacidad de importar claves y certificados desde archivos PFX;
    • Se agregó soporte para el esquema de generación de claves basado en contraseña PBKDF2;
  • Texto y fuentes
    • La implementación de la API DirectWrite agrega soporte para funciones OpenType relacionadas con posicionamiento de glifos, que están habilitados de forma predeterminada para el tipo de letra latino, incluido el kerning;
    • Se ha mejorado la seguridad del procesamiento de datos de fuentes comprobando la exactitud de varias tablas de datos antes de usarlas;
    • Las interfaces DirectWrite se han adaptado al último SDK;
  • sonido y video
    • Se ha propuesto una nueva implementación de la API de sonido XAudio2, construido sobre la base del proyecto FAudioEl uso de FAudio en Wine le permite lograr un sonido de mayor calidad en los juegos y aprovechar funciones como la mezcla de volumen y los efectos de sonido avanzados;
    • Se ha agregado una gran cantidad de nuevas llamadas a la implementación del marco de Media Foundation, incluido soporte para colas asincrónicas personalizadas e integradas, la API de lector de origen, sesión de medios y más.
    • Se ha cambiado el filtro de captura de vídeo para utilizar la API v4l2 en lugar de la API v4l1, lo que ha ampliado la gama de cámaras compatibles;
    • Se han eliminado los decodificadores AVI, MPEG-I y WAVE incorporados y ahora se utilizan en su lugar el sistema GStreamer o QuickTime;
    • Se agregó un subconjunto de API de configuración de VMR7;
    • Se ha añadido a los controladores de sonido soporte para ajustar el volumen de canales individuales;
  • Internacionalización
    • Tablas Unicode actualizadas a la versión 12.1.0;
    • Se implementó soporte para la normalización Unicode;
    • Se proporciona configuración automática de la región geográfica (HKEY_CURRENT_USER\Control Panel\International\Geo) en función de la configuración regional actual;
  • RPC/COM
    • Se ha añadido a typelib soporte para estructuras y matrices complejas;
    • Se agregó la implementación inicial de la biblioteca de tiempo de ejecución. Windows Guión;
    • Se agregó la implementación inicial de la biblioteca ADO (Microsoft ActiveX Data Objects);
  • Instaladores
    • Se ha implementado soporte para suministrar parches (archivos de parche) para el instalador MSI;
    • En la empresa de servicios públicos WUSA (Windows La actualización mediante el instalador independiente ahora permite instalar actualizaciones en formato .MSU;
  • Plataforma ARM
    • Para la arquitectura ARM64, se agregó soporte para desenrollar la pila a ntdll. Se agregó soporte para conectar bibliotecas libunwind externas;
    • Para la arquitectura ARM64, se ha implementado soporte para servidores proxy sin stub para interfaces de objetos;
  • Herramientas de desarrollo / Winelib
    • Se agregó la capacidad de usar el depurador de Visual Studio para depurar de forma remota aplicaciones que se ejecutan en Wine;
    • La biblioteca DBGENG (Debug Engine) se ha implementado parcialmente;
    • Recopilado para Windows Los ejecutables ya no dependen de libwine, lo que permite que se ejecuten en Windows ninguna dependencia adicional;
    • El compilador de recursos y el compilador IDL ahora tienen la opción '--sysroot' para especificar la ruta a los archivos de encabezado;
    • Se agregaron las opciones '--target', '--wine-objdir' a winegcc.
      '--winebuild' y '-fuse-ld', que simplifican la configuración del entorno para la compilación cruzada;
  • Aplicaciones integradas
    • Se ha implementado la utilidad CHCP para configurar la codificación de la consola;
    • Se ha implementado la utilidad MSIDB para manipular bases de datos en formato MSI;
  • Optimización del rendimiento
    • Se han migrado varias funciones de gestión del tiempo para utilizar funciones de temporizador del sistema de alto rendimiento, lo que reduce la sobrecarga del bucle de renderizado en muchos juegos;
    • Se agregó la capacidad de usar Ext4 en el FS regimen trabajo que no distingue entre mayúsculas y minúsculas;
    • Se ha optimizado el rendimiento del procesamiento de una gran cantidad de elementos en cuadros de diálogo de salida de lista que funcionan en modo LBS_NODATA;
    • Se agregó una implementación más rápida de bloqueos SRW (Slim Reader/Writer) para Linux, traducido a Futex;
  • Dependencias externas
    • Para construir módulos en formato PE, se utiliza el compilador cruzado MinGW-w64;
    • La implementación de XAudio2 requiere la biblioteca FAudio;
    • Para rastrear cambios de archivos en sistemas BSD
      Se utiliza la biblioteca Inotify;
    • Para manejar excepciones en la plataforma ARM64, se requiere la biblioteca Unwind;
    • En lugar de Video4Linux1 ahora requiere la biblioteca Video4Linux2.

Fuente: opennet.ru

Compre alojamiento confiable para sitios con protección DDoS, servidores VPS VDS 🔥 Compra alojamiento web fiable con protección DDoS, servidores VPS VDS | ProHoster