PĂ€rast aasta arendust ja 25 katseversiooni on vĂ€lja antud stabiilne avatud Win32 API rakenduse â Wine 11.0 versioon, mis sisaldab ĂŒle 6300 muudatuse ja 600 vea paranduse. Peamised saavutused uues versioonis hĂ”lmavad tĂ€ielikku NTSYNC toe, Reparse Point mehhanismi rakendamist ja uue WoW64 arhitektuuri rakendust.
Wineâis on kinnitatud 5419 Windowsi programmi tĂ€ielik toimimine (aasta tagasi 5372, kaks aastat tagasi 5336, kolm aastat tagasi 5266), veel 4500 programmi (aasta tagasi 4435, kaks aastat tagasi 4397, kolm aastat tagasi 4370) töötab suurepĂ€raselt tĂ€iendavate seadistuste ja vĂ€liste DLL-ide abil. 4086 programmi puhul (aasta tagasi 4020, kaks aastat tagasi 3943, kolm aastat tagasi 3888) on tĂ€heldatud vĂ€ikseid probleemide ilmnemisi, mis ei takista rakenduste pĂ”hifunktsioonide kasutamist.
Wine 11.0 peamised uuendused:
- TĂ€ielik tugi ntsync draiverile, mis vĂ”imaldab oluliselt suurendada Windowsi mĂ€ngude jĂ”udlust, mis kĂ€ivitatakse Wine'i abil. Draiver on lisatud Linuxi kerneli alates versioonist 6.14 ning rakendab sĂŒmboolset seadet /dev/ntsync ja komplekti sĂŒnkroonimisprimitivu, mida kasutatakse Windows NT kernelis. Olulist jĂ”udluse kasvu saavutatakse, vabastades kasutaja ruumis RPC kasutamisega seotud kuludest.
- Lisatud vÔimalus seadistada lÔimede prioriteete Linuxis ja macOS-is.
- ntdll-i on lisatud sĂŒnkroonimise API "Synchronization barriers", mis vĂ”imaldab peatada mitme lĂ”ime tĂ€itmise, kuni kĂ”ik lĂ”imed on jĂ”udnud kindlasse tĂ€itmise punkti (nĂ€iteks, oodates, kuni kĂ”ik lĂ”imed on saavutanud kindla etapi sama koodi paralleelse tĂ€itmise korral).
- Uuendatud WoW64 (64-bit Windows-on-Windows) kiht on tĂ€ielikult toetatud ja vĂ”imaldab 32-bitiseid Windowsi rakendusi kĂ€itada 64-bitistes Unix-sĂŒsteemides. Erinevalt vanast WoW64 teostusest, kus 32-bitised rakendused kĂ€ivitati 32-bitistes Unix-protsessides, vĂ”imaldab uus WoW64 32-bitise koodi kĂ€itamist 64-bitises protsessis. 16-bitiste rakenduste kĂ€itamine WoW64 reĆŸiimis on samuti toetatud.
KĂ”igis moodulites, mis suhtlevad Unix-raamatukogudega, on kasutusel WoW64 sĂŒsteemi kutsungite muutjad (thunk), mis vĂ”imaldavad 32-bitistel PE formaadis moodulitel pöörduda 64-bitiste Unix-raamatukogude poole. Vanade WoW64 installatsioonide kĂ€itamine uues reĆŸiimis on tehtud vĂ”imalikuks keskkonnamuutuja "WINEARCH=wow64" seadistamise kaudu. 32-bitised eelfailid, mis loodi WINEARCH=win32 seadistamisel, on deklareeritud vananenuks ja ei ole uues WoW64 reĆŸiimis toetatud. Eraldi wine64 laadijat on eemaldatud ja selle asemel on kasutusele vĂ”etud universaalne laadija, mis mÀÀrab reĆŸiimi sĂ”ltuvalt kĂ€itatavast faili arhitektuurist.
- Kernel (Windowsi tuumliideste)
- Tehtud on Reparse Point mehhanism, mis vĂ”imaldab lisada faile ja katalooge tĂ€iendavaid andmeid, mida tuvastatakse siltide kaudu. Toetatakse selliseid Reparse Point tĂŒĂŒpe nagu sĂŒmboolsed lingid ja mount-punktid.
- MĂ€lu kirjutamisoperatsioonide jĂ€lgimise sooritamiseks on kasutusele vĂ”etud UFFD (userfaultfd) mehhanism, mis vĂ”imaldab luua töötlejaid mittejaotatud mĂ€lulehekĂŒlgede (page faults) kĂ€sitlemiseks kasutaja ruumis. Teostatud testide kĂ€igus vĂ€hendas UFFD rakendamine mĂ€ngu 'Streets of Rage 4' tasemete laadimisaega 6â8 sekundilt 1,5â2 sekundile, mis vastab Windowsi platvormil kĂ€ivitamise nĂ€itajatele.
- Kasutusel on NT sĂŒsteemikutsed, mis on identsete viimasemate Windowsi versioonide omad, mis on vajalik rakenduste toetamiseks, mis kasutavad rangelt mÀÀratletud sĂŒsteemikutsenumbreid.
- ARM64 sĂŒsteemidel on vĂ”imalus simuleerida 4K mĂ€lu lehti keskkondades, kus Linuxi tuumikud kasutavad suuremaid mĂ€lulehti (16K vĂ”i 64K). Simulatsioon vĂ”imaldab kĂ€ivitada lihtsaid rakendusi, samas kui keerukamate programmide puhul soovitatakse kasutada Linuxi tuumikuid 4-kilobaitiste mĂ€lulehtedega.
- GraafikasĂŒsteem
- X11 sĂŒsteemides (winex11) on OpenGL jaoks vaikimisi aktiveeritud renderdamise tagaplaan, mis kasutab EGL-d. GLX tagaplaan on kuulutatud aegunuks, kuid jÀÀb siiski saadaolevaks varuvariantina ja seda kasutatakse EGL puudumisel.
- Lisatud algtugi D3DKMT objektidele, mis pakuvad madalama taseme juurdepÀÀsu graafikaseadmetele kasutaja ruumist. On rakendatud Vulkan laiendusi VK_KHR_external_memory_win32, VK_KHR_external_semaphore_win32, VK_KHR_external_fence_win32 ja VK_KHR_win32_keyed_mutex.
- WoW64 reĆŸiimis (64-bit Windows-on-Windows) on rakendatud mĂ€lu kaardistamise tugi OpenGL jaoks Vulkan API kaudu, vĂ”imaldades kiirendada 32-bitiste OpenGL rakenduste tööd Wine'is.
- Emuleeritud on esipaneeli (front buffer) tugi OpenGL jaoks platvormidel, kus seda toetamist ei ole sisse ehitatud.
- Vulkan graafika API draiverisse on lisatud toimetus Vulkan 1.4.335 spetsiifikale.
- WindowsCodecs teegud komplekt toetab nĂŒĂŒd metainfot piltfailides ja sisaldab toe muutmiseks tĂ€isarvuliste vĂ€rvisalvestusvormide ja ujuva komaga vormide vahel.
- OSMesa teekidest (Off-screen Mesa) on loobutud. Lisatud on vÔimalus joonistada bitmap'e OpenGL kaudu, kasutades riistvaraliselt kiirendatud OpenGL runtime'i.
- Töölauaga integreerimine
- Winewayland.drv draiveris, mis vÔimaldab kasutada Wine'i Waylandi protokolliga keskkondades ilma XWayland'i ja X11 komponentideta, on toetatud lÔikelauad, sisestusmeetodid, ebaregulaarsed aknad ja lÀbipaistvus.
- X11 integreerimist on parendatud: aknahaldurile on lisatud akende aktiveerimise pÀringud ja EWMH protokoll tagab X11 ja Win32 aktiivsete akende olekute kooskÔla.
- Toetatud on eksklusiivne tĂ€isekraanireĆŸiim. TĂ€isekraanireĆŸiimi toetust D3D-s on parendatud ja vanade DDrawil pĂ”hinevate mĂ€ngude toimimist on parendatud.
- MÔningate akna töötamise funktsioonide jÔudlust on parendatud. Protsessidevaheliseks suhtlemiseks on kasutatud jagatud mÀlu.
- Direct3D
- Direct3D 11 toetas H.264 formaadis videote riistvaraliselt kiirendatud dekodeerimist, mis on ellu viidud graafilise API Vulkan abil.
- Direct3D 11 toob kaasa minmax-filtreerimise toetuse tekstuuridele, kasutades OpenGLi laiendust GL_ARB_texture_filter_minmax vÔi Vulkani laiendust VK_EXT_sampler_filter_minmax.
- Direct3D 11-s on teostatud tekstuuride laadimise funktsioonid.
- Direct3D-l on Vulkani kaudu implementeeritud suur hulk joonistamisvÔimalusi, sealhulgas verteksite segamine, lame varjundamine, kohandatud lÔikepinnad ja erinevad ressursside formaadid.
- Sisseehitatud vkd3d-shaderis on parendatud 1., 2. ja 3. mudeli shaderite toetust.
- D3DXSaveSurfaceToFileInMemory meetodis on rakendatud PNG, JPEG ja BMP piltide toetus.
- Direct3D 10 ja 11 toetavad BC4 ja BC5 formaatide surumist ja avamist, samuti MIP-tasandite (MipMap) genereerimist tekstuuride laadimisel.
- Teostatud on meetodid ID3DXEffect::SetRawValue() ja ID3DXSkinInfo::UpdateSkinnedMesh().
- Sisendi seadmed
- Joystikute ĂŒhilduvust on parendatud hidrawi taustprotsessi kasutamisega.
- MĂ€ngu juhtide ja joystickide kasutamisel on parendatud vibreerimise tagasiside (Force feedback) toetust.
- MĂ€ngupultide toetust on parendatud Windows.Gaming.Input API-s ja evdevi taustprotsessi kasutamisel.
- MĂ€ngu kontrollerite haldusappliesse on lisatud Windows.Gaming.Input API seadistamise vahekaart.
- Parandatud DirectInput'i ĂŒhilduvus vanade mĂ€ngudega.
- Bluetooth
- Bluetooth draiverisse on lisatud seadmete skaneerimise, avastamise ja paaritamise vÔimalus.
- Lisatud tugi Bluetooth Low Energy teenustele.
- Rakendused saavad luua madala taseme RFCOMM-ĂŒhendusi vĂ€liste seadmetega, kasutades Winsock API-d.
- Skannerite tugi.
- Tulnud tugi TWAIN 2.0 API-le, mis vÔimaldab 64-bitiste rakenduste kaudu skanneritele ligi pÀÀseda.
- Tulnud tugi DAT_IMAGENATIVEXFER komponendile, mis edastab skanneri pildi rakendusse.
- Valitud skanneri ja skanneri seade omade salvestamine registrisse.
- Lisatud tugi mitme lehe skaneerimisele ja dokumentide automaatsele söötmisele.
- Rakenduse blokeerimine skaneerimise liidese vÀljakutsumise ajal lÔpetatud.
- Lisatud tugi Windowsi kohandatud skanneri draiverite laadimiseks.
- Rahvusvaheline teema
- Tagatud on lokaliseerimistöötluse genereerimine formaadis locale.nls Unicode CLDR (Unicode Common Locale Data Repository) versioon 48. Lisatud on toetus tÀiendavatele lokaliseerimisele bua-RU, bqi-IR, cop-EG, ht-HT, kek-GT, lzz-TR, mww-Hmnp-US, oka-CA, pi-Latn-GB, pms-IT, sgs-LT, suz-Deva-NP ja suz-Sunu-NP.
- Unicode sĂŒmbolite tabelid on uuendatud versioonile 17.0.0. Aegavööndite andmebaas on vĂ€rskendatud.
- VÔrguvÔimalused
- MSHTML mootoris standardilise vastavuse reĆŸiimis on tagatud elementide atribuutide töötlemine tĂ€ieĂ”iguslike DOM sĂ”lmedena. On realiseeritud objektid DOMParser, XDomainRequest ja msCrypto.
- JavaScriptis on lisatud toetus tĂŒĂŒbiga massiividele.
- ICMPv6 jaoks on realiseeritud ping kÀsk.
- Andmebaas
- MSADO (ActiveX Data Objects) teegis on lisatud toetus muudatuste salvestamiseks andmebaasi. Suuremas osas on realiseeritud Recordset objekti funktsioonid.
- odbc32 teegis on parendatud ANSI win32 draivereid toetust, mis ei toeta Unicode'i. On realiseeritud funktsioonid SQLDriverConnectA(), SQLSpecialColumnsW(), SQLGetInfoW(), SQLGetInfoW(), SQLStatisticsW() ja QLColumnsW().
- Sisseehitatud rakendused
- WineCfg-sse on lisatud vahekaart, et seadistada vaikimisi MIDI-seade.
- CMD utiliid on rakendatud failinimede sisendi automaatne tĂ€iendamine interaktiivse tööreĆŸiimi jooksul, lisatud on toetust keerukatele kĂ€skudele ning teostatud kĂ€sk «mklink /j» Reparse Pointâi loomiseks.
- Conhosti (Console Hosting) utiliiti on lisatud ajalooteabe saamise tugi klahvide F1 ja F3 vajutamise kaudu.
- On rakendatud kÀsklus timeout, runas ja subst.
- Find utiliiti on lisatud valikud «/c» ĂŒhtluste arvu kuvamiseks ning /i puhul tuvastamist, ignoreerides suurtĂ€hti.
- Whoami utiliidis on nĂŒĂŒd vĂ”imalus vĂ€ljundi formaati kohandada.
- Erinev
- WIDL (Wine Interface Definition Language) rakenduses on lisatud tugi Windows Runtime (WinRT) metainformatsiooni genereerimiseks. On tagatud WinMD (Windows Metadata) failide genereerimine ja installimine WinRT (Windows Runtime) API jaoks.
- Winedump utiliiti on lisatud toetus MUI ressursside dumpimiseks, sĂŒsteemi kutsungite numbrite, sisseehitatud NE-modulite ja suurte PDB failide (> 4 GB) dumpimiseks.
- On lÀbi viidud Common Controli rakenduse refaktooring, COMCTL32 teek on jagatud eraldi mooduliteks versioonide 5 ja 6 jaoks.
- BCrypt on saanud toetus PBKDF2 vÔti loomise standardi jaoks.
- Lisatud on tugi kataloogidele UserProgramFiles, AccountPictures ja Screenshots.
- Integreeritud on LLVM Compiler-RT 8.0.1 ja TomCrypt 1.18.2 teegid. CPU mÀÀramiseks FreeBSD platvormil kasutatakse HwLoc teeki.
- Olenemata uuendatud versioonidesse Vkd3d 1.18, Faudio 25.12, FluidSynth 2.4.2, LCMS2 2.17, LibMPG123 1.33.0, Libpng 1.6.51, LibTiff 4.7.1, LibXml2 2.12.10, LibXslt 1.1.43.
Allikas: opennet.ru
