Pas një vit zhvillimi dhe 29 versioneve eksperimentale, është prezantuar publikimi i qëndrueshëm i implementimit të hapur të Win32 API - Wine 10.0, i cili përmban mbi 6000 ndryshime. Nga arritjet kryesore të versionit të ri, veçohet mbështetje e plotë për arkitekturën ARM64EC, shkallëzimi në ekranet me dendësi të lartë pikselesh, përfshirja si parazgjedhje të driverit Wayland, realizimi i paneleve për konfigurimin e ekranit dhe joystick-ut, një backend alternativ multimedial bazuar në FFmpeg, driveri Bluetooth, mbështetje për Vulkan 1.4 dhe mundësia për të imituar ndryshimin e mënyrave të videove.
Në Wine është konfirmuar funksionimi i plotë i 5372 programeve për Windows (një vit më parë 5336, dy vjet më parë 5266, tre vjet më parë 5156), 4435 programe të tjera (një vit më parë 4397, dy vjet më parë 4370, tre vjet më parë 4312) funksionojnë shkëlqyeshëm me konfigurime shtesë dhe DLL të jashtme. Për 4020 programeve (një vit më parë 3943, dy vjet më parë 3888, tre vjet më parë 3813) vërehen probleme të vogla në funksionim, të cilat nuk pengojnë përdorimin e funksioneve kryesore të aplikacioneve.
Inovacionet kryesore të Wine 10.0:
- ARM64
- ĂshtĂ« siguruar mbĂ«shtetje e plotĂ« pĂ«r arkitekturĂ«n ARM64EC (ARM64 Emulation Compatible), niveli i mbĂ«shtetjes nĂ« Wine Ă«shtĂ« arritur nĂ« baraspeshĂ« me arkitekturĂ«n ARM64. Arkitektura ARM64EC Ă«shtĂ« zhvilluar pĂ«r tĂ« thjeshtĂ«suar portimin e aplikacioneve nĂ« sistemet ARM64, qĂ« fillimisht janĂ« shkruar pĂ«r sistemet x86_64, dhe lejon ekzekutimin nĂ« mjedisin ARM64 tĂ« moduleve tĂ« veçanta me kodin x86_64 me anĂ« tĂ« 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 arkitekturĂ«n ARM64EC dhe ARM64. PĂ«r ndĂ«rtimin e Wine nĂ« formatin ARM64X, nevojitet instalimi i LLVM nga Git (funksionaliteti i nevojshĂ«m do tĂ« pĂ«rfshihet nĂ« versionin LLVM 20) dhe gjatĂ« ekzekutimit tĂ« skriptit "configure" duhet tĂ« specifikohet opsioni "--enable-archs=arm64ec,aarch64".
- ĂshtĂ« realizuar ndĂ«rfaqja pĂ«r emulimin e sistemeve 64-bit x86. Kur pĂ«rdoret ARM64EC, vetĂ« Wine ekzekutohet siç Ă«shtĂ«, ndĂ«rsa emulimi aplikohet vetĂ«m pĂ«r kodin e aplikacioneve x86-64. Biblioteka me emulatorin aktualisht nuk Ă«shtĂ« pĂ«rfshirĂ« nĂ« pĂ«rbĂ«rjen kryesore tĂ« Wine, por pĂ«r tĂ« ekzekutuar kodin x86-64 nĂ« mjedisin ARM64 mund tĂ« pĂ«rdoret emulatori i jashtĂ«m FEX, i ndĂ«rtuar me mbĂ«shtetje pĂ«r ARM64EC.
- Për mbështetje të ARM64, është e nevojshme të përdoren në sistem faqet e memories me madhësi 4KB, siç kërkon ABI Windows (ekzektimi në mjedise me bërthamë Linux që përdorin faqe memories 16K ose 64K nuk mbështetet ende).
- Sistemi grafik
- Realizuar njĂ« shkallĂ«zim mĂ« tĂ« saktĂ« nĂ« ekranet me densitet tĂ« lartĂ« pikselesh (High-DPI). ĂshtĂ« siguruar mbĂ«shtetje pĂ«r modin DPI Awareness pĂ«r tĂ« organizuar shfaqjen e aplikacioneve nĂ« ekranet me densitet tĂ« lartĂ« pikselesh, duke marrĂ« parasysh nĂ«se aplikacioni mbĂ«shtet adaptimin ndaj ndryshimit tĂ« DPI-sĂ« apo jo (aplikacionet qĂ« nuk marrin parasysh DPI, shkallĂ«zohen automatikisht). Shtohen opsionet pĂ«r tĂ« tejkaluar mbĂ«shtetjen High-DPI nĂ« lidhje me aplikacione tĂ« veçanta ose prefikse Wine.
- NĂ« driverin pĂ«r API-nĂ« 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 videove.
- Kur përdoret backend-i X11, është realizuar mundësia e vizatimit të dritareve të fëmijës Vulkan për aplikacionet që përdorin këto dritare për të shfaqur përmbajtje 3D (më parë, një mundësi e tillë ishte në dispozicion vetëm për OpenGL).
- Në bibliotekën GdiPlus është shtuar mbështetje për mekanizmin e lidhjes së fontëve («Font Linking»), që lejon që gjatë shfaqjes së tekstit të përfshihen disa fonte, nëse fontet nuk e mbulojnë individualisht të gjitha simbolet e pranishme në tekst.
- Wayland
- Në konfigurimin e parazgjedhur është aktivizuar driveri winewayland.drv, që lejon përdorimin e Wine në mjedise të bazuara në protokollin Wayland pa përdorimin e XWayland dhe komponenteve X11. Wine ekzekuton aplikacionet prej default në Wayland direkt vetëm nëse XWayland nuk është në dispozicion; përndryshe, ekzekutimi me përdorimin e XWayland mbetet prioritet. Për aktivizimin e detyruar të Wayland, mund të përdoret variabli i mjedisit DISPLAY, ose të shtohet një çelës në regjistër duke krijuar skedarin file.reg: Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\Wine\Drivers] «Graphics»=»wayland» dhe duke e aplikuar atë me komandën: $ WINEPREFIX=\/rruga\/për\/prefiksen wine regedit \/rruga\/për\/file.reg.
- Në driverin winewayland.drv është shtuar mbështetje për OpenGL dhe buferët e pikseve (pBuffer).
- Janë zgjidhur problemet me pozicionimin e dritareve të çelësve në mjedise të bazuara në Wayland.
- Kur përdoret Wayland, është realizuar mbështetje për përsëritjen automatike të shtypjes kur mbahen çelësat.
- Integrimi me desktopin
- ĂshtĂ« shtuar njĂ« mekanizĂ«m eksperimental emulimi "modesetting", i cili lejon emulimin e kalimit tĂ« modaliteteve video pa ndryshuar realisht parametrat e ekranit. DukshmĂ«ria e ndryshimit tĂ« rezolutĂ«s sĂ« ekranit pa kalim nĂ« modalitetin video krijohet pĂ«rmes zgjatjes dhe zmadhimit tĂ« dritareve.
- ĂshtĂ« shtuar njĂ« applet i ri Desktop Control Panel (desk.cpl) me implementimin e ndĂ«rfaqes pĂ«r menaxhimin e parametrave tĂ« ekranit (pĂ«r shembull, mund tĂ« ndryshoni rezolutĂ«n virtuale tĂ« desktopit ose tĂ« konfiguroni parametrat e emuluar tĂ« ekranit).
- ĂshtĂ« shtuar mundĂ«sia e rivendosjes sĂ« parametrave tĂ« ekranit nĂ« vlerat e paracaktuara nĂ« rast se nuk Ă«shtĂ« e mundur rikthimi i gjendjes pas njĂ« pĂ«rfundimi tĂ« papritur tĂ« procesit.
- ĂshtĂ« shtuar suporti pĂ«r çaktivizimin e shfaqjes sĂ« ikonave nĂ« kuti sistemike (nĂ« "HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" duhet tĂ« specifikohet "NoTrayItemsDisplay=1").
- ĂshtĂ« shtuar suporti pĂ«r çaktivizimin e shell-ave (Shell launcher) nĂ« modin desktop (nĂ« "HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" duhet tĂ« specifikohet "NoDesktop=1").
- Direct3D
- Për vizatimin me përdorimin e OpenGL tani kërkohet suporti për GLSL 1.20, si dhe për zgjerimet EXT_framebuffer_object dhe ARB_texture_non_power_of_two. Mbështetja për backend-in e vjetër ARB shader dhe për konfigurimin OffscreenRenderingMode është ndaluar.
- Për Direct3D 9 dhe versionet më të vjetra është shtuar grafiku i konveksionit të funksioneve të caktuara (në Direct3D të vjetrat ofroheshin vetëm operacione grafike të paracaktuara që nuk mund të ndryshoheshin), i implementuar me gjuhën e shenjave HLSL dhe që lejon emulimin e funksioneve të caktuara gjatë vizatimit përmes API Vulkan ose OpenGL.
- Gjatë vizatimit me përdorimin e Vulkan janë angazhuar zgjerimet Vulkan për ndryshimin dinamik të gjendjes së konveksionit grafik, që lejon reduktimin e pezullimeve në lojëra.
- ĂshtĂ« shtuar njĂ« backend alternativ glsl-vkd3d pĂ«r shenjat GLSL, qĂ« pĂ«rdor vkd3d-shader.
- ĂshtĂ« ofruar mbĂ«shtetje fillestare pĂ«r kompaktimin e efekteve Direct3D, duke pĂ«rdorur vkd3d-shader.
- NĂ« bibliotekĂ«n D3DX9 Ă«shtĂ« realizuar mundĂ«sia e gjenerimit tĂ« MIP-teksteve (MipMap) gjatĂ« ngarkimit tĂ« teksteve volumetrike. ĂshtĂ« shtuar mbĂ«shtetje pĂ«r formatet e pĂ«rfaqĂ«simit tĂ« ngjyrĂ«s 64bpp RGBA dhe 48bpp RGB nĂ« imazhet PNG, si dhe pĂ«r formatet X8L8V8U8, A2W10V10U10, A8P8, V16U16 dhe Q16W16V16U16.
- Zëri dhe video
- Si një alternativë për backend-in e bazuar në GStreamer, është implementuar një backend i ri multimedial, i cili është i bazuar në përdorimin e FFmpeg dhe është i përshtatshëm për të siguruar funksionimin e kuadrit Media Foundation. Për të aktivizuar backend-in alternativ në seksionin e regjistrit "HKCU\Software\Wine\MediaFoundation", duhet të përcaktohet "DisableGstByteStreamHandler=1".
- Implementimi i API Media Foundation është përmirësuar, tani ai përputhet më mirë me aplikacionet që varen nga komponentët e demultipleximit dhe dekodimit.
- API DirectMusic tani mbështet ngarkimin e skedarëve MIDI.
- Pajisjet e inputit
- Versioni fillestar i pilotit Bluetooth është shtuar.
- ĂshtĂ« shtuar aplikacioni Joystick Control Panel (joy.cpl) me implementimin e parametrave pĂ«r joystick-un.
- JanĂ« bĂ«rĂ« pĂ«rmirĂ«sime lidhur me pajisjet qĂ« kontrollojnĂ« treguesin (touchpad, miq) qĂ« pĂ«rdorin protokollin HID (Human Interface Device). ĂshtĂ« shtuar piloti mouhid.sys pĂ«r pajisjet HID. ĂshtĂ« realizuar parse analitik tĂ« pajisjeve hyrĂ«se tĂ« pĂ«rbĂ«ra dhe Ă«shtĂ« siguruar kalimi i informacionit mbi 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ë vendosur disa struktura të brendshme të bibliotekës user32 në kujtesën e ndarë, gjë që ka rritur performancën dhe ka ulur ngarkesën në Wine Server.
- Në winex11 është shtuar mbështetje për përpunimin e ngjarjeve XInput2 në lidhje me dritaret e veçanta.
- ĂshtĂ« realizuar mbĂ«shtetje korrekte pĂ«r tastierat me rregullimin Dvorak.
- Bërthama (ndërfaqet e bërthamës Windows)
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r rritjen e privilegjeve tĂ« proceseve (procesit, i cili fillimisht Ă«shtĂ« nisur si pĂ«rdorues i zakonshĂ«m, mund t'i jepen privilegjet e administratorit). Kur krijohen proceset shĂ«rbyese (msi action server), si dhe proceset qĂ« thĂ«rrasin funksionet RtlCreateUserProcess() dhe CreateProcessInternal(), nĂ« parazgjedhje aktivizohet njĂ« tokĂ« e kufizuar e administratorit.
- Kur merrni informacion për etiketat e disqeve, tani përdoret sa më shumë që të jetë e mundur qasja në shërbimet sistemore përmes DBus, në vend të përpjekjes për qasje të drejtpërdrejtë në pajisje.
- Mekanizmi njëdrejtimësh i ndërveprimit midis proceseve (IPC) Mailslots tani është realizuar drejtpërdrejt në serverin Wine, gjë që ka mundësuar mbështetje të plotë të semantikës së Windows.
- Janë realizuar pritje të ngjarjeve të portit serial në mënyrë asinkrone.
- ĂshtĂ« shtuar mbĂ«shtetje e plotĂ« pĂ«r zgjerimet e procesorĂ«ve XSTATE nĂ« kontekstet e fijeve, qĂ« ka mundĂ«suar pĂ«rdorimin e zgjerimeve tĂ« reja vektoriale, siç Ă«shtĂ« AVX-512.
- Aplikacione të integruara
- ĂshtĂ« riparuar motori i pĂ«rpunimit tĂ« tĂ« dhĂ«nave tĂ« hyrjes, i pĂ«rdorur nĂ« interpretorin e komandave cmd.exe. NĂ« cmd.exe Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r operacionet "||" dhe "&&".
- Utlilita findstr tani mbështet shprehjet e rregullta dhe kërkimin pa marrë parasysh regjistrin e simboleve.
- Në utilitetet regsvr32 dhe rundll32 është shtuar mundësia për regjistrimin e moduleve ARM64EC.
- Janë shtuar utilitetet: sort për renditjen e të dhënave të hyrjes, fc për krahasimin e skedarëve dhe where për gjetjen e skedarëve.
- Në aplikacionin wmic është realizuar një mod pozitiv interaktiv.
- NĂ« Explorer Ă«shtĂ« shtuar mbĂ«shtetje opsionale pĂ«r menunĂ« e nisjes dhe panelin e veglave. ĂshtĂ« siguruar nisja e explorer.exe me tĂ« drejta tĂ« kufizuara.
- Veglat për zhvillimin
- Në winebuild është shtuar opsioni "-marm64x" për gjenerimin e bibliotekave hibride ARM64X.
- Në winegcc është shtuar opsioni "-marm64x", i cili siguron ndërtimin për ARM64X.
- Në skedarët e gjeneruar duke përdorur gjuhën e përshkrimit të interface-it IDL (Interface Definition Language), janë angazhuar komponentë që mbështesin plotësisht ekzekutimin në mënyrë interpretative.
- Në kompilatorin e gjuhës së përshkrimit të ndërfaqeve IDL (Gjuha e Përshkrimit të Ndërfaqeve) është shtuar mbështetje për gjenerimin e bibliotekave të tipeve (TypeLib) në formatin e vjetër (SLTG).
- Në utilitetin winedump është shtuar mbështetje për ruajtjen e dump-eve të tabelave minidump, informacionin për përjashtimet C++ dhe burimet typelib.
- TĂ« tjera
- Përmirësohet mbështetje për protokollin e shkëmbimit të çelësave Diffie-Hellman (DH). Shtohet mundësia e konfigurimit dhe marrjes së parametrave DH. Realizohen menaxhuesit për krijimin e palëve nga çelësi publik dhe privat.
- ĂshtĂ« siguruar pĂ«rdorimi i mbushjes shtesĂ« OAEP (Optimal Asymmetric Encryption Padding) sĂ« bashku me algoritmin RSA.
- Në API DirectPlay është realizuar mbështetje për sesionet rrjet.
- ĂshtĂ« pĂ«rmirĂ«suar pĂ«rpunimi i gjendjeve tĂ« hyrje/daljes asinkrone gjatĂ« punĂ«s nĂ« modalitetin WoW64 (64-bit Windows-on-Windows), i cili lejon ekzekutimin e aplikacioneve 32-bit pĂ«r Windows nĂ« sisteme Unix 64-bit.
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r ngarkimin e drejtuesve ODBC pĂ«r DB-latĂ«, tĂ« ndĂ«rtuara pĂ«r Windows.
- Për platformën ARM është realizuar mbështetje e plotë për RPC/COM, C++ RTTI (Informacioni mbi Tipin në Kohë të Ekzekutimit) dhe përjashtimet C++.
- Në C runtime 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 prototipet 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 integruara tĂ« MSHTML janĂ« transformuar nĂ« objekte tĂ« sakta JavaScript. ĂshtĂ« pĂ«rmirĂ«suar mbledhĂ«si i mbetjeve pĂ«r JavaScript, i cili tani pĂ«rfshin tĂ« gjithĂ« kontekstet e ekzekutimit tĂ« skriptit nĂ« lidhje. ĂshtĂ« shtuar mbĂ«shtetje pĂ«r objektet JavaScript ArrayBuffer dhe DataView.
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r analizĂ«n statike duke pĂ«rdorur Clang dhe raportet e kalimit tĂ« testeve JUnit nĂ« sistemin e integrimit tĂ« vazhdueshĂ«m tĂ« bazuar nĂ« Gitlab.
- ĂshtĂ« integruar biblioteca Capstone 5.0.3, pĂ«rmes sĂ« cilĂ«s Ă«shtĂ« realizuar disasembly nĂ« debuginĂ« WineDb.
- Komponentët janë përditësuar në versione të 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
