Pas njĂ« viti zhvillimi dhe 29 versioneve eksperimentale, Ă«shtĂ« paraqitur versioni stabil i implementimit tĂ« hapur tĂ« Win32 API â Wine 10.0, i cili pĂ«rmban mĂ« shumĂ« se 6000 ndryshime. Disa nga arritjet kryesore nĂ« kĂ«tĂ« version pĂ«rfshijnĂ« mbĂ«shtetje tĂ« plotĂ« pĂ«r arkitekturĂ«n ARM64EC, shkallĂ«zimin nĂ« ekrane me dendĂ«si tĂ« lartĂ« pikseli, aktivizimin e parazgjedhur tĂ« drejtuesit Wayland, realizimin e paneleve pĂ«r konfigurovimin e ekranit dhe joystick-ut, njĂ« backend alternativ multimedial tĂ« bazuar nĂ« FFmpeg, njĂ« drejtues Bluetooth, mbĂ«shtetje pĂ«r Vulkan 1.4, dhe mundĂ«sinĂ« pĂ«r tĂ« imituar ndĂ«rrimin e modos sĂ« videos.
Në Wine konfirmohet funksionimi i plotë të 5372 programeve për Windows (një vit më parë 5336, dy vite më parë 5266, tre vite më parë 5156), ndërsa 4435 programe (një vit më parë 4397, dy vite më parë 4370, tre vite më parë 4312) funksionojnë shkëlqyeshëm me konfigurime të mëtejshme dhe DLL të jashtme. Te 4020 programeve (një vit më parë 3943, dy vite më parë 3888, tre vite më parë 3813) vërehen disa probleme të vogla në funksionim, të cilat nuk pengojnë përdorimin e funksioneve kryesore të aplikacioneve.
Novitet kryesore të Wine 10.0:
- ARM64
- Garantohet mbështetje e plotë për arkitekturën ARM64EC (ARM64 Emulation Compatible), niveli i mbështetjes në Wine ka arritur një barazim me arkitekturën ARM64. Arkitektura ARM64EC është zhvilluar për të lehtësuar portimin e aplikacioneve në sistemet ARM64, që fillimisht janë shkruar për sistemet x86_64, dhe lejon ekzekutimin në ambientin ARM64 të moduleve të veçanta me kod x86_64 përmes emulatorit.
- ĂshtĂ« realizuar mbĂ«shtetje e plotĂ« pĂ«r formatin e skedarĂ«ve PE-arm64X, i cili lejon kombinimin nĂ« njĂ« skedar ekzekutiv tĂ« kodit pĂ«r arkitekturat ARM64EC dhe ARM64. PĂ«r tĂ« ndĂ«rtuar Wine nĂ« formatin ARM64X, duhet tĂ« instaloni LLVM nga Git (funksionaliteti i nevojshĂ«m do tĂ« pĂ«rfshihet nĂ« versionin e LLVM 20) dhe gjatĂ« ekzekutimit tĂ« skriptit "configure" tĂ« specifikoni opsionin "âenable-archs=arm64ec,aarch64".
- ĂshtĂ« realizuar njĂ« ndĂ«rfaqe pĂ«r emulimin e sistemeve 64-bit x86. Kur pĂ«rdoret ARM64EC, vetĂ« Wine ekzekutohet siç Ă«shtĂ«, dhe emulimi aplikohet vetĂ«m pĂ«r kodin e aplikacioneve x86-64. Biblioteka me emulatorin ende nuk Ă«shtĂ« pĂ«rfshirĂ« nĂ« pĂ«rbĂ«rjen kryesore tĂ« Wine, por pĂ«r tĂ« ekzekutuar kodin x86-64 nĂ« ambientin ARM64, mund tĂ« pĂ«rdorni emulatorin e jashtĂ«m FEX, i ndĂ«rtuar me mbĂ«shtetje pĂ«r ARM64EC.
- Për të mbështetur ARM64, kërkohet përdorimi i faqeve të memorjes me madhësi 4KB, siç kërkon ABI Windows (ekzekutimi në mjedise me bërthama Linux që përdorin faqe memorjeje 16K ose 64K aktualisht nuk mbështetet).
- Nënshkrimi grafik
- ĂshtĂ« zbatuar njĂ« shkallĂ«zim mĂ« i saktĂ« nĂ« ekranet me densitet tĂ« lartĂ« pikselesh (High-DPI). ĂshtĂ« siguruar mbĂ«shtetje pĂ«r modin DPI Awareness pĂ«r organizimin e shfaqjeve tĂ« aplikacioneve nĂ« ekranet me densitet tĂ« lartĂ« pikselesh, duke marrĂ« parasysh nĂ«se aplikacioni mbĂ«shtet adaptimin nĂ« ndryshimin e DPI-sĂ« apo jo (aplikacionet qĂ« nuk e marrin parasysh DPI-nĂ« shkallĂ«zohen automatikisht). JanĂ« shtuar opsione pĂ«r tĂ« tejkaluar mbĂ«shtetjen High-DPI nĂ« lidhje me aplikacione tĂ« veçanta ose prefiksat Wine.
- NĂ« drejtuesin pĂ«r API grafike Vulkan Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r specifikimin Vulkan 1.4 (nĂ« Wine 9.0 Ă«shtĂ« mbĂ«shtetur Vulkan 1.3.272). ĂshtĂ« shtuar mbĂ«shtetje pĂ«r zgjerimet Vulkan pĂ«r kodimin dhe dekodimin e videos.
- Kur përdoret backend-i X11, është realizuar mundësia e vizatimit të dritareve të nënshkrimit Vulkan për aplikacionet që përdorin dritare të tilla për të shfaqur përmbajtje 3D (më parë kjo mundësi ishte e disponueshme vetëm për OpenGL).
- Biblioteka GdiPlus tani mbështetje për mekanizmin e lidhjes së fonteve («Font Linking»), i cili lejon përdorimin e disa fonteve gjatë shfaqjes së tekstit, nëse fonet e veçuara nuk mbulojnë të gjitha karakteret e pranishme në tekst.
- Wayland
- Në konfigurimin e paracaktuar është aktivizuar drivieri winewayland.drv, i cili lejon përdorimin e Wine në mjedise që bazohen në protokollin Wayland pa përdorur XWayland dhe komponentët e X11. Wine ekzekuton aplikacionet në Wayland drejtpërdrejt vetëm nëse XWayland nuk është i disponueshëm, përndryshe ekzekutimi me përdorimin e XWayland mbetet prioritar. Për të aktivizuar me forcë Wayland, mund të përdoret variabli i mjedisit DISPLAY, ose mund të shtoni një çelës në regjistër duke krijuar një skedar file.reg: Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\Wine\Drivers] «Graphics»=»wayland» dhe ta aplikoni me komandën: $ WINEPREFIX=/rruga/deri/në/prefiksi wine regedit /rruga/deri/në/file.reg
- Në drivin winewayland.drv është shtuar mbështetje për OpenGL dhe buferat e pikselëve (pBuffer).
- Janë zgjidhur problemet me pozicionimin e dritareve të daljes në mjedise që bazohen në Wayland.
- Me përdorimin e Wayland është realizuar mbështetje për ripërsëritjen automatik të shtypjes gjatë mbajtjes së çelësave.
- Integrimi me desktopin
- ĂshtĂ« shtuar njĂ« mekanizĂ«m eksperimentues pĂ«r imitim tĂ« âmodesettingâ, i cili lejon imitim tĂ« kalimit tĂ« mĂ«nyrave video pa ndryshuar faktikisht cilĂ«simet e ekranit. Shfaqja e ndryshimit tĂ« rezolucionit tĂ« ekranit pa kalim tĂ« mĂ«nyrĂ«s video krijohet pĂ«rmes zgjerimit dhe shkallĂ«zimit tĂ« dritareve.
- ĂshtĂ« shtuar njĂ« aplikacion i ri Desktop Control Panel (desk.cpl) me implementimin e ndĂ«rfaqes pĂ«r menaxhimin e cilĂ«simeve tĂ« ekranit (p.sh., Ă«shtĂ« e mundur tĂ« ndryshoni rezolucionin virtual tĂ« desktopit ose tĂ« konfiguroni parametrat e imituar tĂ« ekranit).
- ĂshtĂ« shtuar mundĂ«sia pĂ«r tĂ« rivendosur cilĂ«simet e ekranit nĂ« vlerat e paracaktuara nĂ« rastin e pamundĂ«sisĂ« pĂ«r tĂ« rikthyer gjendjen pas njĂ« pĂ«rfundimi tĂ« papritur tĂ« procesit.
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r çaktivizimin e shfaqjes sĂ« ikonave nĂ« sistemin e tray (nĂ« âHKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorerâ duhet tĂ« pĂ«rcaktohet âNoTrayItemsDisplay=1â).
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r çaktivizimin e shell-ave (Shell launcher) nĂ« modalitetin desktop (nĂ« âHKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorerâ duhet tĂ« pĂ«rcaktohet âNoDesktop=1â).
- Direct3D
- Për të përfaqësuar duke përdorur OpenGL tani kërkohet mbështetje GLSL 1.20, si dhe zgjerimet EXT_framebuffer_object dhe ARB_texture_non_power_of_two. Mbështetja për backend-in e vjetër ARB shader dhe cilësimin OffscreenRenderingMode është ndërprerë.
- Për Direct3D 9 dhe versionet më të vjetra është shtuar një pipeline grafik me funksione fikse (në Direct3D më të vjetrat janë ofruar vetëm operacione grafike të paracaktuara, të cilat nuk mund të ndryshoheshin), i zbatuar me gjuhën e shaderit HLSL dhe që lejon të emulojnë funksione fikse gjatë përfaqësimit përmes API Vulkan ose OpenGL.
- Gjatë përfaqësimit duke përdorur Vulkan janë angazhuar zgjerime Vulkan për ndryshimin dinamik të gjendjes së pipeline-it grafik, duke lejuar reduktimin e ngecjeve në lojëra.
- Shtuar një backend alternativ glsl-vkd3d për shaderat GLSL, që përdor vkd3d-shader.
- Ofrohet mbështetje fillestare për kompilimin e efekteve Direct3D, duke përdorur vkd3d-shader.
- Në bibliotekën D3DX9 është implementuar mundësia e gjenerimit të MIP-teksturave (MipMap) gjatë ngarkimit të teksteve voluminoze. Shtuar mbështetje për formatet e përfaqësimit të ngjyrave 64bpp RGBA dhe 48bpp RGB në imazhet PNG, si dhe formatet X8L8V8U8, A2W10V10U10, A8P8, V16U16 dhe Q16W16V16U16.
- Të dhënat dhe video
- Si alternativë ndaj backend-it të bazuar në GStreamer, është implementuar një backend i ri multimedia, i bazuar në përdorimin e FFmpeg dhe i përshtatshëm për sigurimin e funksionit të kornizës Media Foundation. Për të aktivizuar backend-in alternativ, në seksionin e regjistrit "HKCU\Software\Wine\MediaFoundation" duhet të specifikohet "DisableGstByteStreamHandler=1".
- Implementimi i API-së Media Foundation është përmirësuar, tani përshtatet më mirë me aplikacionet që varen nga komponentët e demuximit dhe dekodimit.
- API-ja DirectMusic tani mbështet ngarkimin e skedareve MIDI.
- Pajisjet hyrëse
- ĂshtĂ« shtuar njĂ« version fillestar i drejtuesit Bluetooth.
- ĂshtĂ« shtuar appleti Joystick Control Panel (joy.cpl) me implementimin e cilĂ«simeve pĂ«r joystick.
- JanĂ« bĂ«rĂ« pĂ«rmirĂ«sime nĂ« lidhje me pajisjet e kontrollit tĂ« pointerit (touchpads, mice) qĂ« pĂ«rdorin protokollin HID (Human Interface Device). ĂshtĂ« shtuar drejtuesi mouhid.sys pĂ«r pajisjet HID. Implementimi i analizĂ«s sĂ« saktĂ« tĂ« pajisjeve tĂ« inputit tĂ« pĂ«rbĂ«rĂ« Ă«shtĂ« realizuar dhe Ă«shtĂ« siguruar transmetimi i informacionit pĂ«r to nĂ« aplikacionet Windows, si pajisje tĂ« veçanta.
- Për backend-in X11 është shtuar mbështetje për ekranet me prekje dhe është realizuar mundësia e përdorimit të modit multitouch përmes përpunimit të mesazheve WM_POINTER* (WM_POINTERENTER, WM_POINTERLEAVE etj.).
- Janë realizuar strukturat e brendshme të bibliotekës user32 në memorien e ndarë, duke rritur performancën dhe ulur ngarkesën mbi Wine Server.
- Në winex11 është shtuar mbështetje për përpunimin e ngjarjeve XInput2 në lidhje me dritaret e veçanta.
- Janë realizuar mbështetje të saktë për tastierat me dispunim Dvorak.
- Kernel (ndërfaqet e kernelit Windows)
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r rritjen e privilegjeve tĂ« proceseve (njĂ« procesi tĂ« filluar fillimisht nga njĂ« pĂ«rdorues i zakonshĂ«m mund t'i jepet privilegj administratori). Kur krijohen proceset server (msi action server), si dhe proceset qĂ« thĂ«rrasin funksionet RtlCreateUserProcess() dhe CreateProcessInternal(), nĂ« mĂ«nyrĂ« tĂ« paracaktuar pĂ«rdoret njĂ« token i kufizuar i administratorit.
- Kur merret informacione mbi etiketat e diskëve, për sa mundet tani përdoret thirrja në shërbimet sistemike përmes DBus, në vend të përpjekjeve për qasje të drejtpërdrejtë në pajisje.
- Mekanizmi njëanshëm i ndërveprimit mes proceseve (IPC) Mailslots tani është realizuar drejtpërdrejt në serverin Wine, duke lejuar mbështetje të plotë të semantikës Windows.
- Janë realizuar pritje të ngjarjeve të portit serial në mod nëasinhron.
- Shtoi mbështetje e plotë për zgjerimet e procesorëve XSTATE në kontekstet e rrjedhës, e cila mundësoi përdorimin e zgjerimeve të rejave vektorësh, si AVX-512.
- Aplikacionet e integruara
- Eshte riparuar motori i përpunimit të të dhënave hyrëse, që përdoret në interpretuesin e komandave cmd.exe. Në cmd.exe është shtuar mbështetje për operacionet "||" dhe "&&".
- Në utilitarin findstr është shtuar mbështetje për shprehjet e rregullta dhe kërkimin pa marrë parasysh rastin e karaktereve.
- Në utilitarët regsvr32 dhe rundll32 është shtuar mundësia për regjistrimin e moduleve ARM64EC.
- Janë shtuar utilitarët: sort për renditjen e të dhënave hyrëse, fc për krahasimin e skedarëve dhe where për kërkimin e skedarëve.
- Në aplikacionin wmic është implementuar një modalitet interaktiv.
- NĂ« Explorer Ă«shtĂ« shtuar mbĂ«shtetje opsionale pĂ«r menynĂ« e fillimit dhe shiritin e veglave. ĂshtĂ« siguruar nisja e explorer.exe me tĂ« drejta tĂ« kufizuara.
- Mjetet për zhvillim
- Në winebuild është shtuar opsioni "-marm64x" për gjenerimin e bibliotektave hibride ARM64X.
- Në winegcc është shtuar opsioni "-marm64x", që lehtëson ndërtimin për ARM64X.
- Në skedaret që gjenerohen duke përdorur gjuhën e përshkrimit të ndërfaqes IDL (Interface Definition Language), janë angazhuar komponentë që mbështesin plotësisht ekzekutimin në modin e interpretimit.
- Në kompilatorin e gjuhës për përshkrimin e ndërfaqeve IDL (Interface Definition Language) është shtuar mbështetje për gjenerimin e bibliotekave të tipit (TypeLib) në formatin e vjetër (SLTG).
- Në utilitarin winedump është shtuar mbështetje për ruajtjen e grumbujve të tabelave minidump, informacionit mbi përjashtimet C++ dhe burimeve typelib.
- TĂ« tjera
- ĂshtĂ« pĂ«rmirĂ«suar mbĂ«shtetja pĂ«r protokollin e ndarjes sĂ« çelĂ«save Diffie-Hellman (DH). ĂshtĂ« shtuar mundĂ«sia pĂ«r tĂ« konfiguruar dhe marrĂ« parametrat DH. JanĂ« realizuar trajtues pĂ«r krijimin e çiftĂ«ve nga çelĂ«si publik dhe çelĂ«si privat.
- ĂshtĂ« siguruar pĂ«rdorimi i mbushjes shtesĂ« OAEP (Optimal Asymmetric Encryption Padding) sĂ« bashku me algoritmin RSA.
- Në API-në DirectPlay është realizuar mbështetje për seancat rrjetë.
- ĂshtĂ« pĂ«rmirĂ«suar trajtimi i gjendjeve tĂ« hyrjes/asnjohjes asinkrone kur punohet nĂ« modalitetin WoW64 (64-bit Windows-on-Windows), i cili lejon ekzekutimin e aplikacioneve Windows 32-bit nĂ« sisteme Unix 64-bit.
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r ngarkimin e konektorĂ«ve ODBC pĂ«r DBMS, tĂ« ndĂ«rtuar pĂ«r Windows.
- Për platformën ARM është realizuar mbështetje e plotë për RPC/COM, C++ RTTI (Informacioni mbi Tipin gjatë Ekzekutimit) dhe përjashtimet C++.
- Në runtime C në funksionet ANSI është realizuar mbështetje për kodimin UTF-8.
- JanĂ« zgjeruar mundĂ«sitĂ« e motorit MSHTML. ĂshtĂ« shtuar mbĂ«shtetje pĂ«r prototipat dhe konstruktorĂ«t e objekteve. NĂ« motorin JavaScript Ă«shtĂ« shtuar njĂ« ndĂ«rfaqe e re pĂ«r lidhjen e objekteve pĂ«r MSHTML. Funksionet e ndĂ«rtuara MSHTML janĂ« transformuar nĂ« objekte tĂ« sakta JavaScript. E pĂ«rmirĂ«suar Ă«shtĂ« grumbulluesi i mbetjeve pĂ«r JavaScript, i cili tani mbulon tĂ« gjitha kontekstet e ekzekutimit tĂ« skriptit nĂ« proces. ĂshtĂ« shtuar mbĂ«shtetje pĂ«r objekte JavaScript ArrayBuffer dhe DataView.
- Sistemi i integrimit të vazhdueshëm në bazë të Gitlab-it ka marrë mbështetje për analizën statike duke përdorur Clang dhe raportet e kalimit të testeve JUnit.
- Në paketë është përfshirë biblioteka Capstone 5.0.3, përmes së cilës është realizuar disasemblimi në debugin e WineDb.
- Komponentët janë azhurnuar në versionet e reja: Vkd3d 1.14, Faudio 24.10, FluidSynth 2.4.0, LDAP 2.5.18, LCMS2 2.16, LibJpeg 9f, LibMPG123 1.32.9, LibPng 1.6.44, LibTiff 4.7.0, LibXml2 2.12.8, LibXslt 1.1.42 dhe Zlib 1.3.1.
Burimi: opennet.ru
