Pas një viti zhvillimi dhe 26 versionesh eksperimentale, u prezantua një version i qëndrueshëm i zbatimit të hapur të Win32 API - Wine 9.0, i cili përfshinte më shumë se 7000 ndryshime. Arritjet kryesore në versionin e ri përfshijnë zbatimin e arkitekturës WoW64 për ekzekutimin e programeve 32-bit në një mjedis 64-bit, integrimin e drejtuesve për të mbështetur Wayland, mbështetjen për arkitekturën ARM64, zbatimin e DirectMusic API dhe mbështetjen për kartat inteligjente.
5336 programe (5266 një vit më parë, 5156 dy vjet më parë, 5049 tre vjet më parë) janë konfirmuar se funksionojnë siç duhet në Wine. WindowsEdhe 4397 programe të tjera (4370 një vit më parë, 4312 dy vjet më parë, 4227 tre vjet më parë) funksionojnë mirë me cilësime shtesë dhe DLL të jashtme. 3943 programe (3888 një vit më parë, 3813 dy vjet më parë, 3703 tre vjet më parë) kanë probleme të vogla që nuk ndërhyjnë në funksionalitetin bazë të aplikacioneve.
Risitë kryesore në Wine 9.0:
- ĂshtĂ« shtuar drajveri winewayland.drv, duke lejuar qĂ« Wine tĂ« pĂ«rdoret nĂ« mjedise tĂ« bazuara nĂ« Wayland pa pĂ«rdorimin e komponentĂ«ve XWayland ose X11. Ky zhvillim synon tĂ« ofrojĂ« njĂ« mjedis tĂ« pastĂ«r Wayland me mbĂ«shtetje pĂ«r lançim. Windows- aplikacione qĂ« nuk kĂ«rkojnĂ« instalimin e paketave tĂ« lidhura me X11, gjĂ« qĂ« lejon performancĂ« dhe reagim mĂ« tĂ« lartĂ« nĂ« lojĂ«ra duke eliminuar shtresat e panevojshme. PĂ«rdorimi i njĂ« mjedisi tĂ« pastĂ«r Wayland pĂ«r Wine eliminon gjithashtu problemet e sigurisĂ« tĂ« natyrshme nĂ« X11 (pĂ«r shembull, lojĂ«rat e pabesueshme X11 mund tĂ« spiunojnĂ« aplikacione tĂ« tjera sepse protokolli X11 lejon qasje nĂ« tĂ« gjitha ngjarjet e hyrjes dhe kryen zĂ«vendĂ«simin e tasteve).
Drejtuesi është shënuar si eksperimental dhe në zhvillim, por, megjithatë, ai tashmë ka mbështetje për shumë veçori, si menaxhimi i dritareve, puna me monitorë të shumtë, mbështetje për shkallëzimin e daljes në ekranet me densitet të lartë pikselësh (DPI), duke punuar me koordinatat relative kur gjurmoni lëvizjen e miut dhe mbështetjen për API grafike Vulkan. Si parazgjedhje, drejtuesi nuk është aktiv dhe për ta aktivizuar atë, duhet të shtoni "wayland" në parametrin e regjistrit "HKCU\Software\Wine\Drivers" dhe sigurohuni që ndryshorja e mjedisit DISPLAY nuk është vendosur: wine reg.exe shtoni HKCU\ \Software\\Wine\\Drivers /v Graphics /d x11,wayland
- Të gjitha modulet janë konvertuar në ndërfaqen e thirrjeve të sistemit NT, në vend që të bëjnë thirrje direkte midis shtresave PE dhe Unix, duke shënuar përfundimin e shumë viteve të punës për të konvertuar të gjitha DLL-të për të përdorur formatin e skedarit të ekzekutueshëm PE (Portable Executable).
- Zhvillimi i shtresës WoW64 (64-bit) vazhdoi Windows-ne-Windows), e cila ju lejon të ekzekutoni 32-bit Windows- aplikacione në sisteme Unix 64-bit. Të gjitha modulet që hyjnë në bibliotekat Unix përdorin përkthyes të thirrjeve të sistemit WoW64 (faleminderit), duke lejuar që modulet 32-bit në formatin PE të hyjnë në bibliotekat Unix 64-bit.
Modaliteti i ri i nisjes sĂ« WoW64 Ă«shtĂ« pĂ«rmirĂ«suar, duke lejuar qĂ« kodi 32-bit tĂ« ekzekutohet brenda njĂ« procesi 64-bit (nĂ« modalitetin e vjetĂ«r WoW64, aplikacionet 32-bit ekzekutoheshin nĂ« procese Unix 32-bit). ĂshtĂ« shtuar mbĂ«shtetje pĂ«r pĂ«rdorimin e modalitetit tĂ« ri WoW64 nĂ« platformĂ«. macOSMeqenĂ«se modaliteti i ri WoW64 ka disa gabime tĂ« vogla, tĂ« tilla si mungesa e mbĂ«shtetjes 16-bit dhe performanca e reduktuar e OpenGL pĂ«r shkak tĂ« mungesĂ«s sĂ« mbĂ«shtetjes pĂ«r shtesĂ«n ARB_buffer_storage, ai nuk Ă«shtĂ« ende i aktivizuar si parazgjedhje dhe kĂ«rkon ndĂ«rtimin me opsionin "--enable-archs=i386,x86_64" nĂ« skriptin e konfigurimit.
- Shtoi mundĂ«sinĂ« pĂ«r tĂ« ekzekutuar skedarĂ«t ekzistues tĂ« ekzekutueshĂ«m Windows NĂ« sistemet me arkitekturĂ«n ARM64. Wine tani mund tĂ« ndĂ«rtohet pĂ«r ABI ARM64EC (ARM64 Emulation Compatible) dhe modulet ARM64EC mund tĂ« ngarkohen. KĂ«to module pĂ«rdoren pĂ«r tĂ« thjeshtuar transferimin e aplikacioneve tĂ« shkruara fillimisht pĂ«r arkitekturĂ«n x86_64 nĂ« sistemet ARM64 duke mundĂ«suar ekzekutimin e moduleve individuale tĂ« kodit x86_64 nĂ« mjedisin ARM64 duke pĂ«rdorur njĂ« emulator. ĂshtĂ« shtuar mbĂ«shtetje pĂ«r formatin e skedarit ARM64X PE, i cili lejon qĂ« njĂ« skedar i vetĂ«m ekzekutues tĂ« ngarkohet si nĂ« proceset x64/Arm64EC ashtu edhe nĂ« ARM64. ĂshtĂ« zbatuar njĂ« ndĂ«rfaqe pĂ«r emulimin e sistemeve x86 32-bit, por biblioteka e emulatorit nuk Ă«shtĂ« pĂ«rfshirĂ« ende nĂ« shpĂ«rndarjen kryesore tĂ« Wine (emulatori i jashtĂ«m FEX mund tĂ« pĂ«rdoret pĂ«r tĂ« ekzekutuar kodin x86 nĂ« mjedisin ARM64).
- Nënsistemi grafik
- Drajveri PostScript është ridizajnuar për të mbështetur skedarët spool në formatin Windows, të cilat ruajnë të dhëna rreth punëve të printimit. Thirrjet direkte te drajveri nga mjedisi Unix përjashtohen.
- Mbështetja e modalitetit të errët është shtuar në temat e WinRT. Një cilësim është shtuar në WineCfg për të mundësuar dizajnin e errët të ndërfaqes.
- Drejtuesi për API grafike Vulkan ka shtuar mbështetje për specifikimin Vulkan 1.3.272 (8.0 u mbështet në Wine 1.3.237).
- Funksionet e bibliotekës GdiPlus janë optimizuar, duke lejuar rritjen e performancës grafike.
- Direct3D
- Analiza e një rryme komandash me shumë fije pezullohet kur nuk ka komanda renderimi që përpunohen, gjë që lejon uljen e konsumit të energjisë në nivelin e përpunimit me një fije kur ekzekutohen programe që nuk zënë të gjithë gjerësinë e brezit të rrjedhës së komandës.
- Direct3D 10 përfshin mbështetje për efekte shtesë.
- Bëri optimizime të performancës për kodin WineD3D dhe backend duke përdorur API-në grafike Vulkan.
- Kodi i interpretimit i bazuar në Vulkan API tani kontrollon se çfarë aftësish mbështet pajisja dhe i tregon aplikacionit se çfarë niveli të funksionalitetit Direct3D është i disponueshëm.
- Funksionet D3DXFillTextureTX dhe D3DXFillCubeTextureTX janë implementuar.
- Backend-i klasik OpenGL ARB shader ka shtuar mbështetje për përcaktimin e hijeve duke përdorur shtesën ARB_fragment_program_shadow.
- D3DXLoadMeshHierarchyFromX dhe funksione të ngjashme kanë shtuar mbështetje për ngarkimin e të dhënave të përdoruesit duke përdorur ndërfaqen ID3DXLoadUserData.
- Tingulli dhe video
- ĂshtĂ« propozuar njĂ« zbatim fillestar i DirectMusic API. MbĂ«shtetje e shtuar pĂ«r koleksionet, instrumentet dhe mostrat e tingullit nĂ« formatin SoundFont. MbĂ«shtetje e shtuar pĂ«r efektin Doppler. JanĂ« zbatuar teste pĂ«r tĂ« verifikuar zbatimin e saktĂ« kur pĂ«rdorni sekuencuesin dmime dhe sintetizuesin MIDI dmsynth.
- Biblioteka FluidSynth është ndërtuar në DirectMusic API për përdorim.
- Mbështetje e implementuar për ngarkimin e fonteve të zërit (SoundFont - formate për sintezë të bazuar në mostra të përdorura për të luajtur skedarë MIDI) në formatet DLS1 dhe DLS2, si dhe në formatin SF2 të përdorur në Linux.
- U shtua aftësia për të luajtur përmbajtje MIDI duke përdorur bibliotekën dmsynth, duke përdorur sintetizuesin e softuerit FluidSynth dhe API DirectSound për daljen audio.
- U shtua një dekoder për video në formatin e kodikut të videos Indeo IV50.
- DirektShow
- Komponenti DMO (DirectX Media Object) me një dekoder të formatit WMV është implementuar (Windows Video mediatike).
- U shtua një filtër për kapjen e audios (Filtri DirectShow Audio Capture).
- PĂ«rveç transmetimeve audio, MPEGâ1 Stream Splitter (DirectShow MPEGâ1 Stream Splitter) tani mbĂ«shtet transmetimet video dhe transmetimet e shĂ«rbimit.
- ĂshtĂ« zbatuar njĂ« filtĂ«r pĂ«r dekodimin e videos nĂ« formatin MPEG-1 (DirectShow MPEG-1 Video Decoder).
- Pajisjet hyrëse
- DirectInput mbështet hartën e veprimeve, e cila ju lejon të lidhni butonat në një kontrollues loje me veprime specifike në lojëra.
- Integrimi i desktopit
- Lidhjet janë eksportuar në mjedisin kryesor të përdoruesit, duke lejuar që aplikacionet që ekzekutohen nën Wine të thirren si mbajtës të protokollit kur hapni një URL (për shembull, hapja e spotify.exe kur hapni lidhje si "spotify:user:spotify:playlist:848218482355482821").
- Zbatoi nxjerrjen e të dhënave EDID (Extended Display Identification Data) me informacione rreth parametrave të monitorit të lidhur, si emri dhe modeli i pajisjes.
- ĂshtĂ« e mundur tĂ« mbyllĂ«sh njĂ« dritare desktopi tĂ« vendosur nĂ« modalitetin e ekranit tĂ« plotĂ« duke pĂ«rdorur butonin "Dalje nga desktopi" nĂ« menynĂ« "Start".
- Ndërkombëtarizimi
- MbĂ«shtetja pĂ«r IME-tĂ« (Redaktuesit e Metodave tĂ« Hyrjes) Ă«shtĂ« zgjeruar. ĂshtĂ« kryer punĂ« pĂ«r tĂ« siguruar pĂ«rputhshmĂ«rinĂ« me versionin origjinal. Windows Implementime IME dhe integrim i pĂ«rmirĂ«suar me Linux IKE
- Gjenerimi i bazave të të dhënave lokale në formatin locale.nls nga databaza e Unicode CLDR (Unicode Common Locale Data Repository) versioni 44 i bazës së të dhënave është siguruar për vendndodhje shtesë bew-ID, blo-BJ, csw-CA, dmth.-EE, mic-CA. , është shtuar prg-PL , skr-PK, tyv-RU, vmw-MZ, xnr-IN dhe za-CN.
- Ndërfaqja është përkthyer në gjeorgjisht. Ofrohen përkthime të plota për 16 gjuhë dhe përkthime të pjesshme për 31 gjuhë.
- Tabelat e karaktereve Unicode janë përditësuar në versionin standard 15.1.0. Baza e të dhënave të zonës kohore është përditësuar.
- Bërthama (ndërfaqet e bërthamës Windows)
- Si versioni i lëshuar Windows përcaktuar si parazgjedhje Windows 10.
- Për skedarët e ekzekutueshëm në formatin PE, mbështetja për randomizimin e hapësirës së adresave (ASLR) është zbatuar, por adresat për ngarkimin e kodit në memorie nuk janë ende plotësisht të rastësishme.
- ĂshtĂ« zbatuar mbĂ«shtetje pĂ«r njĂ« grumbull tĂ« fragmentuar dobĂ«t (LFH, Low Fragmentation Heap), i cili ka rritur performancĂ«n e operacioneve tĂ« shpĂ«rndarjes sĂ« memories.
- Mbështetja për rezervimin e memories (mbajtës vendi) është shtuar në mekanizmin e shpërndarjes së kujtesës virtuale, duke lejuar një aplikacion të rezervojë një zonë specifike të memories virtuale për përdorim në të ardhmen.
- Ngarkuesit 64-bit (ngarkues dhe parangarkues) të skedarëve dhe bibliotekave të ekzekutueshme përpilohen në formatin PIE (Ekzekutues të pavarur nga pozicioni) për të liruar një pjesë të hapësirës së adresave 32-bit.
- Zbërthimi i duhur i stivës ofrohet për thirrjet e sistemit NT dhe thirrjet kthyese të përdoruesit.
- Karakteristikat e rrjetit
- Motori MSHTML mbështet mekanizmin e mbledhjes së mbeturinave "Cycle Collection".
- MSHTML ka shtuar mbështetje për përpunimin sinkron të kërkesave XMLHttpRequest.
- jscript.dll shton mbështetje për një objekt WeakMap për të punuar me një koleksion çiftesh çelësi/vlere në të cilin çelësi është një objekt që mund të ketë një vlerë arbitrare të bashkangjitur. Implementuar metodat WeakMap.get(), WeakMap.delete(), WeakMap.clear() dhe WeakMap.has().
- Motori i shfletuesit Gecko është përditësuar në versionin 2.47.4.
- Mbështetja për njoftimet në lidhje me ndryshimet në gjendjen e ndërfaqes së rrjetit është zbatuar.
- Kriptografia dhe Siguria
- Mbështetja për kartat inteligjente është shtuar në bibliotekën Winscard.dll, e implementuar përmes bibliotekës së sistemit PCSClite.
- BCrypt ka shtuar mbështetje për protokollin e shkëmbimit të çelësave Diffie-Hellman.
- Paketa Negociate është zbatuar, duke ofruar një shtresë për përdorimin e ndërfaqes SSPI (Security Support Provider Interface) për të hyrë në ofruesit e SSP (Security Support Provider).
- Aplikimi i plotë
- Wine Debugger (winedbg) përdor bibliotekën Zydis për të çmontuar udhëzimet e makinës X86.
- Ndërfaqja WineCfg është përditësuar për të mbështetur versionet më të vjetra në platformat 64-bit. Windows (para XP), i cili ju lejon të ekzekutoni aplikacione të trashëguara duke përdorur modalitetin WoW64.
- Të gjitha aplikacionet grafike të integruara tani shfaqin informacionin e gabimeve në një dialog të veçantë, në vend që t'i shfaqin ato në tastierë.
- Programi systeminfo ofron shfaqjen e informacionit nga baza e të dhënave WMI (Windows Instrumentimi i Menaxhimit).
- U shtua aplikacioni klist për të shfaqur biletat Kerberos.
- Aplikacioni taskkill zbaton aftësinë për të përfunduar me forcë proceset e fëmijëve.
- U shtua opsioni "/machine" në programin startues për të zgjedhur arkitekturën e përdorur kur ekzekutohen ekzekutuesit hibridë që mbështesin x86 dhe ARM.
- Shumica e funksionalitetit të programit të listës së detyrave është zbatuar.
- U shtua një zbatim bazë i aplikacionit findstr.
- Mjetet e Zhvillimit
- Programi WineDump ka aftësinë të shfaqë përmbajtjen e skedarëve të regjistrit. Windows (formati REGF), si dhe shfaqja e të dhënave për të gjitha arkitekturat (x86/ARM64) të mbështetura në skedarët hibridë PE.
- Përpiluesi IDL ka shtuar mbështetje për atributet "composable", "default_overload", "deprecated" dhe "protected".
- U hoq libwine.so, i cili ishte i vjetëruar në Wine 6.0 dhe prej kohësh nuk është përdorur më në Wine. Programet në formatin ELF të ndërtuara në versionet më të vjetra të Wine (5.0 dhe më të vjetra) me libwine.pra kërkojnë rindërtim për të ekzekutuar në Wine 9.0.
- Bibliotekat e integruara dhe varësitë e jashtme
- Bibliotekat FluidSynth 2.3.3, Musl 1.2.3 (vetëm funksionet matematikore) dhe Zydis 4.0.0 janë të integruara në paketë.
- Komponentët 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.5X1.1.38 dhe LibXml1.3 8.1.0XXNUMX të reja janë përditësuar versionet. Motori Wine Mono me implementimin e platformës .NET është përditësuar për të lëshuar XNUMX.
- Drejtuesi winewayland.drv përdor bibliotekën e klientit Wayland si varësi të jashtme, si dhe bibliotekat xkbcommon dhe xkbregistry.
- PĂ«r tĂ« mbĂ«shtetur kartat inteligjente, pĂ«rdoret biblioteka e jashtme PCSClite (nĂ« macOS â PCSC).
- Ndërtimi i skedarëve PE në platformat jo-i386 tani kërkon një ndër-përpilues me mbështetje për direktivat ".seh" për të trajtuar përjashtimet.
Burimi: opennet.ru
