PĂ€rast aastaid arendust ja 25 katsetusversiooni on vĂ€lja antud stabiilne versioon avatud Win32 API rakendusest â Wine 11.0, mis sisaldab enam kui 6300 muudatust ja 600 vea parandust. Uue versiooni peamiste saavutuste hulka kuulub tĂ€ielik NTSYNCi tugi, Reparse Point mehhanismi rakendamine ja uue WoW64 arhitektuuri kasutamine.
Wines on kinnitatud 5419 Windowsi programmi tÀielik töö (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 koos tÀiendavate seadistustega ja vÀlimiste DLL-idega. 4086 programmi puhul (aasta tagasi 4020, kaks aastat tagasi 3943, kolm aastat tagasi 3888) tÀheldatakse vÀikeseid probleeme, mis ei takista rakenduste pÔhifunktsioonide kasutamist.
Wine 11.0 peamised uuendused:
- TĂ€ielik ntsync draiveri tugi, mis vĂ”imaldab oluliselt suurendada Windowsi mĂ€ngude jĂ”udlust, mida kĂ€itatakse Wine'i abil. Draiver on osa Linuxi tuumast alates versioonist 6.14 ja rakendab sĂŒmboolset seadet /dev/ntsync ja komplekti sĂŒnkroniseerimisprimitivereid, mida kasutatakse Windows NT tuumas. Oluline jĂ”udluse tĂ”us saavutatakse RPC kasutamisega seotud kulude vĂ€ltimise kaudu kasutaja ruumis.
- Lisatud on vÔimalus seadistada tahkude prioriteete Linuxis ja macOS-is.
- ntdll-sse on lisatud sĂŒnkroniseerimis-API âSynchronization barriersâ, mis vĂ”imaldab pausi vĂ”tta mitme tahku tĂ€itmisel kuni teatud tĂ€itmise punkti saavutamiseni kĂ”ikides tahkudes (nĂ€iteks oodata, kuni kĂ”ik tahud saavutavad teatud etapi sama koodi samaaegse tĂ€itmise korral).
- Uus WoW64 (64-bit Windows-on-Windows) rakendusekiht on tĂ”stetud tĂ€ielikult toetatavate hulka, vĂ”imaldades 32-bitiseid Windowsi rakendusi 64-bitistes Unix-sĂŒsteemides kĂ€itada. Erinevalt eelmise WoW64 rakenduse versioonist, kus 32-bitised rakendused kĂ€ivitati 32-bitistes Unix-protsessides, vĂ”imaldab uus WoW64 32-bitise koodi kĂ€itamist 64-bitise protsessi sees. 16-bitiste rakenduste kĂ€itamise toetus on seadistatud WoW64 reĆŸiimis.
KĂ”ikides moodulites, mis suhtlevad Unix-raamatukogudega, on kaasatud WoW64 sĂŒsteemikutsungite konverteerijad (thunk), mis vĂ”imaldavad 32-bitistel PE formaadis moodulitel suhelda 64-bitiste Unix-raamatukogudega. Lisatud on vĂ”imalus kĂ€ivitada vanad WoW64 installations uues reĆŸiimis seades keskkonnamuutuja "WINEARCH=wow64". 32-bitilised prefiksid, mis loodi WINEARCH=win32 seadistamisel, on kuulutatud aegunuks ja ei ole uues WoW64 reĆŸiimis toetatud. Eraldi wine64 laadijat on eemaldatud, selle asemel on kasutusele vĂ”etud universaalne laadija, mis mÀÀrab reĆŸiimi vastavalt kĂ€ivitatavale faili bitule.
- Kernel (Windowsi kerneli liidesed)
- Töötatakse vĂ€lja Reparse Point mehhanism, mille abil saab faile ja katalooge kinnitada tĂ€iendavate andmetega, mida tuvastatakse siltide kaudu. Toetatakse selliseid Reparse Point tĂŒĂŒpe nagu sĂŒmboolsed lingid ja mount punktid.
- MĂ€lu kirjutamise toimingute jĂ€lgimise jĂ”udluse parandamiseks on kasutusele vĂ”etud UFFD (userfaultfd) mehhanism, mis vĂ”imaldab luua kasutaja ruumis lehekĂŒlgede mĂ€rke (page faults) töötlejaid. Testide kĂ€igus vĂ”imaldas UFFD vĂ€hendada mĂ€ngu "Streets of Rage 4" tasemete laadimise aega 6â8 sekundilt 1,5â2 sekundini, mis vastab Windowsi platvormi kĂ€ivitamise nĂ€itajatele.
- Kasutusele on vĂ”etud NT sĂŒsteemikutsungite numbri, mis on samad kui viimastel Windowsi versioonidel, mis on vajalik rakenduste toe tagamiseks, mis kasutavad kindlalt mÀÀratud sĂŒsteemikutsungite numbreid.
- ARM64 sĂŒsteemides on vĂ”imalik simuleerida 4K mĂ€lu lehekĂŒlgi Linuxi kerneldes, mis kasutavad suuremaid mĂ€lu lehekĂŒlgi (16K vĂ”i 64K). Simulatsioon vĂ”imaldab kĂ€ivitada lihtsaid rakendusi, kuid keerukamate programmide jaoks soovitatakse kasutada Linuxi kernelesid, kus on 4-kilobaitised mĂ€lu lehekĂŒljed.
- GraafikasĂŒsteem
- X11 sĂŒsteemides (winex11) on OpenGL jaoks vaikimisi kasutusele vĂ”etud EGL-iga seotud renderdamise tagaosa. GLX tagaosa on kuulutatud aegunuks, kuid jÀÀb siiski varuna kĂ€tte saadavaks ja neid kasutatakse, kui EGL ei ole saadaval.
- Lisatud algtoetused D3DKMT objektide jaoks, mis pakuvad madala taseme juurdepÀÀsu graafikaseadmetele kasutajaruumi kaudu. Rakendatud on Vulkani laiendused VK_KHR_external_memory_win32, VK_KHR_external_semaphore_win32, VK_KHR_external_fence_win32 ja VK_KHR_win32_keyed_mutex.
- WoW64 (64-bit Windows-on-Windows) reĆŸiimis on rakendatud mĂ€lukaartimise tugi OpenGLe jaoks Vulkan API abil, mis vĂ”imaldab kiirendada 32-bitiste OpenGL rakenduste töötamist Winess.
- Rakendatud on ekraanibufferi (front buffer) emuleerimine OpenGLe jaoks platvormidel, kus see ei ole sisseehitatud.
- Vulkani graafilise API draiverisse on lisatud tugi Vulkan 1.4.335 spetsifikatsioonile.
- WindowsCodecs raamatukogus on laiendatud metainformatsiooni tuge piltfailides, samuti on rakendatud tugi vÀrvi esitusformaatide ja ujuvkomaanite formaatide vaheliseks konverteerimiseks.
- OSMesa (Off-screen Mesa) teegi sÔltuvus on eemaldatud. Rakendatud on vÔimalus joonistada bitikaarte OpenGLe kaudu, kasutades riistvaraliselt kiirendatud OpenGL runtime'i.
- Töölaudade integratsioon
- Draiveris winewayland.drv, mis vÔimaldab kasutada Wine'i Waylandi protokolli pÔhjalikes keskkondades ilma XWaylandi ja X11 komponentideta, on rakendatud lÔikepuhvri, sisendi meetodite, ebaregulaarsete akende ja lÀbipaistvuse toed.
- X11 integratsiooni on parendatud: akende halduriga on tagatud akende aktiveerimise pÀringute saatmine ja EWMH protokolli rakendamine aktiivsete akende X11 ja Win32 olekute kooskÔlastamiseks.
- Rakendatud on eksklusiivse tĂ€isekraanimooduli tugi. Parendatud on tĂ€isekraani reĆŸiimi tuge D3D-s ja tĂ€iustatud on vanade mĂ€ngude toimimist DDrawil.
- MÔned akende kÀsitlemise funktsioonid on parendatud. Protsesside vaheliseks suhtlemiseks on kasutatud jagatud mÀlu.
- Direct3D
- Direct3D 11-s on lisatud H.264 video dekodeerimise riistvaraliselt kiirendamise tugi, mis on rakendatud Vulkan graafilise API kaudu.
- Direct3D 11-s on rakendatud minmax-filteri tuge tekstuuride jaoks, kasutades OpenGL laiendust GL_ARB_texture_filter_minmax vÔi Vulkan laiendust VK_EXT_sampler_filter_minmax.
- Direct3D 11-s on rakendatud tekstuuride laadimise funktsioonid.
- Rakendatud on ulatuslikud Direct3D vÔimalused joonistamiseks lÀbi Vulkani, sealhulgas vertikaalse segamise, tasapinnalise varjutamise, kohandatud lÔiketasapindade ja erinevate ressursiformaatide toed.
- VKD3D-shaderi sisseehitatud koopias on parendatud 1., 2. ja 3. mudelite shadereid.
- D3DXSaveSurfaceToFileInMemory meetodis on rakendatud PNG, JPEG ja BMP piltide tugi.
- Direct3D 10 ja 11 on rakendatud BC4 ja BC5 formaatide tihendamise ja dekompressiooni tugi, samuti MIP-taseme (MipMap) genereerimine tekstuuride laadimise ajal.
- Implementeritud on meetodid ID3DXEffect::SetRawValue() ja ID3DXSkinInfo::UpdateSkinnedMesh().
- Input devices
- Parendatud on mĂ€ngupultide ĂŒhilduvust tĂ€nu hidrawi tagasiside kasutamisele.
- Parendatud on jÔudlus tagasiside efekti (Force feedback) toe osas mÀngujuhikute ja -pultide kasutamisel.
- MÀngupultide tugi on parendatud API Windows.Gaming.Input ja evdev tagasilöökide kasutamisel.
- MĂ€ngu kontrollerite haldustes on lisatud vahekaart API Windows.Gaming.Input seadistamiseks.
- DirectInputi ĂŒhilduvus vanade mĂ€ngudega on parendatud.
- Bluetooth
- Bluetoothi draiverisse on lisatud seadmete skaneerimise, avastamise ja paaritamise seade.
- Lisatud on Bluetooth Low Energy teenuste tugi.
- Rakendustes on vĂ”imaldatud luua madala taseme RFCOMM-ĂŒhendusi vĂ€lisseadmetega, kasutades API Winsock.
- Skannerite tugi
- API TWAIN 2.0 toetus on rakendatud, vÔimaldades skanneritega töötada 64-bitistes rakendustes.
- Komponendi DAT_IMAGENATIVEXFER tugi on rakendatud skanneri piltide edastamiseks rakendusse.
- Valitud skanneri ja skanneri seadete salvestamine registrisse on tagatud.
- Mitme lehe skaneerimise ja automaatsete dokumentide sisestamise tugi on lisatud.
- Rakenduse blokeerimine skaneerimise liidese kutsumisel on lÔpetatud.
- Windowsi skannerite originaaldraiverite laadimise tugi on lisatud.
- Internatsionaliseerimine
- Locale DB genereerimine formaatides locale.nls on tagatud Unicode CLDR (Unicode Common Locale Data Repository) versioonist 48. Lisatud on tÀiendavate locale'de tugi: 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ĂŒmbolitabelid on uuendatud versioonile 17.0.0. Ajakohastatud on ajavööndite andmebaas.
- VÔrguteenused
- MSHTML mootori standardite jĂ€rgimise reĆŸiimis on tagatud elementide omaduste töötlemine tĂ€ieĂ”iguslike DOM-sĂ”lmedena. On rakendatud DOMParser, XDomainRequest ja msCrypto objektid.
- JavaScriptis on lisatud tĂŒĂŒbitud massiivide tugi.
- ICMPv6 jaoks on rakendatud ping kÀsk.
- Andmebaas
- MSADO (ActiveX Data Objects) teeki on lisatud tugi muudatuste kirjutamiseks andmebaasi. Suurem osa Recordset objekti funktsioonidest on rakendatud.
- odbc32 teegus on paranenud ANSI win32 draiverite toe, mis ei ole ette nÀhtud Unicode'i jaoks. Rakendatud on funktsioonid SQLDriverConnectA(), SQLSpecialColumnsW(), SQLGetInfoW(), SQLGetInfoW(), SQLStatisticsW() ja QLColumnsW().
- Sisseehitatud rakendused
- WineCfg-sse on lisatud vahekaart vaike MIDI-seadme seadistamiseks.
- cmd utiliidis on rakendatud failinimede sisendi automaatne tĂ€itmine interaktiivses tööreĆŸiimis, lisatud on keerukate kĂ€skude toetus ning rakendatud kĂ€sk 'mklink /j' Reparse Point'i loomiseks.
- Conhost (Console Hosting) utiliiti on lisatud toetus ajalugu saamiseks F1 ja F3 klahvide vajutamisel.
- On rakendatud kÀskude timeout, runas ja subst.
- Find utiliidi on lisatud valikud '/c' vastete arvu kuvamiseks ja '/i' vormingus ilma suurte tÀhtedeta vÔrreldes.
- Whoami utiliidis on saadaval vÀljundi vormingu seadistamise vÔimalus.
- Muud
- WIDL-i (Wine Interface Definition Language) teostuses on lisatud toetus Windows Runtime (WinRT) metainfo genereerimiseks. Tagatud on WinMD (Windows Metadata) failide genereerimine ja seadistamine WinRT API jaoks.
- Winedump utiliidi on lisatud toetus MUI ressursside, sĂŒsteemikutsede numbrite, sisseehitatud NE-moodulite ja suurte PDB failide (> 4 GB) dumpimiseks.
- Common Controli teostus on refaktoreeritud, COMCTL32 teek on jagatud eraldi mooduliteks versioonide 5 ja 6 jaoks.
- BCrypt-sse on lisatud PBKDF2 vÔtme mÀÀratlemise standardi toetus.
- Lisa on lisatud UserProgramFiles, AccountPictures ja Screenshots kataloogide tugi.
- Komplekti on integreeritud LLVM Compiler-RT 8.0.1 ja TomCrypt 1.18.2 teegid. FreeBSD platvormi CPU mÀÀramiseks on kasutusele vÔetud HwLoc teek.
- 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 komponendid on uuendatud uutele versioonidele.
Allikas: opennet.ru
