Ubunlog Darkcrizt  

Wine 10 llega con mejoras de integración con Wayland, soporte para ARM64EC, mejoras de compatibilidad y mas

Wine 10.0 Linux

Después de un año de desarrollo y la publicación de 29 versiones experimentales, se ha dado a conocer el tan esperado lanzamiento de Wine 10, versión en la cual se incorporan más de 6000 cambios significativos.

Entre las mejoras más destacadas se encuentra el soporte completo para la arquitectura ARM64EC, la integración nativa del controlador Wayland, una implementación renovada de paneles para la configuración de pantalla y joystick, un backend multimedia alternativo basado en FFmpeg, un controlador Bluetooth mejorado, compatibilidad con Vulkan 1.4 y la capacidad de emular cambios en modos de video.

Principales novedades de Wine 10

Entre las principales innovaciones introducidas en Wine 10 se destaca la compatibilidad completa con la arquitectura ARM64EC, diseñada para facilitar la migración de aplicaciones x86_64 a sistemas ARM64 mediante la emulación. Esto incluye la capacidad de ejecutar módulos de código x86_64 dentro de un entorno ARM64 sin modificar el resto de la aplicación.

Además, se ha implementado soporte para el formato ARM64X PE, que permite combinar en un solo archivo ejecutable código para ARM64EC y ARM64. Esto facilita la creación de binarios híbridos. Cabe mencionar que, aunque el emulador necesario para ejecutar código x86-64 en ARM64 no está incluido en el paquete principal de Wine, se puede utilizar el emulador externo FEX con soporte para ARM64EC.

En el subsistema gráfico, Wine 10 mejora el manejo de pantallas High-DPI, pues ahora admite modos de DPI Awareness que permiten a las aplicaciones ajustar su visualización según los cambios en la resolución de pantalla. Para las aplicaciones que no son conscientes del DPI, Wine aplica automáticamente un escalado para mantener una representación adecuada. Además, el soporte para la especificación Vulkan 1.4 se ha integrado, incluyendo extensiones para codificación y decodificación de video, junto con la capacidad de manejar ventanas secundarias de Vulkan en aplicaciones que utilizan contenido 3D.

Por la parte de las mejoras introducidas para Wayland, Wine 10 ofrece el controlador winewayland.drv habilitado de forma predeterminada, permitiendo a Wine operar directamente en entornos Wayland sin necesidad de XWayland o X11. Aunque Wine prioriza XWayland si está disponible, se puede forzar el uso de Wayland mediante configuraciones específicas en el registro. Este controlador también resuelve problemas como el posicionamiento de ventanas emergentes y añade soporte para funcionalidades como buffers de píxeles y repetición automática de pulsaciones al mantener teclas presionadas.

En cuanto a la integración de escritorio, se destaca la inclusión de un mecanismo experimental de «configuración de modos», que emula el cambio de resolución sin alterar la configuración de pantalla real, utilizando técnicas de escalado y expansión de ventanas. También se presentó un nuevo subprograma del panel de control (desk.cpl) que permite gestionar configuraciones de pantalla, como resoluciones virtuales y parámetros emulados. Además, se añadió la capacidad de restablecer la configuración de pantalla a valores predeterminados tras fallos, desactivar íconos en la bandeja del sistema y deshabilitar shells en modo de escritorio.

En Direct3D, se implementaron mejoras como el requisito de compatibilidad con GLSL 1.20 y la eliminación del soporte para el antiguo backend del sombreador ARB, también se añadió una canalización de gráficos de función fija para Direct3D 9 y versiones anteriores, utilizando sombreadores HLSL para emular funciones gráficas en Vulkan u OpenGL. El renderizado con Vulkan incluye ahora extensiones que permiten cambiar dinámicamente el estado de gráficos, reduciendo problemas como la tartamudez en juegos.

En el área de sonido y video, se desarrolló un backend multimedia alternativo basado en FFmpeg, que mejora la ejecución de aplicaciones que dependen del framework Media Foundation. Asimismo, se incorporó soporte para la carga de archivos MIDI en la API de DirectMusic y se optimizó la implementación de Media Foundation para un manejo más eficiente de demultiplexores y decodificadores.

Respecto a los dispositivos de entrada, se introdujo un controlador inicial para Bluetooth, así como un nuevo subprograma de configuración de joystick (joy.cpl). Además, se realizaron avances en la compatibilidad con dispositivos de entrada compuestos y punteros como paneles táctiles y ratones, incluyendo el soporte multitáctil en X11 a través de eventos WM_POINTER. También se agregó soporte para teclados con diseño Dvorak y la mejora en el rendimiento mediante la ubicación de estructuras internas en memoria compartida.

En el núcleo del sistema, se implementó soporte para la escalada de privilegios en procesos, permitiendo a aplicaciones ejecutadas como usuario estándar obtener permisos de administrador. También se optimizó la comunicación entre procesos IPC a través de Mailslots y se añadió soporte completo para extensiones vectoriales avanzadas como AVX-512.

De los demás cambios que se destacan:

  • Se añadieron nuevas herramientas como sort para ordenar datos, fc para comparar archivos y where para buscar archivos.
  • wmic ahora admite un modo de operación interactivo
  • La utilidad findtr recibió compatibilidad con expresiones regulares y búsquedas sin distinción entre mayúsculas y minúsculas.
  • El explorador de archivos explorer.exe ofrece soporte opcional para un menú de inicio y barra de herramientas, con la capacidad de ejecutarse con permisos reducidos.
  • Se mejoró el manejo de archivos generados mediante el lenguaje de definición de interfaz (IDL), agregando soporte para bibliotecas de tipos en formato antiguo (SLTG).
  • La utilidad winedump ahora puede generar volcados de minivolcados, excepciones de C++ y recursos de bibliotecas de tipos.
  • Se amplió el soporte para el protocolo de intercambio de claves Diffie-Hellman (DH) y se introdujo el uso de relleno OAEP junto con RSA.
  • La API de DirectPlay incluye soporte para sesiones de red, mientras que el modo WoW64 se optimizó para procesar estados de E/S asíncronos de forma más eficiente, mejorando la ejecución de aplicaciones de 32 bits en sistemas de 64 bits.
  • En el motor MSHTML, se incorporaron nuevas funcionalidades como soporte para prototipos y constructores de objetos, así como una interfaz de enlace de objetos para el motor JavaScript.

Finalmente si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.

Leave A Comment

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.