Després d'un any de desenvolupament i 29 versions experimentals, es va presentar un llançament estable de la implementació oberta de l'API Win32 - Wine 10.0, que va incorporar més de 6000 canvis. Els assoliments clau de la nova versió inclouen suport total per a l'arquitectura ARM64EC, escalat en pantalles amb alta densitat de píxels, inclusió del controlador Wayland per defecte, implementació de panells per personalitzar la pantalla i el joystick, un backend multimèdia alternatiu basat en FFmpeg, Bluetooth controlador, suport Vulkan 1.4, capacitat d'emulació per canviar els modes de vídeo.
S'ha confirmat que 5372 programes funcionen correctament a Wine. Windows (5336 fa un any, 5266 fa dos anys, 5156 fa tres anys), altres 4435 programes (4397 fa un any, 4370 fa dos anys, 4312 fa tres anys) funcionen correctament amb configuracions addicionals i DLL externes. 4020 programes (3943 fa un any, 3888 fa dos anys, 3813 fa tres anys) tenen problemes menors que no interfereixen amb l'ús de la funcionalitat principal de l'aplicació.
Innovacions clau en Wine 10.0:
- ARM64
- Es proporciona suport complet per a l'arquitectura ARM64EC (ARM64 Emulation Compatible), el nivell de suport a Wine per a la qual ha arribat a la paritat amb l'arquitectura ARM64. L'arquitectura ARM64EC està dissenyada per simplificar la portabilitat d'aplicacions escrites originalment per a sistemes x64_86 a sistemes ARM64 i permet que els mòduls de codi x64_86 individuals s'executin a l'entorn ARM64 mitjançant un emulador.
- S'ha implementat un suport total per al format de fitxer ARM64X PE, que us permet combinar codi per a les arquitectures ARM64EC i ARM64 en un fitxer executable. Per crear Wine en el format ARM64X, heu d'instal·lar LLVM des de Git (la funcionalitat necessària s'inclourà a la versió LLVM 20) i quan executeu l'script "configure", especifiqueu l'opció "-enable-archs=arm64ec,aarch64" .
- S'ha implementat una interfície per emular sistemes x64 de 86 bits. Quan s'utilitza ARM64EC, Wine s'executa tal com és, i l'emulació només s'aplica al codi d'aplicació x86-64. La biblioteca amb l'emulador encara no s'inclou al paquet principal Wine, però per executar codi x86-64 a l'entorn ARM64, podeu utilitzar l'emulador FEX extern creat amb suport ARM64EC.
- Для поддержки ARM64 необходимо использование в системе страниц памяти размером 4КБ, как того требует ABI Windows (запуск в окружениях с ядрами Linux, использующими страницы памяти 16K или 64K пока не поддерживается).
- Subsistema gràfic
- S'ha implementat un escalat més precís en pantalles amb alta densitat de píxels (High-DPI). S'ha proporcionat suport per al mode DPI Awareness per organitzar la visualització de les aplicacions en pantalles amb alta densitat de píxels, tenint en compte si l'aplicació admet l'adaptació als canvis de DPI o no (les aplicacions que no tenen en compte el DPI s'escalen automàticament). S'han afegit opcions per anul·lar el suport d'alt DPI per a aplicacions individuals o prefixos Wine.
- S'ha afegit suport per a l'especificació Vulkan 1.4 al controlador de l'API de gràfics Vulkan (Vulkan 9.0 era compatible amb Wine 1.3.272). S'ha afegit suport per a les extensions Vulkan per a la codificació i descodificació de vídeo.
- Quan s'utilitza el backend X11, s'ha implementat la capacitat de representar finestres infantils Vulkan per a aplicacions que utilitzen aquestes finestres per mostrar contingut 3D (anteriorment, aquesta funció només estava disponible per a OpenGL).
- S'ha afegit suport per al mecanisme d'enllaç de tipus de lletra a la biblioteca GdiPlus, que us permet utilitzar diversos tipus de lletra en mostrar text si no hi ha tipus de lletra que cobreixin per separat tots els caràcters que es troben al text.
- Wayland
- В конфигурации по умолчанию активирован драйвер winewayland.drv, позволяющий использовать Wine в окружениях на базе протокола Wayland без применения XWayland и компонентов X11. Wine запускает приложения по умолчанию на Wayland напрямую только если XWayland недоступен, в противном случае запуск с использованием XWayland остаётся приоритетным. Для принудительного включения Wayland можно использовать переменную окружения DISPLAY, либо добавить ключ в реестр, создав файл file.reg: Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\Wine\Drivers] «Graphics»=»wayland» и применив его командой: $ WINEPREFIX=/путь/до/префикса wine regedit /путь/до/file.reg
- S'ha afegit suport per a OpenGL i memòria intermèdia de píxels (pBuffer) al controlador winewayland.drv.
- S'han resolt problemes amb el posicionament emergent en entorns basats en Wayland.
- Quan utilitzeu Wayland, s'implementa el suport per a la repetició automàtica en prémer les tecles.
- Integració d'escriptori
- S'ha afegit un mecanisme d'emulació experimental "modeset" que us permet emular el canvi de modes de vídeo sense canviar realment la configuració de la pantalla. La visibilitat de canviar la resolució de la pantalla sense canviar el mode de vídeo es crea mitjançant l'ampliació i l'escala de finestres.
- S'ha afegit una nova miniaplicació del Tauler de control de l'escriptori (desk.cpl) amb la implementació d'una interfície per gestionar la configuració de la pantalla (per exemple, podeu canviar la resolució virtual de l'escriptori o configurar paràmetres de visualització emulats).
- S'ha afegit la possibilitat de restablir la configuració de la pantalla als valors predeterminats si és impossible restaurar l'estat després d'un bloqueig del procés.
- Добавлена поддержка отключения показа пиктограмм в системном лотке (в «HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer» следует указать «NoTrayItemsDisplay=1»).
- Добавлена поддержка отключения оболочек (Shell launcher) в режиме десктопа (в «HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer» следует указать «NoDesktop=1»).
- Direct3D
- La representació amb OpenGL ara requereix suport per a GLSL 1.20, així com les extensions EXT_framebuffer_object i ARB_texture_non_power_of_two. S'ha interromput el suport per a l'antic fons d'ombres ARB i la configuració Offscreen RenderingMode.
- Per a Direct3D 9 i versions anteriors, s'ha afegit un pipeline de gràfics de funció fixa (el Direct3D anterior només proporcionava operacions de gràfics predefinits que no es podien canviar), implementat mitjançant el llenguatge d'ombres HLSL i permetent l'emulació de funcions fixes quan es representava mitjançant l'API Vulkan o OpenGL.
- La renderització amb Vulkan utilitza extensions Vulkan per canviar dinàmicament l'estat de la canalització gràfica, reduint la tartamudeig als jocs.
- S'ha afegit un backend alternatiu glsl-vkd3d per als shaders GLSL, mitjançant vkd3d-shader.
- Va proporcionar suport inicial per compilar efectes Direct3D mitjançant vkd3d-shader.
- La biblioteca D3DX9 implementa la capacitat de generar textures MIP (MipMap) quan es carreguen textures volumètriques. S'ha afegit suport per a formats de representació de color RGBA de 64 bpp i RGB de 48 bpp en imatges PNG, així com els formats X8L8V8U8, A2W10V10U10, A8P8, V16U16 i Q16W16V16U16.
- So i vídeo
- Com a alternativa al backend basat en GStreamer, s'ha implementat un nou backend multimèdia, basat en l'ús de FFmpeg i adequat per executar el marc de Media Foundation. Per habilitar un backend alternatiu, hauríeu d'especificar "DisableGstByteStreamHandler=1" a la secció del registre "HKCU\Software\Wine\MediaFoundation".
- La implementació de l'API Media Foundation s'ha millorat per adaptar-se millor a les aplicacions que depenen dels components de demultiplexació i descodificació.
- L'API de DirectMusic ha afegit suport per carregar fitxers MIDI.
- Dispositius d’entrada
- S'ha afegit la versió inicial del controlador Bluetooth.
- S'ha afegit l'applet del tauler de control del joystick (joy.cpl) amb la implementació de la configuració del joystick.
- Внесены улучшения, связанные с устройствами управления указателем (тачпады, мыши), использующими протокол HID (Human Interface Device). Добавлен драйвер mouhid.sys для HID-устройств. Реализован корректный разбор составных устройств ввода и обеспечена передача информации о них в Windows-приложения, как о раздельных устройствах.
- Per al backend X11, s'ha afegit suport per a pantalles tàctils i s'ha implementat la possibilitat d'utilitzar el mode multitàctil mitjançant el processament de missatges WM_POINTER* (WM_POINTERENTER, WM_POINTERLEAVE, etc.).
- S'ha implementat la col·locació d'algunes estructures internes de la biblioteca user32 a la memòria compartida, la qual cosa augmenta el rendiment i redueix la càrrega del Wine Server.
- Winex11 va afegir suport per processar esdeveniments XInput2 en relació amb finestres individuals.
- S'ha implementat el suport correcte per als teclats amb la disposició Dvorak.
- Nucli (interfícies del nucli) Windows)
- S'ha afegit suport per a l'escalada de privilegis de procés (un procés que s'executa inicialment com a usuari estàndard pot rebre privilegis d'administrador). Quan es creen processos de servidor (servidor d'acció msi), així com processos que criden a les funcions RtlCreateUserProcess() i CreateProcessInternal(), s'habilita un testimoni d'administrador limitat de manera predeterminada.
- Quan s'obté informació sobre les etiquetes de disc, sempre que sigui possible, ara s'utilitza l'accés als serveis del sistema mitjançant DBus, en lloc d'intentar accedir directament al dispositiu.
- Однонаправленный механизм межпроцессного взаимодействия (IPC) Mailslots теперь реализован непосредственно в Wine server, что позволило добиться полной поддержки семантики Windows.
- S'ha implementat l'espera d'esdeveniments del port sèrie en mode asíncron.
- S'ha afegit suport complet per a les extensions de processador XSTATE en contextos de fil, permetent l'ús de noves extensions vectorials com AVX-512.
- Aplicacions incrustades
- S'ha reescrit el motor de processament de dades d'entrada utilitzat a l'intèrpret d'ordres cmd.exe. S'ha afegit suport per a les operacions "||" a cmd.exe I "&&".
- La utilitat findstr ha afegit suport per a expressions regulars i cerques que no distingeixen entre majúscules i minúscules.
- S'ha afegit la possibilitat de registrar mòduls ARM32EC a les utilitats regsvr32 i rundll64.
- Utilitats afegides: ordenar per ordenar les dades d'entrada, fc per comparar fitxers i on cercar fitxers.
- L'aplicació wmic implementa un mode de funcionament interactiu.
- Explorer ha afegit suport opcional per al menú d'inici i la barra d'eines. S'ha activat el llançament d'explorer.exe amb drets d'accés reduïts.
- Eines de desenvolupament
- S'ha afegit l'opció "-marm64x" a winebuild per generar biblioteques híbrides ARM64X.
- S'ha afegit l'opció "-marm64x" a winegcc per permetre la creació d'ARM64X.
- Els fitxers generats amb el llenguatge de definició d'interfície (IDL) utilitzen components que admeten totalment l'execució en mode interpretat.
- S'ha afegit suport per generar biblioteques de tipus (TypeLib) en el format antic (SLTG) al compilador IDL (Interface Definition Language).
- La utilitat winedump ha afegit suport per desar abocaments de taules de minidump, informació d'excepcions de C++ i recursos de biblioteques de tipus.
- Miscel · lània
- Suport millorat per al protocol d'intercanvi de claus Diffie-Hellman (DH). S'ha afegit la possibilitat de configurar i rebre paràmetres DH. S'han implementat controladors per crear parells de claus públiques i privades.
- Es proporciona l'ús de farciment incremental OAEP (Optimal Asymmetric Encryption Padding) juntament amb l'algorisme RSA.
- L'API de DirectPlay admet sessions de xarxa.
- Millora en la gestió dels estats d'entrada/sortida asíncrons quan es treballa en mode WoW64 (64 bits). Windows-en-Windows), que permet executar 32 bits Windows-aplicacions en sistemes Unix de 64 bits.
- Добавлена поддержка загрузки ODBC-драйверов к СУБД, собранных для Windows.
- Per a la plataforma ARM, s'implementa el suport complet per a les excepcions RPC/COM, C++ RTTI (Run-Time Type Information) i C++.
- En el temps d'execució C, les funcions ANSI implementen suport per a la codificació UTF-8.
- S'han ampliat les capacitats del motor MSHTML. S'ha afegit suport per a prototips i constructors d'objectes. S'ha afegit una nova interfície d'enllaç d'objectes per a MSHTML al motor JavaScript. Les funcions integrades de MSHTML s'han convertit en objectes JavaScript vàlids. S'ha millorat la recollida d'escombraries de JavaScript per cobrir tots els contextos d'execució d'scripts en un fil. S'ha afegit suport per a objectes JavaScript ArrayBuffer i DataView.
- S'ha afegit suport per a l'anàlisi estàtica mitjançant informes de prova Clang i JUnit al sistema d'integració contínua basat en Gitlab.
- La biblioteca Capstone 5.0.3 està integrada al paquet, mitjançant la qual s'implementa el desmuntatge al depurador WineDb.
- Components actualitzats a les noves versions: Vkd3d 1.14, Faudio 24.10, FluidSynth 2.4.0, LDAP 2.5.18, LCMS2 2.16, LibJpeg 9f, LibMPG123 1.32.9, LibMPG1.6.44 4.7.0, LibPng 2ml. 2.12.8, LibXslt 1.1.42 i Zlib 1.3.1.
Font: opennet.ru
