Pas njĂ« vit zhvillimi dhe 28 versione eksperimentale lĂ«shimi i stabilizuar i implementimit tĂ« hapur tĂ« Win32 API â , i cili pĂ«rfshin mĂ« shumĂ« se 7400 ndryshime. Si arritje kryesore e versionit tĂ« ri shĂ«nohet dorĂ«zimi i moduleve tĂ« integruara tĂ« Wine nĂ« formatin PE, mbĂ«shtetje pĂ«r konfigurimet me shumĂ« monitorĂ«, njĂ« realizim i ri i API-t audio XAudio2 dhe mbĂ«shtetje pĂ«r API-nĂ« grafike Vulkan 1.1.
Në Wine punon plotësisht 4869 (një vit më parë 4737) programe për Windows, ndërsa 4136 (një vit më parë 4045) programe funksionojnë shkëlqyer me konfigurime të tjera dhe DLL të jashtme. Tek 3635 programe janë vërejtur disa probleme të vogla në funksionim, të cilat nuk pengojnë përdorimin e funksioneve kryesore të aplikacioneve.
Karakteristikat kryesore Wine 5.0:
- Module në formatin PE
- Me një kompilues MinGW, shumica e moduleve të Wine tani përmblidhen në formatin e skedarëve ekzekutivë PE (Portable Executable, i përdorur në Windows) në vend të ELF. Përdorimi i PE zgjidh problemet me mbështetje për skemat e ndryshme të mbrojtjes nga kopjimi, të cilat verifikojnë identitetin e moduleve sistemore në disk dhe në memorie;
- Skedarët ekzekutivë PE tani kopjohen në katalogun ~/.wine ($WINEPREFIX) në vend të përdorimit të skedarëve DLL falsë, duke bërë që struktura të duket më e ngjashme me instalimet reale të Windows, me kosto të hapsirës shtesë në disk;
- Modulet e transformuara në formatin PE mund të përdorin funksionet standarde të C-së dhe konstantet me unikod (p.sh., L»abc»);
- Në runtime të Wine C është shtuar mbështetje për lidhjen me skedarët binarë të ndërtuar në MinGW, të cilat përdoren si parazgjedhje gjatë ndërtimit të DLL-ve në vend të runtime të MinGW;
- Sistemi grafik
- Shtuar mbështetje për punën me monitorë dhe adaptues grafikë të shumtë, duke përfshirë mundësinë e ndryshimit dinamik të konfigurimeve;
- Përditësuar drejtuesi për API-në grafike Vulkan, i cili është përshtatur me specifikimet Vulkan 1.1.126;
- Në bibliotekën WindowsCodecs është realizuar mundësia për të transformuar formate të tjera raster, duke përfshirë formate me paleta të indeksuara;
- Direct3D
- Gjatë ekzekutimit të aplikacioneve me ekran të plotë Direct3D sigurohet bllokimi i thirrjeve të ruajtësit të ekranit;
- Në DXGI (Infrastruktura e Grafikës DirectX) është shtuar mbështetje për informimin e aplikacionit mbi minimizimin e dritares së tij, duke lejuar aplikacionin të reduktojë kryerjen e operacioneve me burime të rëndë gjatë minimizimit të dritares;
- Për aplikacionet që përdorin DXGI, është implementuar mundësia për të kaluar midis modalitetit të plotë ekranit dhe atij në dritare përmes kombinimit Alt+Enter;
- Janë zgjeruar mundësitë për implementimin e Direct3D 12, për shembull, është shtuar mbështetje për kalimin midis modalitetit të plotë ekranit dhe atij në dritare, ndryshimin e modaliteteve të ekranit, daljen me shkallëzim dhe menaxhimin e intervalit të zëvendësimit të bufeve të vizatimit (swap interval);
- ĂshtĂ« pĂ«rmirĂ«suar pĂ«rpunimi i situatave tĂ« ndryshme tĂ« kufizuara, si aplikimi i vlerave fillestare qĂ« dalin jashtĂ« limitesh pĂ«r testet e transparencĂ«s dhe thellĂ«sisĂ«, vizatimi me tekstura tĂ« reflektuara dhe bufe, pĂ«rdorimi i objekteve tĂ« papĂ«rshtatshme DirectDraw. , krijimi i pajisjeve Direct3 pĂ«r dritaren e papĂ«rshtatshme, pĂ«rdorimi i zonave tĂ« dukshme, vlerat minimale tĂ« parametrave tĂ« tĂ« cilave janĂ« tĂ« barabarta me maksimale dhe tĂ« tjera.
- Në Direct3D 8 dhe 9 është siguruar një ndjekje më e saktë e "" të teksturave që ngarkohet;
- ĂshtĂ« reduktuar madhĂ«sia e hapĂ«sirĂ«s adresuese tĂ« nevojshme gjatĂ« ngarkimit tĂ« teksturave 3D tĂ« kompresuara me metodĂ«n S3TC (ndaj ngarkimit tĂ« plotĂ«, teksturat ngarkohet nĂ« blloqe).
- ĂshtĂ« implementuar ndĂ«rfaqja pĂ«r mbrojtjen e seksioneve kritike nĂ« aplikacionet me shumĂ« threads;
- Për aplikacionet e vjetra DirectDraw janë bërë përmirësime dhe rregullime të ndryshme që lidhen me llogaritjen e ndriçimit;
- Janë implementuar thirrje të tjera për marrjen e informacionit mbi shenjat në API ;
- Në wined3d është shtuar mbështetje për bazuar në CPU për përpunimin e burimeve të kompresuara;
- Baza e të dhënave të kartave grafike të njohura në Direct3D është zgjeruar;
- JanĂ« shtuar çelĂ«sa tĂ« rinj tĂ« regjistrit HKEY_CURRENT_USER\Software\Wine\Direct3D: "shader_backend" (backend pĂ«r punĂ«n me shenjat: "glsl" pĂ«r GLSL, "arb" pĂ«r ARB vertex/fragment dhe "none" pĂ«r çaktivizimin e mbĂ«shtetjes pĂ«r shenjat), "strict_shader_math" (0x1 â aktivizo, 0x0 â çaktivizo konvertimin e shenjave Direct3D). ĂelĂ«si "UseGLSL" Ă«shtĂ« shpallur i vjetruar (duhet pĂ«rdorur "shader_backend");
- D3DX
- ĂshtĂ« implementuar mbĂ«shtetje pĂ«r mekanizmin e kompresimit tĂ« teksturave 3D S3TC (S3 Texture Compression);
- Janë shtuar zbatime të sakta për operacione si mbushja me teksturë dhe sipërfaqe të pareflektohen (unmappable);
- Janë bërë përmirësime dhe rregullime të ndryshme në frameworkun e krijimit të ;
- Bërthama (ndërfaqet e bërthamës Windows)
- Shumica e funksioneve që përdoren në Kernel32 janë zhvendosur në
KernelBase, duke ndjekur ndryshimet në arkitekturën e Windows; - Mundësi për të kombinuar DLL-të 32-bit dhe 64-bit në kataloget e përdorura për shkarkim. I siguruar injorimi i bibliotekave që nuk janë në përputhje me arkitekturën aktuale (32/64), për rastet kur më pas në rrugë mund të gjendet një bibliotekë e saktë për arkitekturën aktuale;
- Për drejtuesit e pajisjeve, është përmirësuar emulimi i objekteve thelbësore;
- Janë implementuar objekte sinkronizimi që funksionojnë në nivelin e bërthamës, të tilla si spin-locks, mutex të shpejtë dhe variabla të lidhura me burimin;
- Ofrohet informim i saktë për aplikacionet rreth gjendjes së baterisë;
- Shumica e funksioneve që përdoren në Kernel32 janë zhvendosur në
- Ndërfaqja e përdoruesit dhe integrimi me desktopin
- Dritaret me minimizim tani shfaqen duke përdorur një titull, dhe jo një ikonë në stilin e Windows 3.1;
- Stilet e reja të butonave janë shtuar (buton me një listë rënie veprimesh) dhe (lidhje në dialogun, të cilat përdoren për të kaluar në stadin tjetër);
- Për dosjet 'Downloads' dhe 'Templates' janë krijuar lidhje simbolike që tregojnë në katalogët përkatës në sistemet Unix;
- Pajisjet e inputit
- Në fillim, është siguruar instalimi dhe ngarkimi i nevojshëm i drejtuesve të pajisjeve Plug & Play;
- Përmirësuar mbështetja për kontrollet e lojërave, përfshirë mini-joystick (hat switch), timonin dhe pedalat për gaz dhe fren;
- Mbështetja për API-në e vjetër të Linux për ndërveprimin me joystick, e përdorur në bërthamat e Linux para versionit 2.2 është ndërprerë;
- .NET
- Motori Mono është përditësuar në versionin 4.9.4 dhe tani përfshin pjesë të fushës së punës Windows Presentation Foundation (WPF);
- Shtuar mundësinë për të instaluar shtesa me Mono dhe Gecko në një katalog të përbashkët me vendosjen e skedarëve në hierarkinë /usr/share/wine në vend të kopjimit në prefixe të reja;
- Mundësitë rrjetë
- Motori i shfletuesit Wine Gecko, i përdorur në bibliotekën MSHTML, është përditësuar në versionin 2.47.1. Implementuar mbështetje për API-të e reja HTML;
- Në MSHTML është implementuar mbështetje për elementet SVG;
- Shtuar shumë funksione të reja të VBScript (p.sh., menaxherët e gabimeve dhe përjashtimeve, funksionet Hour, Day, Month, String, LBound, RegExp.Replace, RScriptTypeInfo_* dhe ScriptTypeComp_Bind* etj.);
- Siguruar ruajtjen e gjendjes së kodit në VBScript dhe JScript (përshtatja e skriptit);
- Shtuar implementimin e fillestar të shërbimit HTTP (WinHTTP) dhe API-së së lidhur (HTTPAPI) për aplikacionet klient dhe server që dërgojnë dhe pranojnë kërkesa duke përdorur protokollin HTTP;
- Implementuar mundësia për të marrë parametrat e konfigurimit të HTTP-proxy përmes DHCP;
- Shtuar mbështetje për ridrejtimin e kërkesave të autentifikimit përmes shërbimit Microsoft Passport;
- Kriptografia
- Mbështetje për çelësa kriptografikë të bazuar në kurba eliptike (ECC) është realizuar duke përdorur GnuTLS;
- Shtuar mundësia e importimit të çelësave dhe certifikatave nga skedarët në format PFX;
- Shtuar mbështetje për skemën e krijimit të çelësit të bazuar në fjalëkalim PBKDF2;
- Teksti dhe fontet
- Në realizimin e API DirectWrite është shtuar mbështetje për funksionalitetet OpenType të lidhura me , të cilat janë të përfshira nga default për shkronjat Latin, duke përfshirë kerning;
- Rritja e sigurisë në trajtimin e të dhënave të fontit përmes verifikimit të saktësisë së tabelave të ndryshme të dhënash para përdorimit të tyre;
- Interface-t e DirectWrite janë përditësuar në përputhje me SDK-në e fundit;
- Zëri dhe video
- Propozohet një realizim i ri i API-së së zërit , i ndërtuar mbi projektin . Përdorimi i FAudio në Wine lejon arritjen e cilësisë më të lartë të zërit në lojëra dhe përdorimin e mundësive të tilla si miksimi i volumit dhe efektet e zërit të avancuara;
- Shtuar një numër të madh të thirrjeve të reja në realizimin e kuadrit Media Foundation, duke përfshirë mbështetje për radhë asinkrone të ndërtuara dhe të personalizuara, API-në e Lexuesit të Burimeve, Sesionin e Mediave etj.
- Filtri i kapjes së videos është kaluar në përdorimin e API-së v4l2 në vend të API-së v4l1, çka ka lejuar zgjerimin e gamës së kamerave të mbështetura;
- Dekoduesit e integruar AVI, MPEG-I dhe WAVE janë hequr, për të cilët tani përdoren sistemet GStreamer ose QuickTime;
- Shtuar një nëngrup të API-ve të konfigurimit VMR7;
- Në drejtuesit e zërit është shtuar mbështetje për rregullimin e volumit të kanaleve të veçanta;
- Internacionalizimi
- Tabelat Unicode janë përditësuar në versionin 12.1.0;
- Realizuar mbështetje për normalizimin e Unicode;
- Siguruar vendosje automatikisht të rajonit gjeografik (HKEY_CURRENT_USER\Control Panel\International\Geo) në bazë të lokalitetit aktual;
- RPC/COM
- Shtuar mbështetje për struktura të komplikuara dhe vargje në typelib;
- Shtuar realizimin fillestar të librarisë runtime për Windows Script;
- Shtuar realizimin fillestar të librarisë ADO (Microsoft ActiveX Data Objects);
- Instaluesit
- Për instaluesin MSI është realizuar mbështetje për furnizimin e patches (Patch Files);
- Në utilitarin WUSA (Windows Update Standalone Installer) është shtuar mundësia e instalimit të përditësimeve në formatin .MSU;
- Platforma ARM
- Për arkitekturën ARM64, mbështetje për lëshimin e stack-ut (stack unwinding) është shtuar në ntdll. Mbështetje për lidhjen e bibliotekave të jashtme libunwind është shtuar;
- Për arkitekturën ARM64 është realizuar mbështetje për proxy pa përfshirje (stubless proxies) për interface-t e objekteve;
- Mjetet për zhvillimin / Winelib
- Shto është mundësia e përdorimit të debugger-it nga Visual Studio për debugin e aplikacioneve që ekzekutohen në Wine;
- Biblioteka DBGENG (Debug Engine) është pjesërisht e implementuar;
- Ekzekutuesit e mbledhur për Windows tani nuk varen më nga libwine, duke lejuar që ata të ekzekutohen në Windows pa varësi të tjera;
- NĂ« Resource Compiler dhe IDL Compiler Ă«shtĂ« shtuar opsioni ââsysrootâ pĂ«r tĂ« pĂ«rcaktuar rrugĂ«n e vendndodhjes sĂ« skedave tĂ« kokĂ«s;
- NĂ« winegcc janĂ« shtuar opsionet ââtargetâ, ââwine-objdirâ,
ââwinebuildâ dhe â-fuse-ldâ, duke e bĂ«rĂ« mĂ« tĂ« thjeshtĂ« konfigurimin e mjedisit pĂ«r ndĂ«rtimin e ndĂ«rprerĂ«;
- Aplikacione të integruara
- U implementua utilitari CHCP për rregullimin e kodit të konsolës;
- U implementua utilitari MSIDB për manipulimin e bazave në formatin MSI;
- Optimizimi i performancës
- Funksione të ndryshme për punën me kohën u transferuan në përdorimin e funksioneve sistemike me performancë të lartë, duke ulur ngarkesat në ciklin e vizatimit të shumë lojërave;
- Shtuar mundësia e përdorimit në sistemin Ext4 të punës pa marrë parasysh regjistrin e simboleve;
- U optimizua performanca e trajtimit të një numri të madh elementesh në dialogët e output-it të listave që punojnë në modin LBS_NODATA;
- U shtua një implementim më i shpejtë i SRW-locks (Slim Reader/Writer) për Linux, i përkthyer në Futex;
- Varësitë e jashtme
- Për ndërtimin e moduleve në formatin PE është përdorur cross-compiler MinGW-w64;
- Implementimi i XAudio2 kërkon bibliotekën FAudio;
- Për ndjekjen e ndryshimeve të skedave në sistemet BSD
është angazhuar biblioteka Inotify; - Për trajtimin e përjashtimeve në platformën ARM64 kërkohet biblioteka Unwind;
- Sebastian Video4Linux1 tani kërkon bibliotekën Video4Linux2.
Burimi: opennet.ru
