Pärast aasta pikkust arendustööd ja 29 eksperimentaalset versiooni esitleti Win32 API avatud juurutuse stabiilset versiooni Wine 10.0, mis sisaldas enam kui 6000 muudatust. Uue versiooni peamisteks saavutusteks on ARM64EC arhitektuuri täielik tugi, skaleerimine suure pikslitihedusega ekraanidel, Waylandi draiveri vaikimisi kaasamine, paneelide rakendamine ekraani ja juhtkangi kohandamiseks, alternatiivne FFmpegil põhinev multimeedia taustaprogramm, Bluetooth draiver, Vulkan 1.4 tugi, emuleerimisvõimalus videorežiimide vahetamiseks.
5372 programmi on Wine'is korralikult toimima kinnitatud Windows (5336 aasta tagasi, 5266 kaks aastat tagasi, 5156 kolm aastat tagasi) töötavad veel 4435 programmi (4397 aasta tagasi, 4370 kaks aastat tagasi, 4312 kolm aastat tagasi) lisasätete ja väliste DLL-idega hästi. 4020 programmil (3943 aasta tagasi, 3888 kaks aastat tagasi, 3813 kolm aastat tagasi) on väiksemaid probleeme, mis ei sega rakenduse põhifunktsioonide kasutamist.
Peamised uuendused versioonis Wine 10.0:
- ARM64
- Täielikku tuge pakutakse ARM64EC (ARM64 Emulation Compatible) arhitektuurile, mille Wine'i toe tase on saavutanud võrdsuse ARM64 arhitektuuriga. ARM64EC arhitektuur on loodud algselt x64_86 süsteemide jaoks kirjutatud rakenduste portimise lihtsustamiseks ARM64 süsteemidesse ja võimaldab üksikutel x64_86 koodimoodulitel töötada ARM64 keskkonnas emulaatori abil.
- Rakendatud on ARM64X PE-failivormingu täielik tugi, mis võimaldab ühendada ARM64EC ja ARM64 arhitektuuride koodi ühes käivitatavas failis. ARM64X-vormingus Wine'i ehitamiseks peate installima Gitist LLVM-i (vajalikud funktsioonid sisalduvad LLVM 20 väljalaskes) ja skripti "configure" käivitamisel määrake valik "-enable-archs=arm64ec,aarch64". .
- Rakendatud on liides 64-bitiste x86 süsteemide emuleerimiseks. ARM64EC kasutamisel töötab Wine ise nii nagu on ja emuleerimist rakendatakse ainult x86-64 rakenduse koodile. Emulaatoriga teek ei sisaldu veel põhipaketis Wine, kuid x86-64 koodi käitamiseks ARM64 keskkonnas saab kasutada ARM64EC toega ehitatud välist FEX emulaatorit.
- Для поддержки ARM64 необходимо использование в системе страниц памяти размером 4КБ, как того требует ABI Windows (запуск в окружениях с ядрами Linux, использующими страницы памяти 16K или 64K пока не поддерживается).
- Graafika alamsüsteem
- Suure pikslitihedusega (High-DPI) ekraanidel on rakendatud täpsem skaleerimine. DPI-teadlikkuse režiimi tugi on pakutud rakenduste kuvamise korraldamiseks suure pikslitihedusega ekraanidel, võttes arvesse, kas rakendus toetab DPI-muutustega kohanemist või mitte (rakendused, mis ei võta DPI-d arvesse, skaleeritakse automaatselt). Lisatud valikud üksikute rakenduste või Wine'i eesliidete kõrge DPI-toe alistamiseks.
- Vulkani graafika API draiverile on lisatud spetsifikatsiooni Vulkan 1.4 tugi (Wine 9.0 toetas Vulkan 1.3.272). Lisatud tugi Vulkani laiendustele video kodeerimiseks ja dekodeerimiseks.
- X11 taustaprogrammi kasutamisel on rakendatud võimalus renderdada Vulkani alamaknaid rakendustele, mis kasutavad selliseid aknaid 3D-sisu kuvamiseks (varem oli selline funktsioon saadaval ainult OpenGL-i jaoks).
- GdiPlusi teeki on lisatud fontide sidumise mehhanismi tugi, mis võimaldab teksti kuvamisel kasutada mitut fonti, kui puuduvad fondid, mis eraldi katavad kõiki tekstis leiduvaid märke.
- 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
- Winwayland.drv draiverile on lisatud OpenGL-i ja pikslipuhvrite (pBuffer) tugi.
- Lahendatud on probleemid hüpikakende positsioneerimisega Waylandi-põhistes keskkondades.
- Waylandi kasutamisel toetatakse klahvide all hoides automaatset vajutamist.
- Töölaua integreerimine
- Lisatud eksperimentaalne "režiimi seadistamise" emuleerimismehhanism, mis võimaldab teil emuleerida videorežiimide vahetamist ilma ekraaniseadeid tegelikult muutmata. Ekraani eraldusvõime muutmise nähtavus ilma videorežiimi vahetamata luuakse akende laiendamise ja skaleerimisega.
- Lisatud on uus Desktop Control Panel aplett (desk.cpl) koos ekraanisätete haldamise liidese juurutamisega (näiteks saate muuta töölaua virtuaalset eraldusvõimet või konfigureerida emuleeritud kuvaparameetreid).
- Lisati võimalus lähtestada ekraaniseaded vaikeväärtustele, kui olekut pole pärast protsessi krahhi võimalik taastada.
- Добавлена поддержка отключения показа пиктограмм в системном лотке (в «HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer» следует указать «NoTrayItemsDisplay=1»).
- Добавлена поддержка отключения оболочек (Shell launcher) в режиме десктопа (в «HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer» следует указать «NoDesktop=1»).
- Direct3D
- OpenGL-iga renderdamiseks on nüüd vaja GLSL 1.20 tuge, samuti laiendusi EXT_framebuffer_object ja ARB_texture_non_power_of_two. Vana ARB varjundi taustaprogrammi ja OffscreenRenderingMode'i seadete tugi on lõpetatud.
- Direct3D 9 ja vanemate jaoks on lisatud fikseeritud funktsiooniga graafikakonveier (vanem Direct3D pakkus ainult eelmääratletud graafikatoiminguid, mida ei saanud muuta), rakendatud HLSL-i varjundikeele abil ja võimaldades Vulkani või OpenGL API kaudu renderdamisel fikseeritud funktsioonide emuleerimist.
- Vulkaniga renderdamisel kasutatakse Vulkani laiendusi, et dünaamiliselt muuta graafikakonveieri olekut, vähendades mängude kogelemist.
- Lisatud alternatiivne glsl-vkd3d taustaprogramm GLSL-i varjutajate jaoks, kasutades vkd3d-shaderit.
- Pakkus esialgset tuge Direct3D-efektide koostamiseks vkd3d-shaderi abil.
- D3DX9 teek rakendab mahuliste tekstuuride laadimisel MIP-tekstuuride (MipMap) genereerimise võimalust. Lisatud on tugi 64 bpp RGBA ja 48 bpp RGB värviesitusvormingutele PNG-kujutistes, samuti vormingutele X8L8V8U8, A2W10V10U10, A8P8, V16U16 ja Q16W16V16U16.
- Heli ja video
- Alternatiivina GStreamer-põhisele taustaprogrammile on rakendatud uus multimeedia taustaprogramm, mis põhineb FFmpeg-i kasutamisel ja sobib Media Foundationi raamistiku käitamiseks. Alternatiivse taustaprogrammi lubamiseks peaksite registri jaotises "HKCU\Software\Wine\MediaFoundation" määrama "DisableGstByteStreamHandler=1".
- Media Foundationi API rakendamist on täiustatud, et paremini sobitada rakendusi, mis sõltuvad demultipleksimis- ja dekodeerimiskomponentidest.
- DirectMusic API on lisanud toe MIDI-failide laadimiseks.
- Sisendseadmed
- Lisatud Bluetoothi draiveri esialgne versioon.
- Lisatud juhtkangi juhtpaneeli aplett (joy.cpl) koos juhtkangi sätete rakendamisega.
- Внесены улучшения, связанные с устройствами управления указателем (тачпады, мыши), использующими протокол HID (Human Interface Device). Добавлен драйвер mouhid.sys для HID-устройств. Реализован корректный разбор составных устройств ввода и обеспечена передача информации о них в Windows-приложения, как о раздельных устройствах.
- X11 taustaprogrammi jaoks on lisatud puutetundlike ekraanide tugi ja juurutatud on võimalus kasutada mitme puutega režiimi WM_POINTER* sõnumite töötlemise kaudu (WM_POINTERENTER, WM_POINTERLEAVE jne).
- Rakendatud on mõnede user32 teegi sisemiste struktuuride paigutamine ühismällu, mis suurendas jõudlust ja vähendas Wine Serveri koormust.
- Winex11 lisas üksikute akende puhul toe XInput2 sündmuste töötlemiseks.
- Rakendatud on Dvoraki paigutusega klaviatuuride õige tugi.
- Kernel (kerneli liidesed) Windows)
- Lisatud on protsessi privileegide eskalatsiooni tugi (algselt tavakasutajana töötavale protsessile saab anda administraatori õigused). Serveriprotsesside (msi action server), aga ka RtlCreateUserProcess() ja CreateProcessInternal() funktsioone kutsuvate protsesside loomisel on vaikimisi lubatud piiratud administraatori luba.
- Kettasiltide kohta teabe hankimisel kasutatakse nüüd võimaluse korral juurdepääsu süsteemiteenustele DBusi kaudu, selle asemel, et proovida seadmele otse juurde pääseda.
- Однонаправленный механизм межпроцессного взаимодействия (IPC) Mailslots теперь реализован непосредственно в Wine server, что позволило добиться полной поддержки семантики Windows.
- Realiseeritud jadapordi sündmuste ootamine asünkroonses režiimis.
- Lisatud XSTATE protsessorilaiendite täielik tugi lõime kontekstis, mis võimaldab kasutada uusi vektorlaiendeid, nagu AVX-512.
- Manustatud rakendused
- Käsutõlgis cmd.exe kasutatav sisendandmete töötlemise mootor on ümber kirjutatud. Faili cmd.exe on lisatud tugi operatsioonidele „||”. Ja "&&".
- Utiliit findstr on lisanud regulaaravaldiste ja tõstutundlike otsingute toe.
- Utiliitidele regsvr32 ja rundll32 on lisatud ARM64EC moodulite registreerimise võimalus.
- Lisatud utiliidid: sort sisendandmete sorteerimiseks, fc failide võrdlemiseks ja kust failide otsimiseks.
- Wmic-rakendus rakendab interaktiivset töörežiimi.
- Explorer on lisanud valikulise toe käivitusmenüüle ja tööriistaribale. Lubatud on explorer.exe käivitamine piiratud juurdepääsuõigustega.
- Arendustööriistad
- ARM64X hübriidteekide loomiseks on veiniehitusele lisatud valik "-marm64x".
- ARM64X-i ehitamiseks on winegcc-le lisatud valik "-marm64x".
- Liidese määratluskeele (IDL) abil loodud failid kasutavad komponente, mis toetavad täielikult tõlgendusrežiimis täitmist.
- IDL (Interface Definition Language) kompilaatorisse on lisatud vanas vormingus (SLTG) tüübiteekide (TypeLib) genereerimise tugi.
- Utiliit winedump on lisanud toe minidump-tabelite, C++ erandite teabe ja typelib-ressursside salvestamiseks.
- Varia
- Täiustatud tugi Diffie-Hellmani (DH) võtmevahetusprotokollile. Lisatud DH parameetrite konfigureerimise ja vastuvõtmise võimalus. Rakendatud töötlejad avalike ja privaatvõtmete paaride loomiseks.
- Pakutakse täiendava polsterduse OAEP (Optimal Asymmetric Encryption Padding) kasutamist koos RSA-algoritmiga.
- DirectPlay API toetab võrguseansse.
- Asünkroonsete sisend-/väljundolekute täiustatud käsitlemine WoW64 (64-bitises) režiimis töötamisel Windows-peal-Windows), mis võimaldab teil käitada 32-bitist Windows-rakendused 64-bitistel Unixi süsteemidel.
- Добавлена поддержка загрузки ODBC-драйверов к СУБД, собранных для Windows.
- ARM-platvormi jaoks on rakendatud täielik tugi RPC/COM, C++ RTTI (Run-Time Type Information) ja C++ eranditele.
- C käitusajal toetavad ANSI funktsioonid UTF-8 kodeeringut.
- MSHTML-mootori võimalusi on laiendatud. Lisatud tugi prototüüpidele ja objektikonstruktoritele. JavaScripti mootorisse on lisatud uus MSHTML-i objektide sidumise liides. MSHTML-i sisseehitatud funktsioonid on teisendatud kehtivateks JavaScripti objektideks. Täiustatud JavaScripti prügikogumine, et katta lõimes kõik skripti käitamise kontekstid. Lisatud tugi ArrayBufferi ja DataView JavaScripti objektidele.
- Gitlabi-põhisele pidevale integratsioonisüsteemile on lisatud staatilise analüüsi tugi Clangi ja JUniti testiaruannete abil.
- Paketis on sisse ehitatud Capstone 5.0.3 teek, mille kaudu on WineDb siluris realiseeritud lahtivõtmine.
- Uutele versioonidele värskendatud komponendid: 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. 4.7.0, LibXslt 2 ja Zlib 2.12.8.
Allikas: opennet.ru
