Lanzamiento estable de Wine 10.0

Luego de un año de desarrollo y 29 versiones experimentales, se presentó una versión estable de la implementación abierta de la API Win32: Wine 10.0, que incorporó más de 6000 cambios. Los logros clave de la nueva versión incluyen soporte total para la arquitectura ARM64EC, escalado en pantallas con alta densidad de píxeles, inclusión del controlador Wayland de forma predeterminada, implementación de paneles para configurar la pantalla y el joystick, un backend multimedia alternativo basado en FFmpeg, Bluetooth controlador, soporte Vulkan 1.4, capacidad de emulación para cambiar modos de video.

Se ha confirmado que 5372 programas funcionan correctamente en Wine. Windows (5336 hace un año, 5266 hace dos años, 5156 hace tres años), otros 4435 programas (4397 hace un año, 4370 hace dos años, 4312 hace tres años) funcionan bien con configuraciones adicionales y DLL externas. 4020 programas (3943 hace un año, 3888 hace dos años, 3813 hace tres años) tienen problemas menores que no interfieren con la funcionalidad básica de las aplicaciones.

Innovaciones clave en Wine 10.0:

  • ARM64
    • Se proporciona soporte completo para la arquitectura ARM64EC (compatible con emulación ARM64), cuyo nivel de soporte en Wine ha alcanzado la paridad con la arquitectura ARM64. La arquitectura ARM64EC está diseñada para simplificar la migración de aplicaciones escritas originalmente para sistemas x64_86 a sistemas ARM64 y permite que módulos de código x64_86 individuales se ejecuten en el entorno ARM64 mediante un emulador.
    • Se ha implementado soporte completo para el formato de archivo ARM64X PE, lo que le permite combinar código para las arquitecturas ARM64EC y ARM64 en un archivo ejecutable. Para compilar Wine en el formato ARM64X, necesita instalar LLVM desde Git (la funcionalidad necesaria se incluirá en la versión LLVM 20) y cuando ejecute el script "configure", especifique la opción "-enable-archs=arm64ec,aarch64". .
    • Se ha implementado una interfaz para emular sistemas x64 de 86 bits. Cuando se usa ARM64EC, Wine se ejecuta tal cual y la emulación solo se aplica al código de aplicación x86-64. La biblioteca con el emulador aún no está incluida en el paquete principal de Wine, pero para ejecutar código x86-64 en el entorno ARM64, puede utilizar el emulador FEX externo creado con soporte ARM64EC.
    • La compatibilidad con ARM64 requiere que el sistema utilice páginas de memoria de 4 KB, tal como lo exige la ABI. Windows (ejecutándose en entornos con núcleos Linux(El uso de páginas de memoria de 16K o 64K aún no es compatible).
  • Subsistema de gráficos
    • Se implementó un escalado más preciso en pantallas con alta densidad de píxeles (High-DPI). Se ha proporcionado soporte para el modo DPI Awareness para organizar la visualización de aplicaciones en pantallas con alta densidad de píxeles, teniendo en cuenta si la aplicación admite la adaptación a los cambios de DPI o no (las aplicaciones que no tienen en cuenta DPI se escalan automáticamente). Se agregaron opciones para anular la compatibilidad con alto DPI para aplicaciones individuales o prefijos de Wine.
    • Se agregó compatibilidad con la especificación Vulkan 1.4 al controlador de la API de gráficos Vulkan (Vulkan 9.0 era compatible con Wine 1.3.272). Se agregó soporte para extensiones Vulkan para codificación y decodificación de video.
    • Al usar el backend X11, se implementó la capacidad de representar ventanas secundarias de Vulkan para aplicaciones que usan dichas ventanas para mostrar contenido 3D (anteriormente, dicha característica solo estaba disponible para OpenGL).
    • Se ha agregado soporte para el mecanismo de vinculación de fuentes a la biblioteca GdiPlus, que le permite usar varias fuentes al mostrar texto si no hay fuentes que cubran por separado todos los caracteres que se encuentran en el texto.
  • Wayland
    • La configuración predeterminada incluye el controlador winewayland.drv, que permite que Wine se ejecute en entornos basados ​​en Wayland sin usar componentes XWayland o X11. Wine inicia las aplicaciones predeterminadas directamente en Wayland solo si XWayland no está disponible; de ​​lo contrario, XWayland es el lanzador preferido. Para forzar Wayland, puede usar la variable de entorno DISPLAY o agregar una clave de registro creando un archivo .reg. Windows Editor del Registro Versión 5.00 [HKEY_CURRENT_USER\Software\Wine\Drivers] "Graphics" = "wayland" y aplíquelo con el comando: $ WINEPREFIX = /ruta/al/prefijo wine regedit /ruta/al/archivo.reg
    • Se agregó soporte para OpenGL y buffers de píxeles (pBuffer) al controlador Winewayland.drv.
    • Se resolvieron problemas con el posicionamiento de ventanas emergentes en entornos basados ​​en Wayland.
    • Cuando se usa Wayland, se implementa la compatibilidad con la repetición automática de pulsaciones mientras se mantienen presionadas las teclas.
  • Integración de escritorio
    • Se agregó un mecanismo de emulación experimental de "configuración de modos" que le permite emular el cambio de modos de video sin cambiar realmente la configuración de la pantalla. La visibilidad de cambiar la resolución de la pantalla sin cambiar el modo de video se crea expandiendo y escalando ventanas.
    • Se ha agregado un nuevo subprograma del Panel de control de escritorio (desk.cpl) con la implementación de una interfaz para administrar la configuración de pantalla (por ejemplo, puede cambiar la resolución virtual del escritorio o configurar parámetros de pantalla emulados).
    • Se agregó la capacidad de restablecer la configuración de la pantalla a los valores predeterminados si es imposible restaurar el estado después de una falla del proceso.
    • Se agregó soporte para deshabilitar la visualización de iconos en la bandeja del sistema (en "HKLM\Software\Microsoft\WindowsEn "\CurrentVersion\Policies\Explorer" debe especificarse "NoTrayItemsDisplay=1").
    • Se agregó soporte para deshabilitar shells (Shell launcher) en modo escritorio (en "HKLM\Software\Microsoft\WindowsEn "\CurrentVersion\Policies\Explorer" debe especificarse "NoDesktop=1".
  • Direct3D
    • El renderizado con OpenGL ahora requiere compatibilidad con GLSL 1.20, así como con las extensiones EXT_framebuffer_object y ARB_texture_non_power_of_two. Se ha interrumpido la compatibilidad con el antiguo backend del sombreador ARB y la configuración OffscreenRenderingMode.
    • Para Direct3D 9 y versiones anteriores, se agregó una canalización de gráficos de función fija (el antiguo Direct3D solo proporcionaba operaciones de gráficos predefinidas que no se podían cambiar), implementada usando el lenguaje de sombreado HLSL y permitiendo la emulación de funciones fijas al renderizar a través de la API Vulkan u OpenGL.
    • El renderizado con Vulkan utiliza extensiones de Vulkan para cambiar dinámicamente el estado del proceso de gráficos, lo que reduce la tartamudez en los juegos.
    • Se agregó backend glsl-vkd3d alternativo para sombreadores GLSL, usando vkd3d-shader.
    • Se proporcionó soporte inicial para compilar efectos Direct3D usando vkd3d-shader.
    • La biblioteca D3DX9 implementa la capacidad de generar texturas MIP (MipMap) al cargar texturas volumétricas. Se agregó soporte para formatos de representación de color RGBA de 64 bpp y RGB de 48 bpp en imágenes PNG, así como formatos X8L8V8U8, A2W10V10U10, A8P8, V16U16 y Q16W16V16U16.
  • sonido y video
    • Como alternativa al backend basado en GStreamer, se ha implementado un nuevo backend multimedia, basado en el uso de FFmpeg y adecuado para ejecutar el framework Media Foundation. Para habilitar un backend alternativo, debe especificar "DisableGstByteStreamHandler=1" en la sección de registro "HKCU\Software\Wine\MediaFoundation".
    • La implementación de la API de Media Foundation se ha mejorado para adaptarse mejor a las aplicaciones que dependen de los componentes de demultiplexación y decodificación.
    • La API de DirectMusic ha agregado soporte para cargar archivos MIDI.
  • Dispositivos de entrada
    • Se agregó la versión inicial del controlador Bluetooth.
    • Se agregó el subprograma del Panel de control del joystick (joy.cpl) con implementación de configuraciones para el joystick.
    • Se han realizado mejoras en los dispositivos señaladores (paneles táctiles, ratones) que utilizan el protocolo HID (Human Interface Device). Se ha añadido el controlador mouhid.sys para dispositivos HID. Se ha implementado el análisis correcto de los dispositivos de entrada compuestos y ahora se transmite información sobre ellos a Windows-aplicaciones, como dispositivos separados.
    • Para el backend de X11, se agregó soporte para pantallas táctiles y se implementó la capacidad de usar el modo multitáctil mediante el procesamiento de mensajes WM_POINTER* (WM_POINTERENTER, WM_POINTERLEAVE, etc.).
    • Se implementó la ubicación de algunas estructuras internas de la biblioteca user32 en la memoria compartida, lo que aumentó el rendimiento y redujo la carga en Wine Server.
    • Winex11 agregó soporte para procesar eventos XInput2 en relación con ventanas individuales.
    • Se implementó soporte correcto para teclados con diseño Dvorak.
  • Núcleo (interfaces del núcleo) Windows)
    • Se agregó soporte para la escalada de privilegios de proceso (a un proceso que se ejecuta inicialmente como usuario estándar se le pueden otorgar privilegios de administrador). Al crear procesos de servidor (servidor de acciones msi), así como procesos que llaman a las funciones RtlCreateUserProcess() y CreateProcessInternal(), se habilita un token de administrador limitado de forma predeterminada.
    • Al obtener información sobre las etiquetas del disco, siempre que sea posible, ahora se utiliza el acceso a los servicios del sistema a través de DBus, en lugar de intentar acceder directamente al dispositivo.
    • El mecanismo de comunicación entre procesos (IPC) unidireccional de Mailslots ahora está implementado directamente en el servidor Wine, lo que permite una compatibilidad semántica completa. Windows.
    • Se implementó la espera de eventos del puerto serie en modo asíncrono.
    • Se agregó soporte completo para extensiones de procesador XSTATE en contextos de subprocesos, lo que permite el uso de nuevas extensiones vectoriales como AVX-512.
  • Aplicaciones integradas
    • Se ha reescrito el motor de procesamiento de datos de entrada utilizado en el intérprete de comandos cmd.exe. Se agregó soporte para operaciones “||” a cmd.exe Y "&&".
    • La utilidad findtr ha agregado soporte para expresiones regulares y búsquedas que no distinguen entre mayúsculas y minúsculas.
    • Se ha agregado la capacidad de registrar módulos ARM32EC a las utilidades regsvr32 y rundll64.
    • Utilidades agregadas: sort para ordenar datos de entrada, fc para comparar archivos y dónde buscar archivos.
    • La aplicación wmic implementa un modo de operación interactivo.
    • Explorer ha agregado soporte opcional para el menú de inicio y la barra de herramientas. Se habilitó el lanzamiento de explorer.exe con derechos de acceso reducidos.
  • Herramientas de desarrollo
    • Se agregó la opción "-marm64x" a Winebuild para generar bibliotecas híbridas ARM64X.
    • Se agregó la opción "-marm64x" a winegcc para permitir la compilación para ARM64X.
    • Los archivos generados mediante el lenguaje de definición de interfaz (IDL) utilizan componentes que admiten totalmente la ejecución en modo interpretado.
    • Se ha agregado soporte para generar bibliotecas de tipos (TypeLib) en el formato antiguo (SLTG) al compilador IDL (lenguaje de definición de interfaz).
    • La utilidad winedump ha agregado soporte para guardar volcados de tablas de minivolcado, información de excepciones de C++ y recursos de biblioteca de tipos.
  • Miscelánea
    • Soporte mejorado para el protocolo de intercambio de claves Diffie-Hellman (DH). Se agregó la capacidad de configurar y recibir parámetros DH. Controladores implementados para crear pares de claves públicas y privadas.
    • Se proporciona el uso de relleno incremental OAEP (Relleno de cifrado asimétrico óptimo) junto con el algoritmo RSA.
    • La API de DirectPlay admite sesiones de red.
    • Manejo mejorado de estados de entrada/salida asíncronos al trabajar en modo WoW64 (64 bits). Windows-en-Windows), lo que te permite ejecutar 32 bits Windows-aplicaciones en sistemas Unix de 64 bits.
    • Se agregó soporte para cargar controladores ODBC para DBMS compilados para Windows.
    • Para la plataforma ARM, se implementa soporte completo para RPC/COM, C++ RTTI (información de tipo de tiempo de ejecución) y excepciones de C++.
    • En el tiempo de ejecución de C, las funciones ANSI implementan soporte para la codificación UTF-8.
    • Se han ampliado las capacidades del motor MSHTML. Se agregó soporte para prototipos y constructores de objetos. Se ha agregado una nueva interfaz de enlace de objetos para MSHTML al motor JavaScript. Las funciones integradas de MSHTML se han convertido en objetos JavaScript válidos. Recolección de basura de JavaScript mejorada para cubrir todos los contextos de ejecución de scripts en un hilo. Se agregó soporte para objetos JavaScript ArrayBuffer y DataView.
    • Se agregó soporte para análisis estático utilizando informes de prueba de Clang y JUnit al sistema de integración continua basado en Gitlab.
    • La biblioteca Capstone 5.0.3 está integrada en el paquete, mediante la cual se implementa el desmontaje en el depurador WineDb.
    • Componentes actualizados a nuevas versiones: Vkd3d 1.14, Faudio 24.10, FluidSynth 2.4.0, LDAP 2.5.18, LCMS2 2.16, LibJpeg 9f, LibMPG123 1.32.9, LibPng 1.6.44, LibTiff 4.7.0, LibXml2 2.12.8, LibXslt 1.1.42 y Zlib 1.3.1.

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