Pas një vit zhvillimi dhe 25 versione eksperimentale, është prezantuar versioni stabil i implementimit të hapur të Win32 API - Wine 11.0, i cili përmban më shumë se 6300 ndryshime dhe 600 rregullime gabimesh. Një nga arritjet kryesore në këtë version është mbështetje e plotë për NTSYNC, implementimi i mekanizmit Reparse Point dhe përdorimi i një implementimi të ri të arkitekturës WoW64.
Në Wine, është konfirmuar puna e plotë e 5419 programeve për Windows (një vit më parë 5372, dy vjet më parë 5336, tri vjet më parë 5266), ndërsa 4500 programe (një vit më parë 4435, dy vjet më parë 4397, tri vjet më parë 4370) punojnë shkëlqyeshëm me konfigurime shtesë dhe DLL të jashtme. Në 4086 programet (një vit më parë 4020, dy vjet më parë 3943, tri vjet më parë 3888) vërehen probleme të vogla në funksionim që nuk pengojnë përdorimin e funksioneve kryesore të aplikacioneve.
Novacionet kryesore të Wine 11.0:
- Mbështetje e plotë për drejtuesin ntsync, i cili rrit ndjeshëm performancën e lojërave Windows që ekzekutohen përmes Wine. Drejtuesi është pjesë e bërthamos Linux që nga lëshimi 6.14 dhe implementon një pajisje simbolike /dev/ntsync dhe një grup primitivi për sinkronizim, të përdorur në bërthamën Windows NT. Një rritje e konsiderueshme e performancës arrihet përmes eliminimit të shpenzimeve të lidhura me përdorimin e RPC në hapësirën e përdoruesit.
- Shtuar mundësia për të konfiguruar prioritetet e prurjeve në Linux dhe macOS.
- Në ntdll është shtuar API sinkronizimi "Synchronization barriers", i cili lejon pezullimin e ekzekutimit të disa prurjeve deri në arritjen e një pike të caktuar ekzekutimi në të gjitha prurjet (për shembull, të presim deri sa të gjitha prurjet të arrijnë një fazë të caktuar gjatë ekzekutimit paralel të të njëjtit kod).
- Kali nĂ« kategorinĂ« e plota tĂ« mbĂ«shtetjes Ă«shtĂ« implementimi i ri i ndĂ«rfaqes WoW64 (Windows-on-Windows 64-bit), i cili lejon ekzekutimin e aplikacioneve 32-bit nĂ« sistemet Unix 64-bit. NĂ« krahasim me implementimin e vjetĂ«r WoW64, ku aplikacionet 32-bit ekzekutoheshin nĂ« proceset Unix 32-bit, WoW64 i ri siguron ekzekutimin e kodit 32-bit brenda njĂ« procesi 64-bit. ĂshtĂ« realizuar mbĂ«shtetje pĂ«r ekzekutimin e aplikacioneve 16-bit nĂ« modalitetin WoW64.
NĂ« tĂ« gjitha modulĂ«t qĂ« kanĂ« qasje nĂ« bibliotekat Unix, janĂ« aktivizuar konvertuesit e thirrjeve sistemore WoW64 (thunk), tĂ« cilat lejojnĂ« modulet 32-bit nĂ« formatin PE tĂ« kenĂ« qasje nĂ« bibliotekat 64-bit tĂ« Unix. ĂshtĂ« shtuar mundĂ«sia e ekzekutimit tĂ« instalimeve mĂ« tĂ« vjetra WoW64 nĂ« njĂ« mod tĂ« ri pĂ«rmes vendosjes sĂ« variablĂ«s sĂ« mjedisit "WINEARCH=wow64". Prefiksat 32-bit qĂ« krijohen kur vendoset WINEARCH=win32 janĂ« shpallur tĂ« vjetra dhe nuk mbĂ«shteten nĂ« modin e ri WoW64. ĂshtĂ« hequr ngarkuesi i veçantĂ« wine64, i cili Ă«shtĂ« zĂ«vendĂ«suar nga njĂ« ngarkues universale, qĂ« pĂ«rcakton modin sipas bitarisĂ« sĂ« skedarit qĂ« ekzekutohet.
- Bërthama (ndërfaqet e bërthamës Windows)
- ĂshtĂ« realizuar mekanizmi Reparse Point, pĂ«rmes tĂ« cilit mund tĂ« bashkĂ«ngjiten tĂ« dhĂ«na shtesĂ« nĂ« skedarĂ« dhe katalogĂ«, tĂ« identifikueshme pĂ«rmes etiketave. PĂ«rkrahĂ«n lloje tĂ« tilla tĂ« Reparse Point, si lidhjet simbolike dhe pikat e montimit.
- Për të rritur performancën e ndjekjes së operacioneve të shk escritura në memorie, është aktivizuar mekanizmi UFFD (userfaultfd), i cili lejon krijimin e trajtuesve për thirrjet në faqet e pamundësuara të memories (page faults) në hapësirën e përdoruesit. Në testet e kryera, përdorimi i UFFD ka mundësuar shkurtimin e kohës së ngarkesës së niveleve në lojën "Streets of Rage 4" nga 6-8 sekonda në 1.5-2 sekonda, që përkon me treguesit e nisjes në platformën Windows.
- Janë aktivizuar numrat e thirrjeve sistemore NT, identike me versionet më të fundit të Windows, që janë të nevojshme për mbështetje të aplikacioneve që përdorin numra të thirrjeve sistemore të shkruara me forcë.
- Në sistemet ARM64 është realizuar mundësia e simulimit të faqeve të memories me madhësi 4K në mjedise me bërthama Linux që përdorin faqe më të mëdha të memories (16K ose 64K). Simulimi lejon ekzekutimin e aplikacioneve të thjeshta, ndërsa për programe më komplekse rekomandohet përdorimi i bërthamave të Linux me faqe 4-kilobajtëshe.
- Sistemi grafik
- Në sistemet X11 (winex11) për OpenGL, për default është aktivizuar backend-i i rikrijimit që përdor EGL. Backend-i GLX është shpallur i vjetër, por për momentin mbetet i disponueshëm si një rezervë dhe përdoret në mungesë të EGL.
- ĂshtĂ« shtuar mbĂ«shtetje fillestare pĂ«r objektet D3DKMT, qĂ« ofrojnĂ« qasje me nivel tĂ« ulĂ«t nĂ« pajisjet grafike nga hapĂ«sira e pĂ«rdoruesit. JanĂ« realizuar zgjerime Vulkan VK_KHR_external_memory_win32, VK_KHR_external_semaphore_win32, VK_KHR_external_fence_win32 dhe VK_KHR_win32_keyed_mutex.
- Në modin WoW64 (64-bit Windows-on-Windows) është implementuar mbështetje për hartimin e memories për OpenGL përmes API Vulkan, që lejon të përshpejtojë funksionimin e aplikacioneve 32-bit OpenGL në Wine.
- ĂshtĂ« realizuar emulimi i tamponit tĂ« shfaqjes (front buffer) pĂ«r OpenGL nĂ« platformat pa mbĂ«shtetje tĂ« integruar pĂ«r tĂ«.
- Në.Driverin e API grafik Vulkan është shtuar mbështetje për specifikimin Vulkan 1.4.335.
- Në paketën e bibliotekave WindowsCodecs është zgjeruar mbështetje për metadat të skedarëve me imazhe, si dhe është realizuar mbështetje për konvertimin midis formateve të ngjyrave me numra të plotë dhe formateve me pikë të lundrueshme.
- ĂshtĂ« eliminuar varĂ«sia nga biblioteka OSMesa (Off-screen Mesa). ĂshtĂ« realizuar mundĂ«sia e vizatimit tĂ« imazheve pĂ«rmes OpenGL duke pĂ«rdorur runtime tĂ« pĂ«rshpejtuar pĂ«r OpenGL.
- Integrimi me desktopin
- Në.Driverin winewayland.drv, që lejon përdorimin e Wine në mjedise të bazuara në protokollin Wayland pa përdorimin e XWayland dhe komponenteve X11, është realizuar mbështetje për nga ndërfaqja e mbështetjes, metodat e hyrjes, dritaret jo-rektangulare dhe transparenca.
- ĂshtĂ« pĂ«rmirĂ«suar integrimi me X11: Ă«shtĂ« siguruar dĂ«rgimi i kĂ«rkesave tĂ« aktivizimit tĂ« dritareve menaxherit tĂ« dritareve dhe Ă«shtĂ« angazhuar protokolli EWMH pĂ«r tĂ« sinkronizuar gjendjen e dritareve aktive X11 dhe Win32.
- ĂshtĂ« realizuar mbĂ«shtetje pĂ«r modalitetin ekskluziv nĂ« ekran tĂ« plotĂ«. ĂshtĂ« pĂ«rmirĂ«suar mbĂ«shtetje pĂ«r modalitetin e plotĂ« nĂ« D3D dhe Ă«shtĂ« pĂ«rmirĂ«suar funksionimi i lojĂ«rave tĂ« vjetra bazuar nĂ« DDraw.
- ĂshtĂ« rritur performanca e disa funksioneve tĂ« punĂ«s me dritaret. PĂ«r ndĂ«rveprimin midis proceseve Ă«shtĂ« angazhuar kujtesĂ« e ndarĂ«.
- Direct3D
- Në Direct3D 11 është shtuar mbështetje për përshpejtimin e harduerit për dekodimin e videove në formatin H.264, e zbatueshme përmes API grafik Vulkan.
- Në Direct3D 11 është realizuar mbështetje për filtrimin minmax të teksturave, duke përdorur zgjatimin OpenGL GL_ARB_texture_filter_minmax ose zgjatimin Vulkan VK_EXT_sampler_filter_minmax.
- Në Direct3D 11 janë implementuar funksione për ngarkimin e teksturave.
- ĂshtĂ« realizuar njĂ« sasi e madhe e mundĂ«sive tĂ« Direct3D gjatĂ« vizatimit pĂ«rmes Vulkan, si pĂ«rzierja e majave, hijezimi i sheshtĂ«, planete tĂ« personalizuara tĂ« prerjes dhe formate tĂ« ndryshme burimesh.
- Në kopjen e integruar vkd3d-shader është përmirësuar mbështetje për modelet 1, 2 dhe 3 të shenjave.
- Në metodën D3DXSaveSurfaceToFileInMemory është realizuar mbështetje për imazhet PNG, JPEG dhe BMP.
- Direct3D 10 dhe 11 kanë realizuar mbështetje për kompresimin dhe dekompresimin e formateve BC4 dhe BC5, si dhe gjenerimin e niveleve MIP (MipMap) gjatë ngarkimit të teksturave.
- Metoda ID3DXEffect::SetRawValue() dhe ID3DXSkinInfo::UpdateSkinnedMesh() janë realizuar.
- Pajisjet e inputit
- Përmirësuar përputhshmërinë me joystick, duke përdorur backend-in hidraw.
- Përmirësuar mbështetje për efektin e vibrimit (Force feedback) kur përdoren rrotat dhe joystickët e lojërave.
- Përmirësuar mbështetje për gamepad në API Windows.Gaming.Input dhe kur përdoret backend-i evdev.
- Në aplikacionin e menaxhimit të kontrollorëve të lojërave është shtuar një skedë për konfigurimin e API Windows.Gaming.Input.
- Përmirësuar përputhshmëria e DirectInput me lojërat e vjetra.
- Bluetooth
- Në drejtuesin për Bluetooth është shtuar mundësia për skanimin, konfigurimin e zbulimit dhe lidhjes së pajisjeve.
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r shĂ«rbimet Bluetooth Low Energy.
- Aplikacionet tani kanë mundësinë të krijojnë lidhje RFCOMM me pajisje të jashtme duke përdorur API Winsock.
- Mbështetje për skanerë
- Krijuar mbështetje për API TWAIN 2.0, duke lejuar aksesin në skanerë nga aplikacionet e 64-bit.
- Krijuar mbështetje për komponentin DAT_IMAGENATIVEXFER për transferimin e imazheve nga skaneri në aplikacion.
- Siguruar ruajtjen në regjistër të skanerit të zgjedhur dhe konfigurimeve të skaneri.
- Shtuar mbështetje për skanimin me shumë faqe dhe për automatikun e dokumenteve.
- Ndaluar bllokimin e aplikacionit gjatë thirrjes së ndërfaqes së skanimit.
- Shtuar mbështetje për ngarkimin e drejtuesve të Windows për skanerët.
- Internacionalizimi
- Siguruar gjenerimin e DB locale në formatin locale.nls nga DB Unicode CLDR (Unicode Common Locale Data Repository) versioni 48. Shtuar mbështetje për locale shtesë bua-RU, bqi-IR, cop-EG, ht-HT, kek-GT, lzz-TR, mww-Hmnp-US, oka-CA, pi-Latn-GB, pms-IT, sgs-LT, suz-Deva-NP dhe suz-Sunu-NP.
- Tabele të simbolëve Unicode janë përmirësuar në versionin 17.0.0 të standardit. E përmirësuar baza e kohëve.
- Mundësitë rrjetë
- Në motorin MSHTML në modalitetin e përputhshmërisë me standardet është siguruar puna me atributet e elementeve si nodes të plota të DOM. Realizuar objektet DOMParser, XDomainRequest dhe msCrypto.
- Në JavaScript është shtuar mbështetje për array-t e tipizuar.
- Për ICMPv6 është realizuar komanda ping.
- DB
- Në bibliotekën MSADO (ActiveX Data Objects) është shtuar mbështetje për regjistrimin e ndryshimeve në DB. Realizuar shumicën e funksioneve të objektit Recordset.
- Në bibliotekën odbc32 është përmirësuar mbështetje për drejtuesit ANSI win32, të cilët nuk janë menduar për të punuar me Unicode. Realizuar funksionet SQLDriverConnectA(), SQLSpecialColumnsW(), SQLGetInfoW(), SQLGetInfoW(), SQLStatisticsW() dhe QLColumnsW().
- Aplikacione të integruara
- Në WineCfg është shtuar një skedë për konfigurimin e MIDI pajisjes për default.
- Në utilitarin cmd është implementuar autofill për futjen e emrave të skedarëve në një skenë interaktive, është shtuar mbështetje për instrukcione të komplikuara dhe është realizuar komanda «mklink /j» për krijimin e një Reparse Point.
- Në utilitarin conhost (Console Hosting) është shtuar mbështetje për marrjen e historisë me prekjen e çelësave F1 dhe F3.
- Janë implementuar komandat timeout, runas dhe subst.
- Në utilitarin find janë shtuar opsionet «/c» për të treguar numrin e përputhjeve dhe /i për përputhje pa marrë parasysh rastin.
- Në utilitarin whoami është bërë e mundur konfigurimi i formatit të daljes.
- TĂ« tjera
- Në realizimin e gjuhës përshkruese të ndërfaqes WIDL (Wine Interface Definition Language) është shtuar mbështetje për gjenerimin e metadatat e Windows Runtime (WinRT). është siguruar gjenerimi dhe vendosja e skedave WinMD (Windows Metadata) për API-në WinRT (Windows Runtime).
- Në utilitarin winedump është shtuar mbështetje për dumpimin e burimeve MUI, numrat e thirrjeve sistemike, moduli NE të integruar dhe skedarët e mëdhenj PDB (> 4 GB).
- ĂshtĂ« realizuar refaktorizimi i implementimit tĂ« Common Control, biblioteka COMCTL32 Ă«shtĂ« ndarĂ« nĂ« module tĂ« veçanta pĂ«r versionet 5 dhe 6.
- Në BCrypt është shtuar mbështetje për standardin e formimit të çelësit PBKDF2.
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r katalogĂ«t UserProgramFiles, AccountPictures dhe Screenshots.
- Në paketë janë integruar bibliotekat LLVM Compiler-RT 8.0.1 dhe TomCrypt 1.18.2. Për të përcaktuar CPU-në në platformën FreeBSD është angazhuar biblioteka HwLoc.
- Janë përditësuar në versione të reja komponentët Vkd3d 1.18, Faudio 25.12, FluidSynth 2.4.2, LCMS2 2.17, LibMPG123 1.33.0, Libpng 1.6.51, LibTiff 4.7.1, LibXml2 2.12.10, LibXslt 1.1.43.
Burimi: opennet.ru
