Pas një viti zhvillimi dhe 25 versioneve eksperimentale, është publikuar Wine 11.0, versioni i qëndrueshëm i Win32 API me burim të hapur. Ai përfshin mbi 6300 ndryshime dhe 600 rregullime gabimesh. Përparimet kryesore në versionin e ri përfshijnë mbështetjen e plotë për NTSYNC, zbatimin e mekanizmit Reparse Point dhe përdorimin e një zbatimi të ri të arkitekturës WoW64.
5419 programe janë konfirmuar se funksionojnë siç duhet në Wine Windows (5372 një vit më parë, 5336 dy vjet më parë, 5266 tre vjet më parë), 4500 programe të tjera (4435 një vit më parë, 4397 dy vjet më parë, 4370 tre vjet më parë) funksionojnë mirë me cilësime shtesë dhe DLL të jashtme. 4086 programe (4020 një vit më parë, 3943 dy vjet më parë, 3888 tre vjet më parë) kanë probleme të vogla që nuk ndërhyjnë në përdorimin e funksionalitetit kryesor të aplikacionit.
Risitë kryesore në Wine 11.0:
- Mbështetje e plotë për drajverin ntsync, i cili përmirëson ndjeshëm performancën Windows-lojëra të nisura duke përdorur Wine. Drajveri është i përfshirë në bërthamë Linux që nga versioni 6.14 dhe zbaton pajisjen e karaktereve /dev/ntsync dhe një grup primitivësh sinkronizimi të përdorur në kernel. Windows NT. Përmirësime të konsiderueshme në performancë arrihen duke eliminuar mbingarkesën që lidhet me përdorimin e RPC në hapësirën e përdoruesit.
- U shtua mundësia për të konfiguruar përparësitë e fijeve në Linux О macOS.
- API-ja "Barrierat e Sinkronizimit" është shtuar në ntdll, duke ju lejuar të ndaloni ekzekutimin e disa fijeve derisa të arrihet një pikë e caktuar ekzekutimi në të gjitha fijet (për shembull, prisni derisa të gjitha fijet të arrijnë një fazë të caktuar kur ekzekutoni të njëjtin kod paralelisht).
- Implementimi i ri i shtresĂ«s sĂ« ndĂ«rmjetme WoW64 (64-bit) Ă«shtĂ« zhvendosur nĂ« kategorinĂ« e tĂ« mbĂ«shteturve plotĂ«sisht. Windows-ne-Windows), duke ju lejuar tĂ« ekzekutoni 32-bit Windows- aplikacione nĂ« sisteme Unix 64-bit. Ndryshe nga implementimi i vjetĂ«r i WoW64, i cili ekzekutonte aplikacione 32-bit nĂ« procese Unix 32-bit, WoW64 i ri mundĂ«son qĂ« kodi 32-bit tĂ« ekzekutohet brenda njĂ« procesi 64-bit. ĂshtĂ« implementuar mbĂ«shtetje pĂ«r ekzekutimin e aplikacioneve 16-bit nĂ« modalitetin WoW64.
Të gjitha modulet që hyjnë në bibliotekat Unix përdorin përkthyes të thirrjeve të sistemit WoW64 (faleminderit), duke u lejuar moduleve 32-bit në formatin PE të hyjnë në bibliotekat Unix 64-bit. Mundësia për të ekzekutuar instalimet e vjetra WoW64 në modalitetin e ri është shtuar duke vendosur variablin e mjedisit "WINEARCH=wow64". Parashtesat 32-bit të krijuara duke vendosur WINEARCH=win32 janë të vjetruara dhe nuk mbështeten në modalitetin e ri WoW64. Ngarkuesi i veçantë wine64 është hequr, i zëvendësuar nga një ngarkues universal që përcakton modalitetin bazuar në bitësinë e skedarit që ekzekutohet.
- Bërthama (ndërfaqet e bërthamës Windows)
- ĂshtĂ« zbatuar njĂ« mekanizĂ«m i Riparsimit tĂ« Pikave, i cili ju lejon tĂ« bashkĂ«ngjitni tĂ« dhĂ«na shtesĂ«, tĂ« identifikuara nga etiketat, nĂ« skedarĂ« dhe drejtori. MbĂ«shteten llojet e Riparsimit tĂ« Pikave, tĂ« tilla si lidhjet simbolike dhe pikat e montimit.
- Për të përmirësuar performancën e gjurmimit të shkrimit në memorie, përdoret mekanizmi UFFD (userfaultfd), i cili lejon krijimin e trajtuesve për qasje në faqet e memories së paalokuar (page faults) në hapësirën e përdoruesit. Në testet e kryera, përdorimi i UFFD uli kohën e ngarkimit të nivelit në "Streets of Rage 4" nga 6-8 sekonda në 1.5-2 sekonda, që është në përputhje me kohën e lançimit të platformës. Windows.
- Numrat e thirrjeve të sistemit NT të përdorur janë identikë me versionet më të fundit. Windows, i cili është i nevojshëm për të mbështetur aplikacionet që përdorin numra thirrjesh sistemi të koduar fort.
- Në sistemet ARM64, është zbatuar aftësia për të simuluar faqet e memories 4K në mjedise me bërthama. Linux, duke përdorur faqe më të mëdha memorieje (16K ose 64K). Simulimi ju lejon të ekzekutoni aplikacione të thjeshta, dhe për programe më komplekse, rekomandohet të përdorni bërthama. Linux me faqe memorieje 4 kilobajtëshe.
- Nënsistemi grafik
- Në sistemet X11 (winex11), backend-i i parazgjedhur i renderimit për OpenGL përdor EGL. Backend-i GLX është i vjetruar, por mbetet i disponueshëm si rezervë dhe përdoret kur EGL nuk është i disponueshëm.
- U shtua mbështetje fillestare për objektet D3DKMT, të cilat ofrojnë akses të nivelit të ulët në pajisjet grafike nga hapësira e përdoruesit. Janë zbatuar zgjerimet Vulkan VK_KHR_external_memory_win32, VK_KHR_external_semaphore_win32, VK_KHR_external_fence_win32 dhe VK_KHR_win32_keyed_mutex.
- Në modalitetin WoW64 (64-bit) Windows-ne-Windows) mbështetja e hartëzimit të memories për OpenGL është zbatuar duke përdorur Vulkan API, duke lejuar performancë më të shpejtë të aplikacioneve 32-bit OpenGL në Wine.
- Implementova emulimin e bufferit të përparmë për OpenGL në platforma pa mbështetje native.
- Drajveri i API-t grafik Vulkan është përditësuar për të mbështetur specifikimin Vulkan 1.4.335.
- Në një grup bibliotekash WindowsKodekët kanë zgjeruar mbështetjen për metadatat në skedarët e imazheve dhe kanë zbatuar mbështetje për konvertimin midis formateve të ngjyrave me numra të plotë dhe me pikë lundruese.
- Varësia nga biblioteka OSMesa (Off-screen Mesa) është hequr. Renderimi bitmap nëpërmjet OpenGL është zbatuar duke përdorur kohën e ekzekutimit OpenGL të përshpejtuar nga hardueri.
- Integrimi i desktopit
- Drajveri winewayland.drv, i cili lejon që Wine të përdoret në mjedise të bazuara në Wayland pa përdorur komponentët XWayland ose X11, zbaton mbështetje për clipboard-in, metodat e hyrjes, dritaret jo-drejtkëndëshe dhe transparencën.
- Integrim i përmirësuar me X11: tani mbështetet dërgimi i kërkesave për aktivizimin e dritareve te menaxheri i dritareve dhe protokolli EWMH përdoret për të koordinuar gjendjen e dritareve aktive X11 dhe Win32.
- U implementua mbështetje për modalitetin ekskluziv të ekranit të plotë. Mbështetje e përmirësuar për ekranin e plotë në D3D dhe performancë e përmirësuar për lojërat më të vjetra të bazuara në DDraw.
- Performanca e disa funksioneve të dritarezimit është përmirësuar. Memoria e përbashkët tani përdoret për komunikimin ndërmjet proceseve.
- Direct3D
- Direct3D 11 shton mbështetje për dekodimin e përshpejtuar nga hardueri të videos H.264, të implementuar duke përdorur API-në grafike Vulkan.
- Direct3D 11 zbaton mbështetje për filtrimin e teksturës minmax duke përdorur zgjerimin OpenGL GL_ARB_texture_filter_minmax ose zgjerimin Vulkan VK_EXT_sampler_filter_minmax.
- Direct3D 11 zbaton funksionet e ngarkimit të teksturës.
- Një pjesë e madhe e veçorive të Direct3D janë zbatuar gjatë renderimit përmes Vulkan, të tilla si përzierja e vertekseve, hija e sheshtë, planet e prerjes me porosi dhe formate të ndryshme të burimeve.
- Kopja e integruar e vkd3d-shader ka mbështetje të përmirësuar për modelet e shader-ave 1, 2 dhe 3.
- Metoda D3DXSaveSurfaceToFileInMemory zbaton mbështetje për imazhet PNG, JPEG dhe BMP.
- Direct3D 10 dhe 11 zbatojnë mbështetje për kompresimin dhe dekompresimin e formateve BC4 dhe BC5, si dhe gjenerimin e niveleve MIP (MipMap) gjatë ngarkimit të teksturave.
- Metodat ID3DXEffect::SetRawValue() dhe ID3DXSkinInfo::UpdateSkinnedMesh() janë zbatuar.
- Pajisjet hyrëse
- Përputhshmëri e përmirësuar me joystick-ët falë përdorimit të backend-it hidraw.
- Mbështetje e përmirësuar për efektin Force Feedback kur përdoren rrota dhe joystick për lojëra.
- Mbështetje e përmirësuar për gamepad në API Windows.Gaming.Input dhe kur përdoret backend-i i evdev.
- Një skedë për konfigurimin e API-t është shtuar në aplikacionin e menaxhimit të kontrolluesit të lojës. Windows.Lojëra.Input.
- Përmirësim i përputhshmërisë së DirectInput me lojërat më të vjetra.
- Bluetooth
- Drajveri Bluetooth tani përfshin mundësinë për të skanuar, konfiguruar zbulimin dhe çiftuar pajisjet.
- Shtohet mbështetje për shërbimet Bluetooth me energji të ulët.
- Aplikacionet tani janë në gjendje të krijojnë lidhje RFCOMM të nivelit të ulët me pajisje të jashtme duke përdorur Winsock API.
- Mbështetje për skanerin
- ĂshtĂ« zbatuar mbĂ«shtetje pĂ«r API-n TWAIN 2.0, duke lejuar qasje nĂ« skanera nga aplikacione 64-bitĂ«she.
- U implementua mbështetje për komponentin DAT_IMAGENATIVEXFER për transferimin e një imazhi nga një skaner në një aplikacion.
- Skaneri dhe cilësimet e skanerit të zgjedhur tani ruhen në regjistër.
- Shtoi mbështetje për skanimin me shumë faqe dhe ushqyesin automatik të dokumenteve.
- Ndalova bllokimin e aplikacionit gjatë thirrjes së ndërfaqes së skanimit.
- Shtoi mbështetje për ngarkimin e versionit origjinal (national) Windows- shoferë për skanerë.
- Ndërkombëtarizimi
- ĂshtĂ« ofruar gjenerimi i bazave tĂ« tĂ« dhĂ«nave lokale nĂ« formatin locale.nls nga baza e tĂ« dhĂ«nave Unicode CLDR (Unicode Common Locale Data Repository) versioni 48. ĂshtĂ« shtuar mbĂ«shtetje pĂ«r lokale 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.
- Tabelat e karaktereve Unicode janë përditësuar në versionin standard 17.0.0. Baza e të dhënave të zonës kohore është përditësuar.
- Karakteristikat e rrjetit
- Motori MSHTML, në modalitetin në përputhje me standardet, mbështet trajtimin e atributeve të elementeve si nyje DOM të plota. Objektet DOMParser, XDomainRequest dhe msCrypto janë të implementuara.
- JavaScript tani mbështet vargjet e tipizuara.
- Komanda ping është implementuar për ICMPv6.
- BD
- Mbështetja për regjistrimin e ndryshimeve në bazën e të dhënave është shtuar në bibliotekën MSADO (ActiveX Data Objects). Shumica e funksioneve të objektit Recordset janë zbatuar.
- Biblioteka odbc32 ka mbështetje të përmirësuar për drajverët ANSI Win32 që nuk janë projektuar për të punuar me Unicode. Janë zbatuar funksionet e mëposhtme: SQLDriverConnectA(), SQLSpecialColumnsW(), SQLGetInfoW(), SQLGetInfoW(), SQLStatisticsW() dhe QLColumnsW().
- Aplikimi i plotë
- WineCfg tani ka një skedë për konfigurimin e pajisjes MIDI të parazgjedhur.
- Programi cmd tani përfshin plotësimin automatik të emrit të skedarit në modalitetin interaktiv, mbështetje për udhëzime komplekse dhe komandën "mklink /j" për krijimin e një Pike Riparsimi.
- Programi conhost (Console Hosting) tani mbështet rikthimin e historikut duke shtypur tastet F1 dhe F3.
- Komandat timeout, runas dhe subst janë zbatuar.
- Programi "find" tani ka opsionet "/c" për të shfaqur numrin e përputhjeve dhe /i për përputhjet që nuk janë të ndjeshme ndaj shkronjave të mëdha dhe të vogla.
- Programi whoami tani ju lejon të personalizoni formatin e daljes.
- Përmbledhje
- Implementimi i Gjuhës së Përkufizimit të Ndërfaqes së Wine (WIDL) tani mbështet gjenerimin e meta të dhënave. Windows Runtime (WinRT). Mbështet gjenerimin dhe instalimin e skedarëve WinMD (Windows Metadata) për API-të WinRT (Windows Koha e ekzekutimit).
- Programi winedump është përditësuar për të mbështetur hedhjen e burimeve MUI, numrat e thirrjeve të sistemit, modulet NE të integruara dhe skedarët e mëdhenj PDB (>4 GB).
- Implementimi i Kontrollit të Përbashkët është rifaktorizuar dhe biblioteka COMCTL32 është ndarë në module të veçanta për versionet 5 dhe 6.
- BCrypt tani mbështet standardin e gjenerimit të çelësave PBKDF2.
- U shtua mbështetje për drejtoritë UserProgramFiles, AccountPictures dhe Screenshots.
- Bibliotekat LLVM Compiler-RT 8.0.1 dhe TomCrypt 1.18.2 janë të integruara. Biblioteka HwLoc përdoret për zbulimin e CPU-së në platformën FreeBSD.
- Komponentët e mëposhtëm janë përditësuar në versionet e reja: 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
