PĂ€rast aasta arendust ja 28 katseversiooni stabiilne vĂ€ljaanne avatud Win32 API rakendusest â , mis sisaldab rohkem kui 7400 muudatust. Uue versiooni peamiste saavutuste hulka kuulub Wini sisseehitatud moodulite pakkumine PE formaadis, mitme monitori konfiguratsioonide tugi, uus helirakenduse XAudio2 rakendamine ja grafika API Vulkan 1.1. tugi.
Wines töötavad tÀielikult 4869 (aasta tagasi 4737) Windowsi programmi, veel 4136 (aasta tagasi 4045) programmi töötab suurepÀraselt tÀiendavate seadistustega ja vÀliste DLL-idega. 3635 programmi puhul tÀheldatakse vÀikseid tööprobleeme, mis ei takista rakenduste pÔhifunktsioonide kasutamist.
Peamised Wine 5.0:
- Moodulid PE formaadis
- Kui MinGW kompilaator on olemas, kogutakse enamik Wini mooduleid nĂŒĂŒd PE (Portable Executable, kasutatav Windowsis) formaadis, mitte ELF-is. PE kasutamine lahendab lahenduste toetamise probleemid, mis seonduvad erinevate kopeerimiskaitse skeemide identiteedi kontrollimisega sĂŒsteemimoodulite kohta kettal ja mĂ€lus;
- PE formaatides kĂ€ivitatavad failid kopeeritakse nĂŒĂŒd katalooge ~/.wine ($WINEPREFIX) selle asemel, et kasutada vale DLL-faile, mistĂ”ttu on sisu rohkem sarnane tegelike Windowsi installidega, lisades tĂ€iendavat kettaruumi;
- PE formaati muudetud moodulid saavad kasutada standardseid C funktsioonide ja konstante Unicode'iga (nt L»abc»);
- Wines C runtime'isse lisati tugi MinGW's kokku pandud binaarfailide sidumiseks, mis kasutab DLL-ide koostamisel vaikimisi MinGW runtime'i asemel;
- GraafikasĂŒsteem
- Lisatud toetus mitme monitori ja graafikakaartide kasutamiseks, sealhulgas seadistuste dĂŒnaamiline muutmine;
- Graafika API Vulkan draiverit on vÀrskendatud, et see vastaks Vulkan 1.1.126 spetsiifikale;
- WindowsCodecs raamatukogus on teostatud toetus tÀiendavate rastervormingute konverteerimiseks, sealhulgas indekseeritud palettidega formaadid;
- Direct3D
- TÀisekraanirakenduste kÀitamisel on Direct3D-l hÀvitaja kutse blokeerimine;
- DXGI-s (DirectX Graphics Infrastructure) on lisatud tugi rakendusele, et informeerida selle akna minimeerimisest, mis lubab rakendusel koormusoperatsioone vÀhendada akna hÀÀlestamisel;
- DXGI kasutavate rakenduste jaoks on teostatud vahetamise toetus tĂ€isekraanireĆŸiimi ja aknareĆŸiimi vahel, kasutades kombinatsiooni Alt+Enter;
- Direct3D 12 elluviimise vĂ”imalusi on laiendatud, nĂ€iteks on lisatud tugi tĂ€isekraanireĆŸiimi ja aknareĆŸiimi vahetamiseks, ekraani reĆŸiimide muutmiseks, skaleerimisega vĂ€ljundite haldamiseks ja joonistamisbufferi vahetamise intervalli (swap interval) haldamiseks;
- Erinevate piirangusituatsioonide kÀitlemise tÀpsustamine, nagu toimumise vÀljaspool lubatud vahemikke tulemuste testimisel, peegeldatud tekstuuride ja bufferitega joonistamine, mittenÔuetekohaste DirectDraw objektide kasutamine , Direct3 seadmete loomine mittenÔuetekohaste akende jaoks, nÀhtavate piirkondade kasutamine, mille parameetri minimaalsed vÀÀrtused on vÔrdsed maksimaalsetega jne.
- Direct3D 8 ja 9 on tagatud tÀpsem jÀlgimine «» laetud tekstuuride aladel;
- VĂ€hendatud vajalikku aadressiruumi 3D-tekstuuride laadimisel, kasutades S3TC meetodit (failid laaditakse tĂŒkikaupa, mitte tĂ€ielikult).
- Teostatud ID3D11Multithread liides Vanade DirectDraw rakenduste jaoks on tehtud mitmeid parandusi ja tÀiustusi valguse arvutamise osas;
- Teostatud tÀiendavad kutsemehhanismid shader'ite teabe saamiseks API-s
- ShaderReflection ;
- Graafikakaartide andmebaasi on laiendatud, et tuvastada neid Direct3D-s; CPU-pÔhine komprimeritud ressursside töötlemiseks;
- Suurendatud graafikakaartide andmebaasi, mida tuvastatakse Direct3D-s;
- Uued registri vĂ”tted on lisatud HKEY_CURRENT_USER\Software\Wine\Direct3D: «shader_backend» (ĆĄeiderite töötlemise tagumise osa jaoks: «glsl» GLSL-ile, «arb» ARB vertex/fragmentile ja «none» ĆĄeitiderite toe keelamiseks), «strict_shader_math» (0x1 â lubada, 0x0 â keelata Direct3D ĆĄeitiderite teisendamine). VĂ”ti «UseGLSL» tunnistatakse aegunuks (kasutage «shader_backend»);
- D3DX
- Teostatud 3D-tekstuuride S3TC (S3 Texture Compression) kokkusurumise mehanismi tugi;
- Lisatud Ôiged teostused selliste operatsioonide jaoks nagu tekstuuriga tÀitmine ja mittepeegeldavad (unmappable) pinnad;
- Tehtud erinevaid tÀiustusi ja parandusi visuaalsete efektide loomise raamistikus ;
- Kernel (Windowsi tuumliideste)
- Enamik Kernel32-s kasutatavaid funktsioone on kantud ĂŒle
KernelBase'i, jĂ€rgides muudatusi Windowsi arhitektuuris; - VĂ”imalus segada 32- ja 64-bitiseid DLL-e kaustades, mida kasutatakse laadimiseks. Tagatud on mitte vastava bitise ĂŒhikuse (32/64) ignoreerimine, juhul kui edasi teel on vĂ”imalik leida Ă”ige bitise ĂŒhikuse raamatukogu;
- Seadme draiverite jaoks on parendatud tuumaobjektide emulatsiooni;
- Töötavad tuumal tasemel sĂŒnkroniseerimise objektid, nagu spin-lock'id, kiired mutex'id ja ressursiga seotud muutujad;
- Tagatud rakendustele Ôige akuoleku teavitamine;
- Enamik Kernel32-s kasutatavaid funktsioone on kantud ĂŒle
- Kasutajaliides ja integreerimine töölauaga
- Minimeeritud aknad kuvatakse nĂŒĂŒd pealkirja kujul, mitte Windows 3.1 stiilis ikoonina;
- Uued nuppude stiilid on lisatud (avakuulike nupp) ja (dialoogelementides, mida kasutatakse jÀrgmisele etapile liikumiseks);
- Kataloogidele âDownloadsâ ja âTemplatesâ on loodud sĂŒmboolsed lingid, mis viitavad vastavatele kataloogidele Unix-sĂŒsteemides;
- Sisendi seadmed
- KĂ€ivitusel tagatakse vajalikud Plug & Play seadme draiverite installimine ja laadimine;
- Parendatud mÀngukontrollerite toetust, sealhulgas mini-joystick (hat switch), rool ja gaasi ja pidurite pedaalid.
- Toetus vanale Linuxi API-le, mis suhtles joystick'idega, on lÔpetatud, mida kasutati Linuxi tuumades enne versiooni 2.2;
- .NET
- Mono mootor on uuendatud versioonini 4.9.4 ja sisaldab nĂŒĂŒd Windows Presentation Foundation (WPF) raamistiku komponente;
- Lisatud vĂ”imalus paigaldada lisandeid Mono ja Gecko ĂŒhte ĂŒhisesse kataloogi, failide paigutamine hierarhias /usr/share/wine asemel uutesse prefiksitesse kopeerimise asemel;
- VÔrguvÔimalused
- Veebibrauseri mootor Wine Gecko, mida kasutatakse MSHTML teegis, on uuendatud versioonini 2.47.1. Uute HTML API-de toetus on rakendatud;
- MSHTML-is on rakendatud SVG elementide toetus;
- Lisatud palju uusi VBScript'i funktsioone (nt viga ja erandite töötlemine, funktsioonid Hour, Day, Month, String, LBound, RegExp.Replace, RScriptTypeInfo_* ja ScriptTypeComp_Bind* jne);
- Koodiselgituse sÀilitamine VBScriptis ja JScriptis (script persistence);
- Lisatud algne HTTP teenuse (WinHTTP) ja sellega seotud API (HTTPAPI) rakenduste jagamiseks klientidega ja serveritega, kes saadavad ja saavad pÀringuid HTTP protokolli kaudu;
- Tagatud vÔimalus saada HTTP-proksi seadistamise parameetreid DHCP kaudu;
- Lisatud autentimissoovide suunamise tugi Microsoft Passport teenuse kaudu;
- KrĂŒptograafia
- Rakendatud elliptiliste kĂ”verate (ECC) baasil krĂŒptograafiliste vĂ”tmete toetus, kasutades GnuTLS;
- Lisatud vÔimalus importida vÔtmeid ja sertifikaate PFX formaadis failidest;
- Lisatud toetus paroolipÔhise vÔtme loomise skeemile PBKDF2;
- Tekst ja fondid
- DirectWrite API rakenduses on lisatud OpenType'i funktsioonide toetus, mis on seotud , mis on vaikimisi sisse lĂŒlitatud Ladina fontide jaoks, sealhulgas kerning;
- Fontide andmete töötlemise turvalisust on suurendatud, kontrollides erinevate andmefailide tabelite Ôigsust enne nende kasutamist;
- DirectWrite liidesed on vastandatud vÀrsketele SDK-dele;
- Heli ja video
- Pakutud on uus heli API , mis on rajatud projekti alusel. FAudio kasutamine Wine'is vÔimaldab saavutada mÀngudes kvaliteetsemaid helisid ja rakendada selliseid funktsioone nagu helikÔrguse segamine ja tÀiustatud heliefektid;
- Lisatud hulk uusi kutsungeid Media Foundation raamistiku rakendusse, sealhulgas integreeritud ja kasutaja mÀÀratud asĂŒnkroonsed jĂ€rjekorrad, Source Reader API, Media Session jne.
- Videote jÀÀdvustamise filter on ĂŒle viidud v4l2 API kasutamisele v4l1 API asemel, mis on vĂ”imaldanud laiendada toetatud kaamerate valikut;
- Eemaldatud on sisseehitatud dekooder AVI, MPEG-I ja WAVE, mille asemel kasutatakse nĂŒĂŒd sĂŒsteemseid GStreameri vĂ”i QuickTime'i dekoodreid;
- Lisatud VMR7 konfiguratsiooni API alamhulk;
- Heli draiveritesse on lisatud toetust eraldi kanalite helitugevuse seadistamiseks;
- Rahvusvaheline teema
- Unicode tabelid on vÀrskendatud versioonile 12.1.0;
- Rakendatud Unicode normaliseerimise tugi;
- Tagatud automaatne geograafilise piirkonna mÀÀramine (HKEY_CURRENT_USER\Control Panel\International\Geo) teie praeguse lokaali pÔhjal;
- RPC/COM
- Typlis on lisatud keerukate struktuuride ja massiivide toetus;
- Lisatud algne Windows Script runtime-kirjasto;
- Lisatud algne ADO (Microsoft ActiveX Data Objects) raamatukogu;
- Installeerijad
- MSI installijale on rakendatud patch-failide (Patch Files) toetus;
- Windows Update Standalone Installer (WUSA) utiliidis on nĂŒĂŒd vĂ”imalik installida uuendusi .MSU formaadis;
- ARM platvorm
- ARM64 arhitektuurile on ntdll-s lisatud tugivÔimekus kuhjamine (stack unwinding). Lisa toetust vÀlistele raamatukogudele libunwind;
- ARM64 arhitektuuri jaoks on rakendatud sujuvate prokside (stubless proxies) toetus objektide liideste jaoks;
- Arendustööriistad / Winelib
- Lisatud Visual Studio siluri rakendamise vÔimalus Wine'is kÀivitatavate rakenduste kaugprojekteerimiseks;
- Osaliselt on rakendatud DBGENG (Debug Engine) raamatukogu;
- Windowsi tÀienduskogutud kÀivitusfailid ei sÔltu enam libwine'ist, mis vÔimaldab nende kÀivitamist Windowsis ilma tÀiendavate sÔltuvusteta;
- Resource Compiler ja IDL Compiler on lisatud valiku ââsysrootâ, et mÀÀrata pealkirjade asukoha tee;
- winegcc-sse on lisatud valikud ââtargetâ, ââwine-objdirâ,
ââwinebuildâ ja â-fuse-ldâ, mis lihtsustavad keskkonna seadistamist ristkompileerimiseks;
- Sisseehitatud rakendused
- CHCP utiliit on rakendatud konsooli kodeeringu seadistamiseks;
- MSIDB utiliit on rakendatud MSI formaadi andmebaaside manipuleerimiseks;
- JÔudluse optimeerimine
- Erinevad ajaga seotud funktsioonid on viidud ĂŒle kĂ”rge jĂ”udlusega sĂŒsteemi ajafunktsioonide kasutamisele, mis on vĂ€hendanud kulusid paljude mĂ€ngude renderdamise tsĂŒklites;
- Lisatud tugi Ext4 failisĂŒsteemis töötamine mitte-suuruse tundlikult;
- Suure hulga elementide töötlemise jĂ”udluse optimeerimine valikute dialoogides, mis töötavad LBS_NODATA reĆŸiimis;
- Lisatud kiirem SRW-lukustuste (Slim Reader/Writer) teostus Linuxile, viidud Futex'i;
- VÀlist sÔltuvust
- PE formaadis moodulite koostamiseks on kasutatud MinGW-w64 ristkompilaatorit;
- XAudio2 rakendamine nÔuab FAudio teeki;
- Faili muutuste jĂ€lgimiseks BSD sĂŒsteemides
on kasutatud Inotify teeki; - ARM64 platvormil erandite töötlemiseks on vajalik Unwind teek;
- Video4Linux1 asemel on nĂŒĂŒd vajalik Video4Linux2 teek.
Allikas: opennet.ru
