El proyecto Wine publicó su versión de desarrollo 10.16, un hito que vuelve a poner el foco en dos frentes históricamente complejos: la ejecución de aplicaciones antiguas y la sincronización de subprocesos a alta velocidad. La entrega llega con NTSync para sincronización rápida, soporte de apps de 16-bit en el nuevo modo WoW64, soporte inicial para objetos D3DKMT (camino de la pila de gráficos moderna de Windows), generación/instalación de WinMD (Windows Metadata), y 34 correcciones de errores que tocan desde juegos clásicos hasta herramientas de línea de comandos.
El código fuente está disponible en el repositorio de WineHQ (tarball 10.x/wine-10.16.tar.xz
), y en los próximos días aparecerán paquetes binarios para las principales distribuciones GNU/Linux en sus canales habituales. La documentación se puede consultar en la web del proyecto.
Qué hay de nuevo (en corto)
- Sincronización rápida con NTSync. Nuevo mecanismo que acelera operaciones de sincronización de estilo Windows en Linux/Unix, con impacto directo en rendimiento y responsividad de aplicaciones multi-hilo.
- Apps de 16-bit en el nuevo WoW64. Vuelve la compatibilidad 16-bit dentro del modo WoW64 renovado (ejecutar software de 32-bit en sistemas de 64-bit), cerrando brechas para instaladores y software legado.
- D3DKMT (pilares de la pila gráfica moderna). Soporte inicial para objetos D3DKMT (Kernel-Mode Thunking), base para gestionar recursos gráficos, sincronización y compartición entre APIs (D3D9/10/11/12, Vulkan, OpenGL).
- WinMD (Windows Metadata). Generación e instalación de ficheros WinMD, fundamentales para escenarios WinRT/Windows Runtime y tooling asociado.
- Correcciones (34 bugs). Desde problemas en juegos (Wolfenstein, GTA: Vice City, SimCity 2000, Jedi Knight demo), instaladores (Need for Speed III), Direct3D/OpenGL, vbscript/CMD, hasta mejoras en audio, tipografías, OLE/COM y herramientas de desarrollo.
Por qué importa
NTSync y el nuevo WoW64 son piezas clave para acercar Wine a una compatibilidad más rápida y profunda:
- Con NTSync, Wine reduce la latencia y el overhead en sincronización de hilos (mutexes, eventos), un cuello de botella frecuente en aplicaciones complejas y juegos modernos.
- El retorno del soporte 16-bit dentro de WoW64 abre la puerta a instaladores antiguos, utilidades y juegos clásicos que, en versiones recientes, fallaban al correr en entornos de 64-bit.
En el plano gráfico, D3DKMT es el lenguaje común que Windows usa para hablar con el driver de kernel; tenerlo en Wine facilita interoperabilidad y portabilidad entre Direct3D y otras APIs, y sienta bases para mejoras futuras de rendimiento y compatibilidad.
Tabla rápida de novedades y alcance
Área | Novedad/Arreglo | Impacto |
---|---|---|
Sincronización | NTSync | Menos latencia en operaciones multi-hilo; mejoras de rendimiento general |
Compatibilidad 16-bit | Soporte de apps de 16-bit en WoW64 | Instaladores y apps clásicas operando en sistemas de 64-bit |
Gráficos | Soporte inicial D3DKMT (objetos, recursos, sync) | Base para mejor gestión de recursos D3D9/10/11/12, Vulkan/OpenGL |
Tooling/Metadatos | WinMD generados e instalados | Mejores cimientos para tooling WinRT |
Juegos (varios) | Correcciones en Wolfenstein, GTA: Vice City, SimCity 2000, Jedi Knight demo, etc. | Pantallas negras, regresiones de render, inicialización de codecs |
Scripting/Shell | vbscript: ReDim sin Dim previo; CMD: paréntesis con tabs, TYPE en binario, DIR /O | Mayor compatibilidad con scripts y herramientas |
Multimedia | propsys.dll.PropVariantToFileTime (semi-stub), winedbg y mf fixes | Evita cuelgues y mejora transcodificación/depuración |
X11/Wayland/macOS | Varias mejoras/limpiezas (X11), workarounds restaurados (macOS RLIMIT_NOFILE ) | Estabilidad en distintas plataformas |
Detalle: la lista de bugs cerrados incluye regresiones de versiones recientes (p. ej., pantallas en blanco bajo wined3d en 10.15, Xenia Canary con
STATUS_CONFLICTING_ADDRESSES
desde 10.13) y problemas de títulos concretos (Wolfenstein: The New Order/Old Blood, Legacy of Kain: Blood Omen, Colin McRae Rally 2), además de instaladores clásicos (Need for Speed III), librerías (smackw32.DLL
), o herramientas (wmic
,winecfg
Audio).
Bajo el capó: cambios estructurales
La changelog (con >370 commits) destaca trabajo profundo en ntdll, wow64cpu, server y herramientas de build:
- LDT/segmentos: reimplementación y protección de estructuras (bitmap de entradas, banderas explícitas, almacenamiento en PEB), soporte de excepciones en 16-bit y wow64.
- wineserver/cola de mensajes: timings monotónicos, detección de colas colgadas, sincronización en proceso; reducción de overhead.
- makedep/makefiles: helpers de instalación y build de winmd.
- D2D/DWrite/XMllite/ODBC: múltiples stubs y funciones implementadas para cerrar huecos en APIs de alto nivel.
- Audio/MIDI: selección de dispositivo por defecto en winecfg y ajustes en
dmsynth
.
Estas piezas, aunque invisibles para el usuario final, reducen regresiones y preparan el terreno para Wine 11.0 (objetivo estimado: principios de 2026, si se mantiene el ritmo histórico de entregas).
Correcciones reseñables (selección)
- Juegos y multimedia:
- Wolfenstein: TNO/Old Blood (pantallas en negro con backend EGL/OpenGL)
- GTA: Vice City (intros a negro)
- SimCity 2000 Win95 (arranque en WoW64)
- Legacy of Kain: Blood Omen (negro con audio, patch Verok)
- D3D9/D3D10/D3D11: formatos DDS, BC4/BC5, y ajustes de stb_dxt para acercarse a la salida nativa
- Instaladores/legacy:
- Need for Speed III (claves PnP en
HKEY_DYN_DATA
) - Lotus Word Pro 9.8 (menú de ventana)
- Need for Speed III (claves PnP en
- Shell/scripting:
vbscript
(manejo deReDim
),CMD
(paréntesis con tabs,TYPE
binario,DIR /O
)
- Herramientas y librerías:
propsys.dll.PropVariantToFileTime
(semi-stub)winebuild
ASLR con DLLs antiguas,winedbg
crash enpe_load_msc_debug_info
winecfg
Audio (enumeración de drivers/salidas)
Descarga e instalación
- Fuente (tarball):
https://dl.winehq.org/wine/source/10.x/wine-10.16.tar.xz
- Paquetes binarios: llegarán a los repositorios de cada distro (WineHQ también mantiene repos propios para Ubuntu/Debian/Fedora/openSUSE).
- Documentación: en la web oficial de Wine y en el
README
/AUTHORS
del paquete.
Como es habitual, los paquetes para diversas distribuciones pueden tardar unos días en aparecer en todos los mirrors.
Qué esperar a corto plazo
Si el calendario de desarrollo se mantiene, en ~2 semanas debería llegar Wine 10.17, con otra ronda de correcciones y ajustes sobre el nuevo stack (NTSync, D3DKMT, WoW64 16-bit). El objetivo de medio plazo es entregar Wine 11.0 a inicios de 2026, consolidando esta etapa de madurez con menos cambios “visibles”, pero más estabilidad y cobertura API.
Consejos para usuarios (y gamers) que actualicen
- Backup del prefijo (
WINEPREFIX
) si dependes de títulos críticos; algunas correcciones pueden alterar comportamiento. - Selecciona backend gráfico compatible (wined3d vs DXVK/Proton) según el juego.
- Audio/entrada: revisa
winecfg
? Audio y drivers enumerados tras la actualización. - Regresiones: si detectas un break, prueba con
WINEDEBUG
habilitado o vuelve temporalmente a 10.15/10.12 para comparar, y reporta en Bugzilla.
En una frase
Wine 10.16 no es solo otra snapshot: trae NTSync, WoW64 con 16-bit, pilares D3DKMT, WinMD y 34 fixes que mejoran compatibilidad real. Es una versión para actualizar si ejecutas software clásico, juegos exigentes o dependes de scripts/herramientas que imitan de cerca el comportamiento de Windows.