Pas njĂ« vit zhvillimi dhe 26 versione eksperimentale, Ă«shtĂ« prezantuar versioni stabil i implementimit tĂ« hapur tĂ« Win32 API â Wine 9.0, i cili pĂ«rmban mĂ« shumĂ« se 7000 ndryshime. Nga arritjet kryesore nĂ« kĂ«tĂ« version tĂ« ri pĂ«rmendet implementimi i arkitekturĂ«s WoW64 pĂ«r ekzekutimin e aplikacioneve 32-bit nĂ« njĂ« ambient 64-bit, integrimi i njĂ« drivere pĂ«r mbĂ«shtetje tĂ« Wayland-it, mbĂ«shtetje pĂ«r arkitekturĂ«n ARM64, implementimi i API-sĂ« DirectMusic dhe mbĂ«shtetje pĂ«r kartat inteligente.
Në Wine është konfirmuar puna e plotë e 5336 aplikacioneve (një vit më parë 5266, dy vjet më parë 5156, tri vjet më parë 5049) për Windows, ndërsa 4397 (një vit më parë 4370, dy vjet më parë 4312, tri vjet më parë 4227) aplikacione punojnë me shkallë të lartë me konfigurime shtesë dhe DLL të jashtme. Për 3943 aplikacioneve (një vit më parë 3888, dy vjet më parë 3813, tri vjet më parë 3703) vërehen probleme të vogla në funksionim, të cilat nuk pengojnë përdorimin e funksioneve kryesore të aplikacioneve.
Novitetet kryesore të Wine 9.0:
- Shtuar është driver-i winewayland.drv, i cili lejon përdorimin e Wine në mjedise të bazuara në protokollin Wayland pa nevojën për XWayland dhe komponentët X11. Zhvillimi synon të sigurojë funksionimin e një ambienti të pastër Wayland me mbështetje për ekzekutimin e aplikacioneve Windows, pa nevojën për instalimin e paketeve që lidhen me X11, çka lejon arritjen e performancës më të lartë dhe reagueshmërisë së lojërave duke eliminuar shtresat e panevojshme. Përdorimi i një ambienti të pastër Wayland për Wine gjithashtu lejon që të hiqen problemet e sigurisë që lidhen me X11 (p.sh., lojërat e pasiguruara për X11 mund të spiunojnë aplikacione të tjera sepse protokolli X11 lejon qasje në të gjitha ngjarjet e hyrjes dhe për të realizuar zëvendësimin e shtypjeve të rreme të çelësave).
Driver-i është shënuar si eksperimental dhe në zhvillim, por megjithatë, ai tashmë ka mbështetje për shumë mundësi, të tilla si menaxhimi i dritareve, puna me disa monitorë, mbështetje për shkallëzimin e output-it në ekrane me densitet të lartë pikselesh (high-DPI), puna me koordinata relative gjatë ndjekjes së lëvizjes së mice-it dhe mbështetje për API-në grafike Vulkan. Në mënyrë të paracaktuar, driver-i nuk është aktiv dhe për ta aktivizuar atë, duhet të shtoni «wayland» në parametrin e regjistrit «HKCU\Software\Wine\Drivers» dhe të siguroheni që variabli i ambientit DISPLAY të mos jetë i vendosur: wine reg.exe add HKCU\\Software\\Wine\\Drivers /v Graphics /d x11,wayland
- ĂshtĂ« realizuar pĂ«rkthimi i tĂ« gjitha moduleve nĂ« ndĂ«rfaqen e sistemit tĂ« thirrjeve NT, nĂ« vend tĂ« thirrjeve direkte midis niveleve PE dhe Unix, qĂ« shĂ«noi pĂ«rfundimin e njĂ« pune shumĂ«vjeçare pĂ«r pĂ«rkthimin e tĂ« gjitha bibliotekave DLL pĂ«r pĂ«rdorimin e formatit tĂ« skedarĂ«ve ekzekutivĂ« PE (Portable Executable).
- ĂshtĂ« vazhduar zhvillimi i shtresĂ«s WoW64 (64-bit Windows-on-Windows), e cila lejon ekzekutimin e aplikacioneve Windows 32-bit nĂ« sisteme Unix 64-bit. NĂ« tĂ« gjitha modulet qĂ« lidhen me bibliotekat Unix, janĂ« pĂ«rfshirĂ« konvertuesit e thirrjeve tĂ« sistemit WoW64 (thunk), tĂ« cilĂ«t lejojnĂ« modulet 32-bit nĂ« formatin PE tĂ« kenĂ« akses nĂ« bibliotekat Unix 64-bit.
ĂshtĂ« pĂ«rmirĂ«suar njĂ« modalitet i ri funksionimi tĂ« WoW64, nĂ« tĂ« cilin kodi 32-bit 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Ă«n macOS. Duke qenĂ« se nĂ« modalitetin e ri WoW64 shfaqen disa mangĂ«si, si mungesa e mbĂ«shtetjes pĂ«r modalitetin 16-bit dhe ulja e performancĂ«s OpenGL pĂ«r shkak tĂ« mungesĂ«s sĂ« mbĂ«shtetjes pĂ«r zgjerimin ARB_buffer_storage, ai pĂ«r momentin nuk Ă«shtĂ« aktivizuar si parazgjedhje dhe kĂ«rkon ndĂ«rtim me opsionin "--enable-archs=i386,x86_64" nĂ« skriptin configure.
- ĂshtĂ« shtuar mundĂ«sia e ekzekutimit tĂ« skedareve ekzekutivĂ« ekzistues Windows nĂ« sistemet me arkitekturĂ« ARM64. ĂshtĂ« realizuar mundĂ«sia e ndĂ«rtimit tĂ« Wine pĂ«r ABI ARM64EC (ARM64 Emulation Compatible) dhe mbĂ«shtetje pĂ«r ngarkimin e moduleve ARM64EC, tĂ« cilat lehtĂ«sojnĂ« portimin e aplikacioneve nĂ« sisteme ARM64, qĂ« fillimisht janĂ« shkruar pĂ«r arkitekturĂ«n x86_64, duke ofruar mundĂ«sinĂ« e ekzekutimit nĂ« njĂ« ambient ARM64 tĂ« moduleve tĂ« veçanta me kod x86_64 pĂ«rmes njĂ« emulatori. ĂshtĂ« shtuar mbĂ«shtetje pĂ«r formatin e skedarĂ«ve PE ARM64X, i cili lejon ngarkimin e njĂ« skedari ekzekutiv nĂ« proceset x64/Arm64EC dhe ARM64. ĂshtĂ« realizuar njĂ« ndĂ«rfaqe pĂ«r emulimin e sistemeve 32-bit x86, por biblioteka me emuluesin pĂ«r momentin nuk Ă«shtĂ« pĂ«rfshirĂ« nĂ« pĂ«rbĂ«rjen kryesore tĂ« Wine (pĂ«r tĂ« ekzekutuar kodin x86 nĂ« ambientin ARM64 mund tĂ« pĂ«rdoret njĂ« emulator i jashtĂ«m FEX).
- Sistemi grafik
- Drejtpërdrejtori PostScript është ripërpunuar për mbështetje të skedarëve të spolit në formatin Windows, në të cilët ruhet informacioni për punët e printimit. Janë eliminuar thirrjet direkte në drejtpërdrejtori nga ambienti Unix.
- Në temat e dizajnit WinRT është shtuar mbështetje për modalitetin e errët. Në WineCfg është shtuar një opsion për aktivizimin e dizajnit të errët të ndërfaqes.
- Në driver për API-në grafike Vulkan është shtuar mbështetje për specifikimin Vulkan 1.3.272 (në Wine 8.0 u mbështet 1.3.237).
- Janë optimizuar funksionet e bibliotekës GdiPlus, duke rritur performancën e punës me grafikën.
- Direct3D
- ĂshtĂ« siguruar pezullimi i analizĂ«s sĂ« rrjedhĂ«s shumĂ«thesare tĂ« komandave nĂ« kushte kur nuk ka komanda vizatimi pĂ«r t'u pĂ«rpunuar, duke lejuar reduktimin e konsumit tĂ« energjisĂ« nĂ« nivelin e pĂ«rpunimit me njĂ« rrjedhĂ« kur ekzekutohen programe qĂ« nuk e zĂ«nĂ« tĂ«rĂ« kapacitetin e rrjedhĂ«s sĂ« komandave.
- Në Direct3D 10 është implementuar mbështetje për efekte shtesë.
- Janë bërë optimizime të performancës në kodin WineD3D dhe backend-in që përdor API-në grafike Vulkan.
- Në kodin e vizatimit të bazuar në API-në Vulkan është shtuar një kontroll mbi mundësitë e mbështetura nga pajisja dhe dalin informacione për aplikacionin mbi nivelin e disponueshëm të funksionalitetit Direct3D.
- Janë realizuar funksionet D3DXFillTextureTX dhe D3DXFillCubeTextureTX.
- Në backend-in klasik të shenjave OpenGL ARB është shtuar mbështetje për përcaktimin e hijeve përmes zgjerimit ARB_fragment_program_shadow.
- Në D3DXLoadMeshHierarchyFromX dhe funksione të ngjashme është shtuar mbështetje për ngarkimin e të dhënave të personalizuara përmes ndërfaqes ID3DXLoadUserData.
- Zëri dhe video
- ĂshtĂ« propozuar njĂ« implementim fillestar i API-t DirectMusic. ĂshtĂ« shtuar mbĂ«shtetje pĂ«r koleksione, instrumente dhe mostra tingujsh nĂ« formatin SoundFont. ĂshtĂ« shtuar mbĂ«shtetje pĂ«r efektin Doppler. JanĂ« realizuar teste pĂ«r tĂ« verifikuar saktĂ«sinĂ« e realizimit gjatĂ« punĂ«s sĂ« sekvencuesit dmime dhe sintetizatorit MIDI dmsynth.
- Për përdorim në API DirectMusic është integruar biblioteka FluidSynth.
- ĂshtĂ« zbatuar mbĂ«shtetje pĂ«r ngarkimin e font-eve tĂ« tingujve (SoundFont â formate pĂ«r sintezĂ« tĂ« bazuar nĂ« mostra, qĂ« pĂ«rdoren pĂ«r tĂ« luajtur skedarĂ«t MIDI) nĂ« formatet DLS1 dhe DLS2, si edhe nĂ« formatin SF2, qĂ« pĂ«rdoret nĂ« Linux.
- ĂshtĂ« shtuar mundĂ«sia e luajtjes sĂ« pĂ«rmbajtjes MIDI pĂ«rmes bibliotekĂ«s dmsynth, duke pĂ«rdorur sintetizatorin softueror FluidSynth dhe API-nĂ« DirectSound pĂ«r daljen e tingullit.
- ĂshtĂ« shtuar njĂ« dekodues pĂ«r video nĂ« formatin e kodek-ut tĂ« videos Indeo IV50.
- DirectShow
- ĂshtĂ« realizuar komponenti DMO (DirectX Media Object) me dekoduesin e formatit WMV (Windows Media Video).
- ĂshtĂ« shtuar filtrin e kapjes sĂ« tingujve (DirectShow Audio Capture Filter).
- NĂ« filtrin e ndarjes sĂ« rrjedhave MPEGâ1 (DirectShow MPEGâ1 Stream Splitter) pĂ«rveç rrjedhave tĂ« tingujve Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r rrjedhat video dhe rrjedhat shĂ«rbyese.
- ĂshtĂ« realizuar filtri pĂ«r dekodimin e videos nĂ« formatin MPEGâ1 (DirectShow MPEGâ1 Video Decoder).
- Pajisjet e inputit
- Në DirectInput është implementuar mbështetje për hartimin e veprimeve (action maps), që lejojnë lidhjen e butonave në kontrolluesin e lojës me veprime të caktuara në lojëra.
- Integrimi me desktopin
- ĂshtĂ« siguruar eksportimi nĂ« mjedisin kryesor tĂ« pĂ«rdoruesit tĂ« lidhjeve, qĂ« lejojnĂ« thirrjen e aplikacioneve tĂ« menaxhuara nga Wine si trajtuesit e protokolleve kur hapen URL-tĂ« (p.sh., nisja e spotify.exe kur hapen lidhjet e llojit "spotify:user:spotify:playlist:848218482355482821").
- ĂshtĂ« realizuar nxjerrja e tĂ« dhĂ«nave EDID (Extended Display Identification Data) me informacione mbi parametrat e monitorit tĂ« lidhur, si emri dhe modeli i pajisjes.
- ĂshtĂ« ofruar mundĂ«sia pĂ«r tĂ« mbyllur dritaren e desktopit, e shfaqur nĂ« modalitetin e plotĂ« ekrani, duke pĂ«rdorur butonin "Exit desktop" nĂ« menunĂ« "Start".
- Internacionalizimi
- ĂshtĂ« zgjeruar mbĂ«shtetja pĂ«r IME (Input Method Editors). ĂshtĂ« punuar pĂ«r tĂ« siguruar kompatibilitetin me implementimet native pĂ«r Windows tĂ« IME dhe pĂ«rmirĂ«simin e integrimit me IME-nĂ« e Linuxit.
- ĂshtĂ« siguruar gjenerimi i bazĂ«s sĂ« tĂ« dhĂ«nave tĂ« locale-ve nĂ« formatin locale.nls nga baza e tĂ« dhĂ«nave Unicode CLDR (Unicode Common Locale Data Repository) versioni 44. ĂshtĂ« shtuar mbĂ«shtetje pĂ«r locale-t shtesĂ« bew-ID, blo-BJ, csw-CA, ie-EE, mic-CA, prg-PL, skr-PK, tyv-RU, vmw-MZ, xnr-IN dhe za-CN.
- ĂshtĂ« bĂ«rĂ« pĂ«rkthimi i ndĂ«rfaqes nĂ« gjuhĂ«n gjeorgjiane. ĂshtĂ« siguruar pĂ«rkthim i plotĂ« pĂ«r 16 gjuhĂ«, ndĂ«rsa pĂ«rkthime tĂ« pjesshme pĂ«r 31 gjuhĂ«.
- Tabela e simboleve Unicode është përditësuar në versionin 15.1.0. Baza e të dhënave të zonas kohore është përditësuar.
- Bërthama (ndërfaqet e bërthamës Windows)
- Si versioni i dhënë i Windows si parazgjedhje është përcaktuar Windows 10.
- Për skedarët ekzekutues në formatin PE është realizuar mbështetje për rastësimin e hapësirës së adresave (ASLR), por adresat e ngarkimit të kodit në memorie ende nuk janë plotësisht të rastësishme.
- ĂshtĂ« realizuar mbĂ«shtetje pĂ«r heap-in me fragmentim tĂ« ulĂ«t (LFH, Low Fragmentation Heap), qĂ« ka lejuar rritjen e performancĂ«s sĂ« operacioneve tĂ« alokimit tĂ« memories.
- Në mekanizmin e alokimit të memories virtuale është shtuar mbështetje për rezervimin e memories (placeholder), që lejon aplikacionit të rezervojë një zonë të caktuar të memories virtuale për përdorim në të ardhmen.
- Ngarkuesit 64-bit (loader dhe preloader) të skedarëve dhe bibliotikave ekzekutuese janë ndërtuar në formatin PIE (Position-Independent Executables) për të liruar një pjesë të hapësirës adresuese 32-bit.
- ĂshtĂ« siguruar njĂ« ndihmĂ« e saktĂ« nĂ« shtrirjen e stack-ut (stack unwinding) pĂ«r thirrjet sistemore NT dhe thirrjet e pĂ«rdoruesve.
- Mundësitë rrjetë
- Në motorin MSHTML është realizuar mbështetje për mekanizmin e mbledhjes së plehrave "Cycle Collection."
- Në MSHTML është shtuar mbështetje për modalitetin e përpunimit sinhron të kërkesave XMLHttpRequest.
- Në jscript.dll është shtuar mbështetje për objektin WeakMap për të punuar me koleksione çiftësh çelës/vlerë, ku çelësi është një objekt të cilit mund t'i bashkëngjitet një vlerë e rastësishme. Janë implementuar metodat WeakMap.get(), WeakMap.delete(), WeakMap.clear() dhe WeakMap.has().
- Motori i shfletuesit Gecko është përditësuar në versionin 2.47.4.
- ĂshtĂ« realizuar mbĂ«shtetje pĂ«r njoftimin e ndryshimit tĂ« gjendjes sĂ« ndĂ«rfaqes rrjet.
- Kriptografia dhe siguria
- Në bibliotekën Winscard.dll është shtuar mbështetje për kartat inteligjente, e realizuar përmes bibliotekës sistemore PCSClite.
- Në BCrypt është shtuar mbështetje për protokollin e shkëmbimit të çelësave Diffie-Hellman.
- ĂshtĂ« realizuar paketi Negotiate, qĂ« ofron njĂ« ndĂ«rfaqe pĂ«r pĂ«rdorimin e SSPI (Security Support Provider Interface) pĂ«r tĂ« komunikuar me ofruesit e SSP (Security Support Provider).
- Aplikacione të integruara
- Në debuginë të Wine Debugger (winedbg) për disasemblerimin e instrukcioneve makinerike X86 është angazhuar biblioteka Zydis.
- Në ndërfaqen WineCfg është shtuar mundësia e vendosjes së versioneve të vjetra të Windows (deri në XP) në platforma 64-bit, duke lejuar ekzekutimin e aplikacioneve të vjetra duke përdorur modalitetin WoW64.
- Në të gjitha aplikacionet grafike të integruara është realizuar shfaqja e informacionit mbi gabimet në një dritare të veçantë, në vend të shfaqjes në konsolë.
- Në programin systeminfo është siguruar shfaqja e informacionit nga baza e të dhënave WMI (Windows Management Instrumentation).
- ĂshtĂ« shtuar aplikacioni klist pĂ«r shfaqjen e biletave Kerberos.
- Në aplikacionin taskkill është realizuar mundësia e ndalimit me forcë të proceseve fëmijë.
- Në utilitarin start është shtuar parametri «/machine» për të zgjedhur arkitekturën që përdoret për ekzekutimin e skedareve hibrid, që mbështesin x86 dhe ARM.
- ĂshtĂ« realizuar shumica e funksionaliteteve tĂ« programit tasklist.
- ĂshtĂ« shtuar implementimi bazĂ« i aplikacionit findstr.
- Veglat për zhvillimin
- Në utilitarin WineDump është realizuar mundësia e shfaqjes së përmbajtjes së skedarëve të regjistrit të Windows (formati REGF), si dhe shfaqja e të dhënave për të gjitha arkitekturën (x86/ARM64), që mbështeten në skedarët PE hibrid.
- Në kompilatorin IDL është shtuar mbështetje për atributet «composable», «default_overload», «deprecated» dhe «protected».
- ĂshtĂ« fshirĂ« biblioteka libwine.so, e cila ishte shpallur e vjetruar nĂ« lĂ«shimin e Wine 6.0 dhe qĂ« nuk pĂ«rdoret prej kohĂ«sh nĂ« Wine. Programet nĂ« formatin ELF, tĂ« ndĂ«rtuara nĂ« versione tĂ« vjetra tĂ« Wine (5.0 dhe mĂ« parĂ«) me libwine.so, pĂ«r tĂ« funksionuar nĂ« Wine 9.0 kĂ«rkojnĂ« rikonstruksion.
- Biblioteka të ndërtuara dhe varësi të jashtme
- Përfshihen në integrim bibliotekat FluidSynth 2.3.3, Musl 1.2.3 (vetëm funksionet matematikore) dhe Zydis 4.0.0.
- 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.5, LibXslt 1.1.38 dhe Zlib 1.3 janë azhurnuar në versionet më të reja. Motori Wine Mono me implementimin e platformës .NET është azhurnuar në lëshimin 8.1.0.
- Në drejtorin winewayland.drv janë angazhuar si varësi të jashtme biblioteka kliente Wayland, si dhe bibliotekat xkbcommon dhe xkbregistry.
- PĂ«r mbĂ«shtetje tĂ« kartave smart Ă«shtĂ« angazhuar biblioteka e jashtme PCSClite (nĂ« macOS â PCSC).
- Për ndërtimin e skedarëve PE në platforma të ndryshme nga i386, tani kërkohet një kompjuter i jashtëm që mbështet direktivat «.seh» për përpunimin e përjashtimeve.
Burimi: opennet.ru
