21 janar 2020 u zhvillua lansimi zyrtar i versionit stabil â njĂ« mjet falas pĂ«r tĂ« ekzekutuar programe natyrore tĂ« Windows nĂ« mjedisin UNIX. Kjo Ă«shtĂ« njĂ« implementim alternativ dhe i lirĂ« i Windows API. Akronimi rekurziv WINE do tĂ« thotĂ« "Wine Is Not an Emulator".
Pas këtij versioni qëndron rreth një vit zhvillimi dhe mbi 7400 ndryshime të veçanta. Zhvilluesi kryesor Alexandre Julliard thekson katër:
- Mbështetje për module në formatin PE. Kjo zgjidh problemet me skemat e ndryshme të mbrojtjes nga kopjimi, të cilat bëjnë kontrollin e moduleve sistemike në disk dhe në kujtesë.
- Mbështetje për disa monitorë dhe disa GPU, përfshirë ndryshimin dinamik të konfigurimeve.
- Riemplementimi i XAudio2 mbi bazën e projektit FAudio, një implementim i hapur i bibliotekave audio të DirectX. Kalimi në FAudio mundëson një cilësi më të lartë audio në lojëra, aktivizimin e përzierjes së volumit, efekte të avancuara audio dhe më shumë.
- Mbështetje për Vulkan 1.1.
Më shumë detaje në lidhje me ndryshimet kryesore.
Modulet PE
Me një kompilator MinGW, shumica e moduleve Wine tani kompilohen në formatin e skedarëve ekzekutivë PE (Portable Executable, formati binar i Windows) në vend të ELF.
Skedhet e ekzekutueshme PE tani kopjohen në katalog ~/..wine në vend të përdorimit të DLL-ve fikcion, duke i bërë aplikacionet më të ngjashme me instalimet reale të Windows.
Derisa të gjithë modulet nuk janë konvertuar në formatin PE. Puna vazhdon.
Nënshkrimi grafik
Siç u përmend më sipër, është shtuar mbështetje për punën me disa monitorë dhe adaptorë grafikë.
Drejtuesi Vulkan është përditësuar në specifikimet Vulkan 1.1.126.
Përveç kësaj, biblioteka WindowsCodecs tani mbështet formate të tjera raster, duke përfshirë formatet me paleta të indeksuara.
Direct3D
Aplikacionet me ekran të plotë Direct3D tani bllokojnë thirrjen e screensaver-it.
Për aplikacionet DXGI është realizuar mundësia e kalimit midis ekranit të plotë dhe modalitetit dritare me kombinimin standard të Alt+Enter.
Janë zgjeruar mundësitë e Direct3D 12: mbështetje për kalimin midis ekranit të plotë dhe modalitetit dritare, ndryshimi i mënyrave të ekranit, pamjet me shkallëzim dhe intervalet e zëvendësimit të bufereve të renderimit (swap interval). Të gjitha këto funksione janë realizuar tashmë për versionet e mëparshme të API Direct3D.
Pjesëtarët e projektit punuan me kujdes dhe eliminuan dosje të shumta, duke përmirësuar përpunimin e Wine për situata të ndryshme të natyrshme. Mes tyre është mostra burimesh 2D në mostrat 3D dhe anasjelltas, përdorimi i vlerave fillestare të jashtme për testet e transparencës dhe thellësisë, vizatimi me tekstura dhe buferë reflektues, përdorimi i klipove të papërshtatshëm (objekti DirectDraw) dhe shumë më tepër.
Këtu është zvogëluar hapësira adresore e nevojshme gjatë ngarkimit të teksteve 3D të kompresuar me metodën S3TC (në vend të ngarkimit të plotë, tekstet ngarkohen në pjesë).
Për aplikacionet e vjetra DirectDraw janë bërë disa përmirësime dhe rregullime në lidhje me llogaritjen e ndriçimit.
Baza e kartave grafike të njohura në Direct3D është zgjeruar.
Rrjeti dhe kriptografia
Motori Gecko është përditësuar në versionin 2.47.1 për mbështetje të mjeteve moderne. është realizuar një seri e re e API-ve HTML.
Në MSHTML është realizuar mbështetje për elementët SVG.
Janë shtuar shumë funksione të reja në VBScript (për shembull, menaxherët e gabimeve dhe përjashtimeve).
ĂshtĂ« realizuar mundĂ«sia pĂ«r tĂ« marrĂ« parametrat e konfigurimit tĂ« HTTP-proxys pĂ«rmes DHCP.
Në pjesën kriptografike, është realizuar mbështetje për çelësat kriptografikë të bazuar në kurvat elliptike (ECC) përmes GnuTLS, është shtuar mundësia e importit të çelësave dhe certifikatave nga skedarët në formatin PFX, si dhe është shtuar mbështetje për skemën e formimit të çelësave të bazuar në fjalëkalim PBKDF2.
Adobe Photoshop CS6 nën Wine
Risi të tjera të rëndësishme
- Mbështetje për spinlocks të bërthamës NT.
- Falë përfundimit të patentës për kompresimin e teksteve DXTn dhe S3, u bë e mundur përfshirja e tyre në implementimin e default.
- Mbështetje për instalimin e driverëve plug-and-play.
- Përmirësime të ndryshme në DirectWrite.
- Mbështetje më e mirë për Windows Media Foundation API.
- Sinkronizim më i mirë i primitiveve falë implementimit në futex.
- Shfrytëzimi i Wine-Mono për të kursyer hapësirë në vend të implementimit open-source të .NET për çdo rast.
~/..wine. - Mbështetje për Unicode 12.0 dhe 12.1.
- Implementimi i një shërbimi fillestar HTTP (HTTP.sys) si një zëvendësim për Winsock API dhe IIS, si rezultat, performanca ishte më e lartë se ajo e Windows Sockets API.
- Kompatibilitet më i mirë me debuggers të Windows.
- Mbështetje më e mirë për LLVM MinGW dhe përmirësime në kryqëzimin e WineGCC.
Mund tĂ« pĂ«rmenden edhe pĂ«rmirĂ«simet nĂ« ndĂ«rfaqen e pĂ«rdoruesit. PĂ«r shembull, dritaret e minimizuara tani shfaqen me njĂ« rresht titulli, jo me ikona nĂ« stilin e Windows 3.1. ĂshtĂ« pĂ«rmirĂ«suar mbĂ«shtetja pĂ«r kontrolluesit e lojĂ«rave, duke pĂ«rfshirĂ« nishonin, timonin dhe pedalat.
Janë hequr dekoduesit e integruar AVI, MPEG-I dhe WAVE nga Wine, dhe tani përdoren GStreamer ose QuickTime të sistemit.
është shtuar mundësia e përdorimit të debugger-it nga Visual Studio për debugin e aplikacioneve të shumta që ekzekutohen në Wine, biblioteka DBGENG (Debug Engine) është realizuar pjesërisht, dhe varësia nga libwine u eliminua në skedarët e ndërtuar për Windows.
Për optimizimin e performancës, funksionet e ndryshme që synojnë kohën janë kthyer në përdorimin e funksioneve sistemike me performancë të lartë për menaxhimin e orës, duke ulur kështu shpenzimet në ciklin e renderimit të shumë lojërave. Janë realizuar dhe optimizime të tjera të performancës.
Për listën e plotë të ndryshimeve shih. .
,
Në faqen po mbahet një bazë të dhënash për aplikacionet Windows që janë të përshtatshme me Wine. Këtu janë liderët sipas :
- Final Fantasy XI
- Adobe Photoshop CS6 (13.0)
- World of Warcraft 8.3.0
- EVE Online Current
- Magic: The Gathering Online 4.x
Mund të supozohet se këto aplikacione në Wine hapen më shpesh.
Shënim. Lëshimi i Wine 5.0 i dedikohet kujtimit të Józef Kucia, i cili u nda tragjikisht në gusht 2019 në moshën 30 vjeçare, ndërsa hulumtonte një të çarë në jug të Polonisë. Józef ishte një pjesëmarrës i rëndësishëm në zhvillimin e Direct3D Wine, si dhe një nga autorët kryesorë të projektit. . Gjatë kohës së punës mbi Wine, ai ka bërë më shumë se 2500 ndryshime.

Burimi: habr.com
