Lëshimi i qëndrueshëm i Wine 8.0

Pas një viti zhvillimi dhe 28 versionesh eksperimentale, u prezantua një version i qëndrueshëm i zbatimit të hapur të Win32 API - Wine 8.0, i cili përfshinte më shumë se 8600 ndryshime. Arritja kryesore në versionin e ri shënon përfundimin e punës për përkthimin e moduleve Wine në format.

Wine ka konfirmuar funksionimin e plotë të 5266 (një vit më parë 5156, dy vjet më parë 5049) programe për Windows, 4370 të tjerë (një vit më parë 4312, dy vjet më parë 4227) programe funksionojnë në mënyrë perfekte me cilësime shtesë dhe DLL të jashtme. 3888 programe (3813 një vit më parë, 3703 dy vjet më parë) kanë probleme të vogla operative që nuk ndërhyjnë në përdorimin e funksioneve kryesore të aplikacioneve.

Risitë kryesore në Wine 8.0:

  • Modulet në formatin PE
    • Pas katër vitesh punë, ka përfunduar konvertimi i të gjitha bibliotekave DLL për të përdorur formatin e skedarit të ekzekutueshëm PE (Portable Executable, që përdoret në Windows). Përdorimi i PE lejon përdorimin e korrigjuesve të disponueshëm për Windows dhe zgjidh problemet me mbështetjen e skemave të ndryshme të mbrojtjes nga kopjimi që verifikojnë identitetin e moduleve të sistemit në disk dhe në memorie. Problemet me ekzekutimin e aplikacioneve 32-bit në hostet 64-bit dhe aplikacionet x86 në sistemet ARM janë zgjidhur gjithashtu. Ndër detyrat e mbetura që janë planifikuar të zgjidhen në versionet e mëvonshme eksperimentale të Wine 8.x, ekziston një kalim i moduleve në ndërfaqen e thirrjeve të sistemit NT në vend që të bëni thirrje direkte midis shtresave PE dhe Unix.
    • Është zbatuar një menaxher i veçantë i thirrjeve të sistemit, i përdorur për të përkthyer thirrjet nga bibliotekat PE në Unix, në mënyrë që të zvogëlohet shpenzimi i përgjithshëm i ekzekutimit të një thirrjeje të plotë të sistemit NT. Për shembull, optimizimi bëri të mundur reduktimin e degradimit të performancës kur përdorni bibliotekat OpenGL dhe Vulkan.
    • Aplikacionet Winelib ruajnë aftësinë për të përdorur asamble të përziera Windows/Unix të bibliotekave ELF (.dll.so), por aplikacione të tilla pa biblioteka 32-bit nuk do të mbështesin funksionalitetin e disponueshëm përmes ndërfaqes së thirrjeve të sistemit NT, si p.sh. WoW64.
  • WoW64
    • Shtresat WoW64 (64-bit Windows-on-Windows) ofrohen për të gjitha bibliotekat Unix, duke lejuar modulet 32-bit në formatin PE të kenë akses në bibliotekat Unix 64-bit, të cilat, pasi të heqin qafe thirrjet e drejtpërdrejta PE/Unix, do ta bëjnë atë e mundur për të ekzekutuar aplikacione Windows 32-bit pa instaluar biblioteka Unix 32-bit.
    • Në mungesë të një ngarkuesi Wine 32-bit, aplikacionet 32-bit mund të ekzekutohen në modalitetin e ri eksperimental të Windows-si WoW64, në të cilin kodi 32-bit funksionon brenda një procesi 64-bit. Modaliteti aktivizohet kur ndërtohet Wine me opsionin '-enable-archs'.
  • Nënsistemi grafik
    • Konfigurimi i paracaktuar përdor temën e dritës ("Drita"). Mund ta ndryshoni temën duke përdorur mjetin WineCfg.
      Lëshimi i qëndrueshëm i Wine 8.0
    • Drejtuesit e grafikës (winex11.drv, winemac.drv, wineandroid.drv) konvertohen për të ekzekutuar thirrjet e sistemit në nivelin Unix dhe për të hyrë te drejtuesit përmes bibliotekës Win32u.
      Lëshimi i qëndrueshëm i Wine 8.0
    • Është zbatuar arkitektura e procesorit të printimit, e cila përdoret për të eliminuar thirrjet direkte midis niveleve PE dhe Unix në drejtuesin e printerit.
    • Direct2D API tani mbështet efektet.
    • Direct2D API ka shtuar aftësinë për të regjistruar dhe luajtur listat e komandave.
    • Drejtuesi për API grafike Vulkan ka shtuar mbështetje për specifikimin Vulkan 1.3.237 (Vulkan 7 u mbështet në Wine 1.2).
  • Direct3D
    • U shtua një përpilues i ri shader për HLSL (High-Level Shader Language), i implementuar bazuar në bibliotekën vkd3d-shader. Gjithashtu, bazuar në vkd3d-shader, janë përgatitur një çmontues HLSL dhe një paraprocesor HLSL.
    • Ndërfaqja Thread Pump e prezantuar në D3DX 10 është implementuar.
    • Efektet Direct3D 10 shtojnë mbështetje për shumë shprehje të reja.
    • Biblioteka mbështetëse për D3DX 9 tani mbështet projektimin e teksturës së Cubemap.
  • Tingulli dhe video
    • Bazuar në kornizën GStreamer, është zbatuar mbështetje për filtrat për dekodimin e audios në formatin MPEG-1.
    • U shtua një filtër për leximin e transmetimit të audios dhe videos në formatin ASF (Advanced Systems Format).
    • Shtresa e ndërmjetme e bibliotekës OpenAL32.dll është hequr, në vend të së cilës përdoret tani biblioteka origjinale e Windows OpenAL32.dll, e pajisur me aplikacione.
    • Media Foundation Player ka përmirësuar zbulimin e llojit të përmbajtjes.
    • Është zbatuar aftësia për të kontrolluar shpejtësinë e transferimit të të dhënave (Rate control).
    • Mbështetje e përmirësuar për mikserin dhe prezantuesin e paracaktuar në Rendererin e Përmirësuar të Videos (EVR).
    • U shtua zbatimi fillestar i Writer Encoding API.
    • Mbështetje e përmirësuar e ngarkuesit të topologjisë.
  • Pajisjet hyrëse
    • Mbështetje e përmirësuar ndjeshëm për mbylljen e nxehtë të kontrollorëve.
    • Propozohet një zbatim i përmirësuar i kodit për përcaktimin e timonit të lojës, i ndërtuar në bazë të bibliotekës SDL.
    • Mbështetje e përmirësuar për efektin e reagimit Force kur përdorni rrotat e lojërave.
    • Është zbatuar aftësia për të kontrolluar motorët me dridhje majtas dhe djathtas duke përdorur specifikimin HID Haptic.
    • Ndryshoi dizajnin e panelit të kontrollit të levës.
    • Mbështetja për kontrollorët Sony DualShock dhe DualSense ofrohet përmes përdorimit të bazës së pasme hidraw.
    • Moduli WinRT Windows.Gaming.Input propozohet me zbatimin e një ndërfaqe softuerike për aksesin në tastierë lojërash, levë dhe rrota lojrash. Për API-në e re, ndër të tjera, zbatohet mbështetje për njoftimin e mbylljes së nxehtë të pajisjeve, efektet prekëse dhe vibruese.
  • Ndërkombëtarizimi
    • Sigurohet gjenerimi i bazës së të dhënave të saktë të vendndodhjes në formatin locale.nls nga depoja Unicode CLDR (Unicode Common Locale Data Repository).
    • Funksionet e krahasimit të vargjeve Unicode janë zhvendosur për të përdorur bazën e të dhënave dhe algoritmin e Windows Sortkey në vend të algoritmit Unicode Collation, duke e afruar sjelljen me Windows.
    • Shumica e veçorive kanë shtuar mbështetje për vargjet e sipërme të kodit Unicode (aeroplanët).
    • Është e mundur të përdoret UTF-8 si kodim ANSI.
    • Tabelat e karaktereve janë përditësuar në specifikimin Unicode 15.0.0.
  • Teksti dhe fontet
    • Lidhja e shkronjave është aktivizuar për shumicën e shkronjave të sistemit, duke zgjidhur problemin e mungesës së glifeve në sisteme me gjuhë kineze, koreane dhe japoneze.
    • Rivendosja e fontit të ripërpunuar në DirectWrite.
  • Kernel (ndërfaqet e kernelit të Windows)
    • Është implementuar baza e të dhënave ApiSetSchema, e cila zëvendësoi modulet api-ms-* dhe reduktoi konsumin e diskut dhe hapësirës së adresave.
    • Atributet e skedarit DOS ruhen në disk në një format të pajtueshëm me Samba duke përdorur atribute të zgjeruara FS.
  • Karakteristikat e rrjetit
    • Mbështetje e shtuar për OCSP (Protokolli i Statusit të Certifikatës në internet), i përdorur për të kontrolluar certifikatat e revokuara.
    • Gama e veçorive të EcmaScript të disponueshme në modalitetin e pajtueshmërisë me standardet JavaScript është zgjeruar.
    • Zbatoi një grumbullues mbeturinash për JavaScript.
    • Paketa e motorit Gecko përfshin veçori për personat me aftësi të kufizuara.
    • MSHTML shton mbështetje për API-në e ruajtjes së uebit, objektin Performance dhe objekte shtesë për trajtimin e ngjarjeve.
  • Aplikimi i plotë
    • Të gjitha aplikacionet e integruara janë konvertuar për të përdorur bibliotekën Common Controls 6, me mbështetje për temat e dizajnit dhe paraqitjen duke marrë parasysh ekranet me densitet të lartë pikselësh.
    • Aftësi të zgjeruara për korrigjimin e temave në Wine Debugger (winedbg).
    • Shërbimet e regjistrit (REGEDIT dhe REG) tani mbështesin llojin QWORD.
    • Notepad ka shtuar një shirit statusi me informacion në lidhje me pozicionin e kursorit dhe një funksion Goto Line për të kaluar në një numër rreshti të caktuar
    • Konsola e integruar siguron daljen e të dhënave në faqen e kodit OEM.
    • Komanda 'query' është shtuar në programin sc.exe (Service Control).
  • Sistemi i montimit
    • Është siguruar aftësia për të ndërtuar skedarë të ekzekutueshëm në formatin PE për disa arkitektura (për shembull, '—enable-archs=i386,x86_64').
    • Në të gjitha platformat me llojin 32-bit të gjatë, llojet e të dhënave të përcaktuara për aq kohë në Windows tani ripërcaktohen si 'long' në vend të 'int' në Wine. Në Winelib, kjo sjellje mund të çaktivizohet nëpërmjet përkufizimit WINE_NO_LONG_TYPES.
    • U shtua aftësia për të gjeneruar biblioteka pa përdorur dlltool (mundësuar duke vendosur opsionin '—pa-dlltool' në winebuild).
    • Për të përmirësuar efikasitetin e ngarkimit dhe për të zvogëluar madhësinë e bibliotekave pa kod, vetëm me burime, winegcc zbaton opsionin '--vetëm për të dhënat'.
  • Përmbledhje
    • Versione të përditësuara të bibliotekave të integruara Faudio 22.11, LCMS2 2.14, LibJPEG 9e, LibMPG123 1.31.1, LibPng 1.6.39, LibTiff 4.4.0, LibXml2 2.10.3, LibXml1.1.37 1.2.13, LibXNUMXlt
    • Motori Wine Mono me implementimin e platformës .NET është përditësuar për të lëshuar versionin 7.4.
    • Mbështetja për kriptim bazuar në algoritmin RSA dhe nënshkrimet dixhitale RSA-PSS është zbatuar.
    • U shtua versioni fillestar i UI Automation API.
    • Pema burimore përfshin bibliotekat LDAP dhe vkd3d, të cilat janë përpiluar në formatin PE, duke eliminuar nevojën për të furnizuar asambletë Unix të këtyre bibliotekave.
    • Biblioteka OpenAL është ndërprerë.

Burimi: opennet.ru

Shto një koment