PÄc gada izstrÄdes un 26 eksperimentÄlÄm versijÄm tika prezentÄts stabils Win32 API atvÄrtÄs ievieÅ”anas izlaidums - Wine 9.0, kurÄ tika iekļautas vairÄk nekÄ 7000 izmaiÅas. Galvenie sasniegumi jaunajÄ versijÄ ietver WoW64 arhitektÅ«ras ievieÅ”anu 32 bitu programmu palaiÅ”anai 64 bitu vidÄ, draiveru integrÄciju, lai atbalstÄ«tu Wayland, atbalstu ARM64 arhitektÅ«rai, DirectMusic API ievieÅ”anu un atbalstu viedkartÄm.
Ir apstiprinÄts, ka 5336 (5266 pirms gada, 5156 pirms diviem gadiem, 5049 pirms trim gadiem) programmas darbojas pareizi programmÄ Wine. WindowsVÄl 4397 programmas (4370 pirms gada, 4312 pirms diviem gadiem, 4227 pirms trim gadiem) darbojas labi ar papildu iestatÄ«jumiem un ÄrÄjiem DLL failiem. 3943 programmÄm (3888 pirms gada, 3813 pirms diviem gadiem, 3703 pirms trim gadiem) ir nelielas problÄmas, kas netraucÄ lietojumprogrammu pamatfunkcionalitÄti.
Galvenie jauninÄjumi programmÄ Wine 9.0:
- Ir pievienots winewayland.drv draiveris, kas ļauj Wine izmantot Wayland vidÄs, neizmantojot XWayland vai X11 komponentus. Å Ä« izstrÄdes mÄrÄ·is ir nodroÅ”inÄt tÄ«ru Wayland vidi ar palaiÅ”anas atbalstu. Windowsā lietojumprogrammas, kurÄm nav jÄinstalÄ ar X11 saistÄ«tas pakotnes, kas ļauj uzlabot spÄļu veiktspÄju un atsaucÄ«bu, likvidÄjot nevajadzÄ«gus slÄÅus. Izmantojot tÄ«ru Wayland vidi Wine, tiek novÄrstas arÄ« X11 raksturÄ«gÄs droŔības problÄmas (piemÄram, neuzticamas X11 spÄles var izspiegot citas lietojumprogrammas, jo X11 protokols ļauj piekļūt visiem ievades notikumiem un veikt taustiÅu nospieÅ”anas aizstÄÅ”anu).
Draiveris ir atzÄ«mÄts kÄ eksperimentÄls un tiek izstrÄdÄts, taÄu tam jau ir atbalsts daudzÄm funkcijÄm, piemÄram, logu pÄrvaldÄ«bai, darbam ar vairÄkiem monitoriem, izvades mÄrogoÅ”anas atbalstam augsta pikseļu blÄ«vuma (augsta DPI) ekrÄnos, darbam ar relatÄ«vÄs koordinÄtes, izsekojot peles kustÄ«bu un atbalstu Vulkan grafikas API. PÄc noklusÄjuma draiveris nav aktÄ«vs, un, lai to iespÄjotu, reÄ£istra parametram "HKCU\Software\Wine\Drivers" ir jÄpievieno "wayland" un jÄpÄrliecinÄs, ka nav iestatÄ«ts DISPLAY vides mainÄ«gais: wine reg.exe add HKCU\ \Software\\Wine\\Drivers /v Grafika /d x11,wayland
- Visi moduļi ir pÄrveidoti par NT sistÄmas izsaukuma interfeisu, nevis veikt tieÅ”us zvanus starp PE un Unix slÄÅiem, atzÄ«mÄjot daudzu gadu darba pabeigÅ”anu, lai pÄrveidotu visus DLL, lai izmantotu PE (Portable Executable) izpildÄmÄ faila formÄtu.
- TurpinÄjÄs WoW64 slÄÅa (64 bitu) izstrÄde. Windows-Ä-Windows), kas ļauj palaist 32 bitu Windowsā lietojumprogrammas 64 bitu Unix sistÄmÄs. Visi moduļi, kas piekļūst Unix bibliotÄkÄm, izmanto WoW64 sistÄmas izsaukumu tulkotÄjus (thunks), kas ļauj 32 bitu moduļiem PE formÄtÄ piekļūt 64 bitu Unix bibliotÄkÄm.
Ir uzlabots jaunais WoW64 palaiÅ”anas režīms, kas ļauj 32 bitu kodam darboties 64 bitu procesÄ (vecajÄ WoW64 režīmÄ 32 bitu lietojumprogrammas darbojÄs 32 bitu Unix procesos). PlatformÄ ir pievienots atbalsts jaunÄ WoW64 režīma izmantoÅ”anai. macOSTÄ kÄ jaunajam WoW64 režīmam ir dažas nelielas kļūdas, piemÄram, 16 bitu atbalsta trÅ«kums un samazinÄta OpenGL veiktspÄja ARB_buffer_storage paplaÅ”inÄjuma atbalsta trÅ«kuma dÄļ, tas vÄl nav iespÄjots pÄc noklusÄjuma un ir jÄveido, izmantojot opciju "--enable-archs=i386,x86_64" konfigurÄÅ”anas skriptÄ.
- Pievienota iespÄja izpildÄ«t esoÅ”os izpildÄmos failus Windows SistÄmÄs ar ARM64 arhitektÅ«ru. Wine tagad var veidot ARM64EC (ARM64 Emulation Compatible) ABI, un var ielÄdÄt ARM64EC moduļus. Å ie moduļi tiek izmantoti, lai vienkÄrÅ”otu sÄkotnÄji x86_64 arhitektÅ«rai rakstÄ«tu lietojumprogrammu pÄrneÅ”anu uz ARM64 sistÄmÄm, iespÄjojot atseviŔķu x86_64 koda moduļu izpildi ARM64 vidÄ, izmantojot emulatoru. Ir pievienots atbalsts ARM64X PE faila formÄtam, kas ļauj ielÄdÄt vienu izpildÄmo failu gan x64/Arm64EC, gan ARM64 procesos. Ir ieviesta saskarne 32 bitu x86 sistÄmu emulÄÅ”anai, taÄu emulatora bibliotÄka vÄl nav iekļauta galvenajÄ Wine izplatÄ«jumÄ (ÄrÄjo FEX emulatoru var izmantot, lai palaistu x86 kodu ARM64 vidÄ).
- Grafikas apakÅ”sistÄma
- PostScript draiveris ir pÄrveidots, lai atbalstÄ«tu spoles failus formÄtÄ Windows, kuros tiek glabÄti dati par drukas darbiem. TieÅ”ie izsaukumi uz draiveri no Unix vides nav iekļauti.
- WinRT motÄ«viem ir pievienots tumÅ”Ä režīma atbalsts. Programmai WineCfg ir pievienots iestatÄ«jums, lai iespÄjotu tumÅ”o interfeisa dizainu.
- Vulkan grafikas API draiveris ir pievienojis atbalstu Vulkan 1.3.272 specifikÄcijai (8.0 tika atbalstÄ«ts Wine 1.3.237).
- GdiPlus bibliotÄkas funkcijas ir optimizÄtas, ļaujot uzlabot grafikas veiktspÄju.
- Direct3D
- VairÄku pavedienu komandu straumes parsÄÅ”ana tiek apturÄta, ja netiek apstrÄdÄtas renderÄÅ”anas komandas, kas ļauj samazinÄt enerÄ£ijas patÄriÅu lÄ«dz viena pavediena apstrÄdes lÄ«menim, izpildot programmas, kas neaizÅem visu komandu straumes joslas platumu.
- Direct3D 10 ietver atbalstu papildu efektiem.
- Veiktas veiktspÄjas optimizÄcijas WineD3D kodam un aizmugursistÄmai, izmantojot Vulkan grafikas API.
- Uz Vulkan API balstÄ«tais renderÄÅ”anas kods tagad pÄrbauda, āākÄdas iespÄjas ierÄ«ce atbalsta, un norÄda lietojumprogrammai, kÄds Direct3D funkcionalitÄtes lÄ«menis ir pieejams.
- Ir ieviestas funkcijas D3DXFillTextureTX un D3DXFillCubeTextureTX.
- KlasiskÄ OpenGL ARB ÄnotÄja aizmugursistÄma ir pievienojusi atbalstu Änu definÄÅ”anai, izmantojot paplaÅ”inÄjumu ARB_fragment_program_shadow.
- D3DXLoadMeshHierarchyFromX un lÄ«dzÄ«gas funkcijas ir pievienojuÅ”as atbalstu lietotÄja datu ielÄdei, izmantojot ID3DXLoadUserData saskarni.
- SkaÅa un video
- Ir ierosinÄta sÄkotnÄjÄ DirectMusic API ievieÅ”ana. Pievienots atbalsts kolekcijÄm, instrumentiem un skaÅas paraugiem SoundFont formÄtÄ. Pievienots atbalsts Doplera efektam. Ir ieviesti testi, lai pÄrbaudÄ«tu pareizu ievieÅ”anu, darbinot dmime sekvencÄtÄju un dmsynth MIDI sintezatoru.
- FluidSynth bibliotÄka ir iebÅ«vÄta DirectMusic API lietoÅ”anai.
- Ieviests atbalsts skaÅas fontu ielÄdei (SoundFont ā uz paraugiem balstÄ«tas sintÄzes formÄti, ko izmanto MIDI failu atskaÅoÅ”anai) DLS1 un DLS2 formÄtos, kÄ arÄ« SF2 formÄtÄ, ko izmanto Linux.
- Pievienota iespÄja atskaÅot MIDI saturu, izmantojot dmsynth bibliotÄku, izmantojot FluidSynth programmatÅ«ras sintezatoru un DirectSound API audio izvadei.
- Pievienots video dekodÄtÄjs Indeo IV50 video kodeka formÄtÄ.
- Directshow
- Ir ieviests DMO (DirectX Media Object) komponents ar WMV formÄta dekoderu (Windows Multivides video).
- Pievienots audio uztverŔanas filtrs (DirectShow Audio Capture Filter).
- Papildus audio straumÄm MPEG-1 straumes sadalÄ«tÄjs (DirectShow MPEG-1 straumes sadalÄ«tÄjs) tagad atbalsta video straumes un pakalpojumu straumes.
- Ir ieviests filtrs video dekodÄÅ”anai MPEG-1 formÄtÄ (DirectShow MPEG-1 video dekodÄtÄjs).
- Ieejas ierīces
- DirectInput atbalsta darbÄ«bu kartÄÅ”anu, kas ļauj saistÄ«t spÄles kontrollera pogas ar noteiktÄm darbÄ«bÄm spÄlÄs.
- Darbvirsmas integrÄcija
- SaistÄ«bas ir eksportÄtas uz galveno lietotÄja vidi, ļaujot lietotnes, kas darbojas programmÄ Wine, izsaukt par protokolu apdarinÄtÄjiem, atverot URL (piemÄram, palaižot spotify.exe, atverot tÄdas saites kÄ āspotify:user:spotify:playlist:848218482355482821ā).
- Ieviesta EDID (Extended Display Identification Data) datu ieguve ar informÄciju par pievienotÄ monitora parametriem, piemÄram, ierÄ«ces nosaukumu un modeli.
- PilnekrÄna režīmÄ izvietotu darbvirsmas logu var aizvÄrt, izmantojot izvÄlnÄ SÄkt pogu āIziet no darbvirsmasā.
- InternacionalizÄcija
- Ir paplaÅ”inÄts atbalsts IME (ievades metožu redaktoriem). Ir veikts darbs, lai nodroÅ”inÄtu saderÄ«bu ar vietÄjÄm Windows IME ievieÅ”ana un uzlabota integrÄcija ar Linux EMI
- Ir nodroÅ”inÄts lokÄlo datu bÄzu Ä£enerÄÅ”ana locale.nls formÄtÄ no Unicode CLDR (Unicode Common Locale Data Repository) versijas 44 datu bÄzes atbalsts papildu lokalizÄcijÄm bew-ID, blo-BJ, csw-CA, ti-EE, mic-CA. , ir pievienots prg-PL , skr-PK, tyv-RU, vmw-MZ, xnr-IN un za-CN.
- Interfeiss ir tulkots gruzÄ«nu valodÄ. Pilni tulkojumi tiek nodroÅ”inÄti 16 valodÄs un daļÄji tulkojumi 31 valodai.
- Unikoda rakstzÄ«mju tabulas ir atjauninÄtas uz standarta versiju 15.1.0. Laika joslu datu bÄze ir atjauninÄta.
- Kodols (kodola saskarnes) Windows)
- KÄ izdotajÄ versijÄ Windows definÄts pÄc noklusÄjuma Windows 10.
- IzpildÄmajiem failiem PE formÄtÄ ir ieviests adreÅ”u telpas nejauÅ”inÄÅ”anas (ASLR) atbalsts, taÄu adreses koda ielÄdei atmiÅÄ vÄl nav pilnÄ«bÄ randomizÄtas.
- Ir ieviests atbalsts vÄji fragmentÄtai kaudzÄ«tei (LFH, Low Fragmentation Heap), kas ir palielinÄjis atmiÅas pieŔķirÅ”anas darbÄ«bu veiktspÄju.
- VirtuÄlÄs atmiÅas pieŔķirÅ”anas mehÄnismam ir pievienots atbalsts atmiÅas rezervÄÅ”anai (vietturis), ļaujot lietojumprogrammai rezervÄt noteiktu virtuÄlÄs atmiÅas apgabalu turpmÄkai lietoÅ”anai.
- IzpildÄmo failu un bibliotÄku 64 bitu ielÄdÄtÄji (ielÄdÄtÄjs un priekÅ”ielÄdÄtÄjs) tiek apkopoti PIE (no pozÄ«cijas neatkarÄ«gi izpildÄmie faili) formÄtÄ, lai atbrÄ«votu daļu no 32 bitu adreÅ”u telpas.
- Pareiza steka attīŔana tiek nodroÅ”inÄta NT sistÄmas zvaniem un lietotÄju atzvanīŔanas zvaniem.
- Tīkla funkcijas
- MSHTML dzinÄjs atbalsta atkritumu savÄkÅ”anas mehÄnismu āCycle Collectionā.
- MSHTML ir pievienojis atbalstu XMLHttpRequest pieprasÄ«jumu sinhronai apstrÄdei.
- jscript.dll pievieno atbalstu WeakMap objektam, lai tas darbotos ar atslÄgu/vÄrtÄ«bu pÄru kolekciju, kurÄ atslÄga ir objekts, kuram var bÅ«t pievienota patvaļīga vÄrtÄ«ba. Ieviestas metodes WeakMap.get(), WeakMap.delete(), WeakMap.clear() un WeakMap.has().
- Gecko pÄrlÅ«kprogrammas dzinÄjs ir atjauninÄts uz versiju 2.47.4.
- Ir ieviests atbalsts paziÅojumiem par izmaiÅÄm tÄ«kla saskarnes stÄvoklÄ«.
- KriptogrÄfija un droŔība
- ViedkarÅ”u atbalsts ir pievienots Winscard.dll bibliotÄkai, kas ieviesta, izmantojot PCSClite sistÄmas bibliotÄku.
- BCrypt ir pievienojis atbalstu Diffie-Hellman atslÄgu apmaiÅas protokolam.
- Ir ieviesta Negotiate pakotne, kas nodroÅ”ina slÄni SSPI (Security Support Provider Interface) saskarnes izmantoÅ”anai, lai piekļūtu SSP (Security Support Provider) nodroÅ”inÄtÄjiem.
- IegultÄs lietojumprogrammas
- Wine atkļūdotÄjs (winedbg) izmanto Zydis bibliotÄku, lai izjauktu X86 maŔīnas instrukcijas.
- WineCfg saskarne ir atjauninÄta, lai atbalstÄ«tu vecÄkas versijas 64 bitu platformÄs. Windows (pirms XP), kas ļauj palaist mantotas lietojumprogrammas, izmantojot WoW64 režīmu.
- Visas iebÅ«vÄtÄs grafiskÄs lietojumprogrammas tagad parÄda kļūdu informÄciju atseviÅ”Ä·Ä dialoglodziÅÄ, nevis konsolÄ.
- Systeminfo programma nodroÅ”ina informÄcijas attÄloÅ”anu no WMI datubÄzes (Windows VadÄ«bas instrumentÄcija).
- Pievienota klist programma, lai parÄdÄ«tu Kerberos biļetes.
- Lietojumprogramma Taskkill ievieÅ” iespÄju piespiedu kÄrtÄ pÄrtraukt bÄrnu procesus.
- Starta utilÄ«tai ir pievienota opcija "/machine", lai atlasÄ«tu arhitektÅ«ru, kas tiek izmantota, palaižot hibrÄ«das izpildÄmÄs programmas, kas atbalsta x86 un ARM.
- Ir ieviesta lielÄkÄ daļa uzdevumu saraksta programmas funkcionalitÄtes.
- Pievienota lietojumprogrammas findstr pamata ievieŔana.
- IzstrÄdes rÄ«ki
- WineDump utilitÄtei ir iespÄja parÄdÄ«t reÄ£istra failu saturu. Windows (REGF formÄtÄ), kÄ arÄ« datu attÄloÅ”ana visÄm arhitektÅ«rÄm (x86/ARM64), kas tiek atbalstÄ«tas hibrÄ«dajos PE failos.
- IDL kompilators ir pievienojis atbalstu atribūtiem "composable", "default_overload", "deprecated" un "protected".
- NoÅemts libwine.so, kas tika novecojis operÄtÄjsistÄmÄ Wine 6.0 un jau sen vairs netiek izmantots programmÄ Wine. ProgrammÄm ELF formÄtÄ, kas iebÅ«vÄtas vecÄkÄs Wine versijÄs (5.0 un vecÄkas) ar libwine.so, ir nepiecieÅ”ama pÄrbÅ«ve, lai tÄs darbotos programmÄ Wine 9.0.
- IebÅ«vÄtÄs bibliotÄkas un ÄrÄjÄs atkarÄ«bas
- BibliotÄkas FluidSynth 2.3.3, Musl 1.2.3 (tikai matemÄtiskÄs funkcijas) un Zydis 4.0.0 ir integrÄtas pakotnÄ.
- Komponenti Vkd3d 1.10, Faudio 23.12, OpenLDAP 2.5.16, LCMS2 2.15, LibMPG123 1.32.2, LibPng 1.6.40, LibTiff 4.6.0, LibXml2 2.11.5 un LibXml1.1.38 1.3 ir jauni s. Wine Mono dzinÄjs ar .NET platformas ievieÅ”anu ir atjauninÄts uz 8.1.0.
- Draiveris winewayland.drv kÄ ÄrÄjÄs atkarÄ«bas izmanto Wayland klienta bibliotÄku, kÄ arÄ« xkbcommon un xkbregistry bibliotÄkas.
- Lai atbalstÄ«tu viedkartes, tiek izmantota ÄrÄjÄ PCSClite bibliotÄka ( macOS ā PCSC).
- Lai izveidotu PE failus uz platformÄm, kas nav i386, tagad ir nepiecieÅ”ams savstarpÄjais kompilators ar ".seh" direktÄ«vu atbalstu, lai apstrÄdÄtu izÅÄmumus.
Avots: opennet.ru
