Dopu un annu di sviluppu è 29 versioni sperimentali, una liberazione stabile di l'implementazione aperta di l'API Win32 - Wine 10.0, chì incorpore più di 6000 64 cambiamenti, hè stata presentata. I rializazioni chjave in a nova versione includenu supportu cumpletu per l'architettura ARM1.4EC, scaling in schermi cù alta densità di pixel, inclusione di u driver Wayland per difettu, implementazione di pannelli per persunalizà a pantalla è u joystick, un backend multimedia alternativu basatu in FFmpeg, Bluetooth. driver, supportu Vulkan XNUMX, capacità di emulazione chì cambia modi video.
5372 prugrammi sò stati cunfirmati per funziunà currettamente in Wine Windows (5336 un annu fà, 5266 dui anni fà, 5156 trè anni fà), altri 4435 prugrammi (4397 un annu fà, 4370 dui anni fà, 4312 trè anni fà) funzionanu bè cù paràmetri supplementari è DLL esterne. 4020 prugrammi (3943 un annu fà, 3888 dui anni fà, 3813 trè anni fà) anu prublemi minori chì ùn interferiscenu micca cù l'usu di e funzionalità principali di l'applicazione.
Innuvazioni chjave in Wine 10.0:
- ARM64
- U sustegnu tutale hè furnitu per l'architettura ARM64EC (ARM64 Emulation Compatible), u livellu di supportu in Wine per quale hà righjuntu a parità cù l'architettura ARM64. L'architettura ARM64EC hè pensata per simplificà u porting di l'applicazioni scritte in origine per i sistemi x64_86 à i sistemi ARM64, è permette à i moduli di codice x64_86 individuali per eseguisce in l'ambiente ARM64 utilizendu un emulatore.
- U supportu tutale hè statu implementatu per u furmatu di schedariu ARM64X PE, chì permette di cumminà u codice per l'architetture ARM64EC è ARM64 in un schedariu eseguibile. Per custruisce Wine in u formatu ARM64X, avete bisognu di installà LLVM da Git (a funziunalità necessaria serà inclusa in a versione LLVM 20) è quandu eseguite u script "configure", specificate l'opzione "-enable-archs=arm64ec,aarch64" .
- Hè stata implementata una interfaccia per emulà sistemi x64 86-bit. Quandu si usa l'ARM64EC, u vinu stessu funziona cum'è, è l'emulazione hè appiicata solu à u codice di l'applicazione x86-64. A biblioteca cù l'emulatore ùn hè ancu inclusa in u pacchettu Wine principale, ma per eseguisce u codice x86-64 in l'ambiente ARM64, pudete aduprà l'emulatore FEX esternu custruitu cù supportu ARM64EC.
- Для поддержки ARM64 необходимо использование в системе страниц памяти размером 4КБ, как того требует ABI Windows (запуск в окружениях с ядрами Linux, использующими страницы памяти 16K или 64K пока не поддерживается).
- Sottusistema graficu
- Implementatu una scala più precisa nantu à schermi cù alta densità di pixel (High-DPI). U supportu per u modu di sensibilizazione DPI hè statu furnitu per urganizà a visualizazione di l'applicazioni nantu à schermi cù una alta densità di pixel, tenendu in contu se l'applicazione supporta l'adattazione à i cambiamenti DPI o micca (l'applicazioni chì ùn anu micca cunsideratu DPI sò scalati automaticamente). Opzioni aghjunte per annullà u supportu High-DPI per applicazioni individuali o prefissi Wine.
- U supportu per a specificazione Vulkan 1.4 hè stata aghjunta à u driver per l'API grafica Vulkan (Vulkan 9.0 era supportatu in Wine 1.3.272). Aggiuntu supportu per l'estensioni Vulkan per a codificazione è a decodificazione di video.
- Quandu s'utilice u backend X11, a capacità di rende Vulkan child windows per l'applicazioni chì utilizanu tali finestri per vede u cuntenutu 3D hè stata implementata (prima, una tale funzione era solu dispunibule per OpenGL).
- U supportu per u mecanismu di ligame di fonti hè statu aghjuntu à a libreria GdiPlus, chì vi permette di utilizà parechje fonti quandu vede u testu se ùn ci sò micca fonti chì coprenu separatamente tutti i caratteri truvati in u testu.
- 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
- Aghjunghje supportu per OpenGL è i buffer di pixel (pBuffer) à u driver winewayland.drv.
- Problemi risolti cù u posizionamentu popup in ambienti basati in Wayland.
- Quandu si usa Wayland, u supportu per a ripetizione automatica quandu pressu i tasti hè implementatu.
- Integrazione desktop
- Aggiuntu un mecanismu di emulazione sperimentale di "modetting" chì vi permette di emulà u cambiamentu di modi video senza veramente cambià i paràmetri di u screnu. A visibilità di cambià a risoluzione di u screnu senza cambià u modu di video hè creata attraversu l'espansione è a scala di e finestre.
- Un novu applet di u Pannellu di cuntrollu di u Desktop (desk.cpl) hè statu aghjuntu cù l'implementazione di una interfaccia per a gestione di i paràmetri di visualizazione (per esempiu, pudete cambià a risoluzione virtuale di u desktop o cunfigurà i paràmetri di visualizazione emulati).
- Aggiunta a capacità di resettate i paràmetri di u screnu à i valori predeterminati s'ellu hè impussibile di restaurà u statu dopu un crash di prucessu.
- Добавлена поддержка отключения показа пиктограмм в системном лотке (в «HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer» следует указать «NoTrayItemsDisplay=1»).
- Добавлена поддержка отключения оболочек (Shell launcher) в режиме десктопа (в «HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer» следует указать «NoDesktop=1»).
- Direct3D
- A rendering cù OpenGL avà bisognu di supportu per GLSL 1.20, è ancu l'estensione EXT_framebuffer_object è ARB_texture_non_power_of_two. U supportu per u vechju backend di shader ARB è l'impostazione OffscreenRenderingMode hè stata interrotta.
- Per Direct3D 9 è più vechji, hè stata aghjunta una pipeline di grafica di funzione fissa (anziana Direct3D furnia solu operazioni grafiche predefinite chì ùn puderanu micca esse cambiate), implementate utilizendu a lingua shader HLSL è chì permettenu l'emulazione di funzione fissa quandu rende via l'API Vulkan o OpenGL.
- A rendering cù Vulkan usa l'estensioni Vulkan per cambià dinamicamente u statu di u pipeline di gràficu, riducendu stuttering in ghjochi.
- Aggiunta alternativa glsl-vkd3d backend per GLSL shaders, usendu vkd3d-shader.
- Furnitu supportu iniziale per cumpilà effetti Direct3D cù vkd3d-shader.
- A libreria D3DX9 implementa l'abilità di generà texture MIP (MipMap) quandu caricanu texture volumetriche. Aghjunghje supportu per i formati di rappresentazione di culore 64bpp RGBA è 48bpp RGB in immagini PNG, è ancu i formati X8L8V8U8, A2W10V10U10, A8P8, V16U16 è Q16W16V16U16.
- Sonu è video
- Comu alternativa à u backend basatu in GStreamer, un novu backend multimedia hè statu implementatu, basatu annantu à l'usu di FFmpeg è adattatu per eseguisce u framework di Media Foundation. Per attivà un backend alternativu, duvete specificà "DisableGstByteStreamHandler = 1" in a sezione di registru "HKCU\Software\Wine\MediaFoundation".
- L'implementazione di l'API Media Foundation hè stata migliurata per accettà megliu l'applicazioni chì dependenu di i cumpunenti di demultiplexing è di decodificazione.
- L'API DirectMusic hà aghjustatu supportu per a carica di fugliali MIDI.
- Input Devices
- Aggiunta a versione iniziale di u driver Bluetooth.
- Aggiunta applet Joystick Control Panel (joy.cpl) cù implementazione di paràmetri per u joystick.
- Внесены улучшения, связанные с устройствами управления указателем (тачпады, мыши), использующими протокол HID (Human Interface Device). Добавлен драйвер mouhid.sys для HID-устройств. Реализован корректный разбор составных устройств ввода и обеспечена передача информации о них в Windows-приложения, как о раздельных устройствах.
- Per u backend X11, u supportu per i schermi tattili hè statu aghjuntu è a capacità d'utilizà u modu multi-touch through processing WM_POINTER* messages (WM_POINTERENTER, WM_POINTERLEAVE, etc.) hè stata implementata.
- Implementazione di alcune strutture interne di a libreria user32 in memoria spartuta, chì hà aumentatu u rendiment è riduce a carica nantu à u Wine Server.
- Winex11 hà aghjustatu supportu per processà l'avvenimenti XInput2 in relazione à e finestre individuali.
- Implementatu supportu currettu per i tastieri cù u layout Dvorak.
- Kernel (interfacce di u kernel Windows)
- Supportu aghjuntu per l'escalation di privilegi di prucessu (un prucessu inizialmente in esecuzione cum'è un utilizatore standard pò esse cuncessu di privilegi di amministratore). Quandu creanu prucessi di u servitore (servitore d'azione msi), è ancu i prucessi chì chjamanu e funzioni RtlCreateUserProcess () è CreateProcessInternal (), un token di amministratore limitatu hè attivatu per automaticamente.
- Quandu uttene infurmazioni nantu à l'etichette di discu, sempre chì hè pussibule, l'accessu à i servizii di u sistema via DBus hè avà utilizatu, invece di pruvà à accede direttamente à u dispusitivu.
- Однонаправленный механизм межпроцессного взаимодействия (IPC) Mailslots теперь реализован непосредственно в Wine server, что позволило добиться полной поддержки семантики Windows.
- Implementatu in attesa di l'avvenimenti di u portu seriale in modu asincronu.
- Aghjunghje un supportu cumpletu per l'estensioni di u processore XSTATE in i cuntesti di filu, chì permettenu l'usu di novi estensioni vettoriali cum'è AVX-512.
- Applicazioni integrate
- U mutore di trasfurmazioni di dati di input utilizatu in l'interprete di cumandamentu cmd.exe hè statu riscritto. Aggiuntu supportu per l'operazioni "||" à cmd.exe È "&&".
- L'utilità findstr hà aghjustatu u supportu per l'espressioni regulare è e ricerche insensibili à u casu.
- A capacità di registrà i moduli ARM32EC hè stata aghjunta à l'utilità regsvr32 è rundll64.
- Utilità aghjunte: sorte per sorte i dati di input, fc per paragunà i fugliali è induve per circà i fugliali.
- L'applicazione wmic implementa un modu interattivu di funziunamentu.
- L'Explorer hà aghjustatu un supportu opzionale per u menu di start è a toolbar. Abilitatu u lanciu di explorer.exe cù diritti d'accessu ridotti.
- Strumenti di sviluppu
- Aggiunta l'opzione "-marm64x" à winebuild per generà biblioteche hibride ARM64X.
- Aggiunta l'opzione "-marm64x" à winegcc per permette di custruisce ARM64X.
- I fugliali generati cù a Lingua di Definizione di l'Interfaccia (IDL) utilizanu cumpunenti chì sustenenu cumplettamente l'esekzione in modu interpretatu.
- U supportu per generà biblioteche di tipu (TypeLib) in u vechju formatu (SLTG) hè statu aghjuntu à u compilatore IDL (Interface Definition Language).
- L'utilità winedump hà aghjustatu supportu per salvà i dumps di e tabelle minidump, l'infurmazioni di eccezzioni C++ è e risorse di typelib.
- Разное
- Supportu migliuratu per u protocolu di scambiu di chjave Diffie-Hellman (DH). Aggiunta a capacità di cunfigurà è riceve paràmetri DH. Implementate handlers per creà coppie di chjavi publichi è privati.
- L'usu di padding incrementale OAEP (Optimal Asymmetric Encryption Padding) inseme cù l'algoritmu RSA hè furnitu.
- L'API DirectPlay supporta e sessioni di rete.
- Migliurata a gestione di i stati d'input/output asincroni quandu si travaglia in modalità WoW64 (64-bit) Windows-in-Windows), chì vi permette di eseguisce 32-bit Windows-applicazioni nantu à sistemi Unix à 64 bit.
- Добавлена поддержка загрузки ODBC-драйверов к СУБД, собранных для Windows.
- Per a piattaforma ARM, u supportu tutale per RPC / COM, C++ RTTI (Run-Time Type Information) è eccezzioni C++ hè implementatu.
- In u runtime C, e funzioni ANSI implementanu u supportu per a codificazione UTF-8.
- E capacità di u mutore MSHTML sò state allargate. Aghjunghje supportu per prototipi è custruttori d'oggetti. Una nova interfaccia di ubligatoriu d'ughjettu per MSHTML hè stata aghjuntu à u mutore JavaScript. E funzioni integrate di MSHTML sò state cunvertite in oggetti JavaScript validi. A cullizzioni di basura JavaScript migliurata per copre tutti i cuntesti di esecuzione di script in un filu. Supportu aghjuntu per ArrayBuffer è DataView JavaScript objects.
- U supportu per l'analisi statica cù i rapporti di prova Clang è JUnit hè statu aghjuntu à u sistema di integrazione cuntinuu basatu in Gitlab.
- A libreria Capstone 5.0.3 hè integrata in u pacchettu, per mezu di quale u disassemblamentu hè implementatu in u debugger WineDb.
- Componenti aghjurnati à e novi versioni: 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 2T. 2.12.8, LibXslt 1.1.42 è Zlib 1.3.1.
Source: opennet.ru
