Wine 5.0 stabiilne väljalase

Pärast aastast arendustööd ja 28 eksperimentaalset versiooni esitatakse Win32 API avatud juurutuse stabiilne väljalase - Vein 5.0, mis sisaldas üle 7400 muudatuse. Uue versiooni peamiste saavutuste hulka kuuluvad sisseehitatud Wine'i moodulite tarnimine PE-vormingus, mitme monitori konfiguratsioonide tugi, XAudio2 heli API uus juurutamine ja Vulkan 1.1 graafika API tugi.

Veinis kinnitatud 4869 (aasta tagasi 4737) programmi täielik töö Windowsile, veel 4136 (aasta tagasi 4045) programmi töötavad suurepäraselt koos lisaseadete ja väliste DLL-idega. 3635 programmil on väikesed jõudlusprobleemid, mis ei sega rakenduse põhifunktsioonide kasutamist.

Võti uuendused Vein 5.0:

  • Moodulid PE-vormingus
    • MinGW kompilaatoriga on enamik Wine'i mooduleid nüüd ELF-i asemel PE (Portable Executable, kasutatakse Windowsis) käivitatavas failivormingus. PE kasutamine lahendab probleemid erinevate kopeerimiskaitseskeemide toetamisega, mis kontrollivad kettal ja mälus olevate süsteemimoodulite identiteeti;
    • PE täitmisfailid kopeeritakse nüüd kataloogi ~/.wine ($WINEPREFIX), selle asemel, et kasutada näivaid DLL-faile, muutes asjad sarnasemaks päris Windowsi installidega, kulutades täiendava kettaruumi;
    • PE-vormingusse teisendatud moodulid võivad kasutada standardset wchar Unicode'iga C-funktsioonid ja konstandid (näiteks L"abc");
    • Wine C käituskeskkond on lisanud toe linkimiseks MinGW-s ehitatud binaarfailidega, mida kasutatakse DLL-ide koostamisel vaikimisi MinGW käitusaja asemel;
  • Graafika alamsüsteem
    • Lisatud tugi mitme monitori ja graafikaadapteriga töötamiseks, sealhulgas võimalus seadeid dünaamiliselt muuta;
    • Vulkani graafika API draiverit on värskendatud, et see vastaks spetsifikatsioonile Vulkan 1.1.126;
    • WindowsCodecsi teek annab võimaluse teisendada täiendavaid rastervorminguid, sealhulgas indekseeritud paletiga vorminguid;
  • Direct3D
    • Täisekraanil Direct3D rakenduste käivitamisel blokeeritakse ekraanisäästja kõne;
    • DXGI (DirectX Graphics Infrastructure) on lisanud toe rakenduse teavitamiseks, kui selle aken on minimeeritud, mis võimaldab rakendusel vähendada akna minimeerimisel ressursimahukate toimingute jõudlust;
    • DXGI-d kasutavate rakenduste puhul on nüüd võimalik lülituda täisekraan- ja aknarežiimi vahel, kasutades kombinatsiooni Alt+Enter;
    • Direct3D 12 juurutuse võimalusi on laiendatud, näiteks on nüüd olemas tugi täisekraan- ja aknarežiimide vahetamiseks, ekraanirežiimide muutmiseks, väljundi skaleerimiseks ja renderduspuhvri asendusintervalli (swap interval) haldamiseks;
    • Täiustatud käsitlemine mitmesugustes piirolukordades, nagu näiteks läbipaistvuse ja sügavuse testimiseks kasutatavate vahemikuväliste sisendväärtuste kasutamine, peegeldunud tekstuuride ja puhvritega renderdamine ning valede DirectDraw objektide kasutamine klamber, Direct3 seadmete loomine valede akende jaoks, nähtavate alade kasutamine, mille parameetrite minimaalsed väärtused on võrdsed maksimumiga jne.
    • Direct3D 8 ja 9 pakuvad täpsemat jälgimist "määrdunud» koormatud tekstuuride alad;
    • Vajaliku aadressiruumi suurust S3TC meetodil tihendatud 3D-tekstuuride laadimisel on vähendatud (täieliku laadimise asemel laaditakse tekstuurid tükkidena).
    • Rakendatud liides ID3D11Multithread kriitiliste sektsioonide kaitsmiseks mitme keermega rakendustes;
    • Vanemate DirectDraw rakenduste jaoks on tehtud erinevaid valgustusarvutustega seotud täiustusi ja parandusi;
    • Rakendatud lisakutsed, et hankida teavet API varjutajate kohta ShaderReflection;
    • wined3d toetab nüüd sädelev CPU-põhine tihendatud ressursside töötlemiseks;
    • Laiendatud on Direct3D-s tuvastatud graafikakaartide andmebaas;
    • Lisatud uued registrivõtmed HKEY_CURRENT_USER\Software\Wine\Direct3D: "shader_backend" (tagaprogramm varjutajatega töötamiseks: "glsl" GLSL-i jaoks, "arb" ARB tipu/fragmendi jaoks ja "none" varjundi toe keelamiseks), "strict_shader_math" ( 0x1 - luba, 0x0 - keela Direct3D varjundi teisendamine). Klahv "UseGLSL" on aegunud (peaks kasutama "shader_backend");
  • D3DX
    • Rakendatud on 3D-tekstuuri tihendamise mehhanismi S3TC (S3 Texture Compression) tugi;
    • Lisatud õiged operatsioonide teostused, nagu tekstuuri täitmine ja kaardistamatud pinnad;
    • Loomise raamistikku on tehtud mitmesuguseid täiustusi ja parandusi visuaalsed efektid;
  • Kernel (Windowsi kerneli liidesed)
    • Enamik Kernel32-s kasutatavaid funktsioone on teisaldatud
      KernelBase, pärast muudatusi Windowsi arhitektuuris;

    • Võimalus segada laadimiseks kasutatavates kataloogides 32- ja 64-bitisi DLL-e. Tagab, et teeke, mis ei vasta praegusele bitisügavusele, ignoreeritakse (32/64), juhul kui teekonnast kaugemal on võimalik leida praeguse bitisügavuse jaoks õige teek;
    • Seadme draiverite puhul on kerneli objektide emuleerimist täiustatud;
    • Rakendatud kerneli tasemel töötavad sünkroonimisobjektid, nagu keerlemislukud, kiired mutexid ja ressursile lisatud muutujad;
    • Tagab, et rakendusi teavitatakse õigesti aku olekust;
  • Kasutajaliidese ja töölaua integreerimine
    • Minimeeritud aknad kuvatakse nüüd tiitliriba, mitte Windows 3.1 stiiliikooni abil;
    • Lisatud uued nupustiilid SplitButton (nupp tegevuste ripploendiga) ja Käskude lingid (dialoogiboksides olevad lingid, mida kasutatakse järgmisse etappi liikumiseks);
    • Kaustadele ‘Allalaadimised’ ja ‘Mallid’ on loodud sümboolsed lingid, mis osutavad Unixi süsteemide vastavatele kataloogidele;
  • Sisendseadmed
    • Käivitamisel installitakse ja laaditakse vajalikud Plug & Play seadme draiverid;
    • Täiustatud tugi mängukontrolleritele, sealhulgas mini-joystick (kübarlüliti), rool, gaasi- ja piduripedaalid.
    • Vana Linuxi juhtkangi API tugi, mida kasutati Linuxi tuumades enne versiooni 2.2, on lõpetatud;
  • . NET
    • Mono mootorit on värskendatud versioonile 4.9.4 ja see sisaldab nüüd osi Windows Presentation Foundationi (WPF) raamistikust;
    • Lisati võimalus installida Mono ja Gecko lisandmooduleid ühte ühisesse kataloogi, paigutades failid hierarhiasse /usr/share/wine, selle asemel, et neid uutele eesliidetele kopeerida;
  • Võrgundusfunktsioonid
    • MSHTML-i teegis kasutatav Wine Gecko brauserimootor on uuendatud versioonile 2.47.1. Rakendatud on uute HTML API-de tugi;
    • MSHTML toetab nüüd SVG elemente;
    • Lisatud palju uusi VBScripti funktsioone (näiteks vea- ja erandikäsitlejad, Hour, Day, Month, String, LBound, RegExp.Replace, РScriptTypeInfo_* ja ScriptTypeComp_Bind* funktsioonid jne);
    • Koodi oleku säilitamine VBScriptis ja JScriptis (skripti püsivus);
    • Lisati HTTP-teenuse (WinHTTP) ja sellega seotud API (HTTPAPI) esialgne juurutus kliendi- ja serverirakendustele, mis saadavad ja võtavad vastu HTTP-protokolli kasutades päringuid;
    • Rakendatud võimalus hankida HTTP puhverserveri sätteid DHCP kaudu;
    • Lisatud tugi autentimistaotluste ümbersuunamiseks teenuse Microsoft Passport kaudu;
  • Krüptograafia
    • Rakendatud tugi elliptilise kõvera krüptograafilistele võtmetele (ECC) GnuTLS-i kasutamisel;
    • Lisatud võimalus importida võtmeid ja sertifikaate failidest PFX-vormingus;
    • Lisatud tugi PBKDF2 paroolil põhinevale võtme genereerimise skeemile;
  • Tekst ja fondid
    • DirectWrite API juurutus on lisanud toe OpenType'i funktsioonidele, mis on seotud glüüfi positsioneerimine, mis on vaikimisi lubatud ladina stiili jaoks, sealhulgas kerning;
    • Täiustatud turvalisus fondiandmete töötlemisel, kontrollides erinevate andmetabelite õigsust enne nende kasutamist;
    • DirectWrite'i liidesed on viidud kooskõlla uusima SDK-ga;
  • Heli ja video
    • Välja on pakutud heli API uus rakendus XAudio2, ehitatud projekti alusel FAudio. FAudio kasutamine in Wine võimaldab teil saavutada mängudes kõrgemat helikvaliteeti ja kasutada selliseid funktsioone nagu helitugevuse segamine ja täiustatud heliefektid;
    • Media Foundationi raamistiku juurutamisel on lisatud suur hulk uusi kõnesid, sealhulgas sisseehitatud ja kohandatud asünkroonsete järjekordade tugi, Source Reader API, Media Session jne.
    • Videohõive filter on lülitatud v4l2 API asemel v4l1 API kasutamisele, mis on laiendanud toetatud kaamerate valikut;
    • Eemaldatud on sisseehitatud AVI, MPEG-I ja WAVE dekooderid, mille asemel kasutatakse nüüd süsteemi GStreamer või QuickTime;
    • Lisatud VMR7 konfiguratsiooni API-de alamhulk;
    • Lisatud tugi üksikute kanalite helitugevuse reguleerimiseks helidraiveritele;
  • Rahvusvahelistumine
    • Unicode'i tabelid värskendatud versioonile 12.1.0;
    • Rakendatud tugi Unicode'i normaliseerimiseks;
    • Pakutakse geograafilise piirkonna (HKEY_CURRENT_USER\Control Panel\International\Geo) automaatset installimist praeguse lokaadi alusel;
  • RPC/COM
    • Typelibile on lisatud keeruliste struktuuride ja massiivide tugi;
    • Lisatud Windows Scripti käitusaja teegi esialgne juurutamine;
    • Lisatud ADO (Microsoft ActiveX Data Objects) teegi esialgne juurutus;
  • Paigaldajad
    • MSI installeri jaoks on rakendatud paikade (Patch Files) kohaletoimetamise tugi;
    • WUSA (Windows Update Standalone Installer) utiliidil on nüüd võimalus installida värskendusi .MSU-vormingus;
  • ARM platvorm
    • ARM64 arhitektuuri jaoks on ntdll-ile lisatud virna lahtikerimise tugi. Lisatud tugi väliste libunwindi teekide ühendamiseks;
    • ARM64 arhitektuuri jaoks on objektiliideste jaoks rakendatud sujuvate puhverserverite tugi;
  • Arendustööriistad / Winelib
    • Lisati võimalus kasutada Visual Studio silurit Wine'is töötavate rakenduste kaugsilumiseks;
    • DBGENG (silumismootori) teek on osaliselt juurutatud;
    • Windowsi jaoks kompileeritud binaarfailid ei sõltu enam libwine'ist, võimaldades neil töötada Windowsis ilma täiendavate sõltuvusteta;
    • Resource Compilerile ja IDL-kompilaatorile on lisatud suvand '--sysroot', et määrata päisefailide tee;
    • Lisatud valikud "-target", "-wine-objdir", "-wine-objdir" veinile winegcc
      „—winebuild” ja „-fuse-ld”, mis lihtsustavad ristkoostamise keskkonna seadistamist;

  • Manustatud rakendused
    • Rakendatud CHCP utiliit konsooli kodeeringu konfigureerimiseks;
    • Rakendatud on MSIDB utiliit MSI-vormingus andmebaasidega manipuleerimiseks;
  • Toimivuse optimeerimine
    • Erinevad ajastusfunktsioonid on üle viidud suure jõudlusega süsteemitaimeri funktsioonide kasutamiseks, vähendades paljude mängude renderdusahela üldkulusid;
    • Lisatud võimalus kasutada FS-is Ext4 režiim töötada ilma tõstutundlikkuseta;
    • LBS_NODATA režiimis töötavate loendikuvadialoogide suure hulga elementide töötlemise jõudlus on optimeeritud;
    • Lisatud SRW-lukkude (Slim Reader/Writer) kiirem juurutamine Linuxile, tõlgitud Futexi;
  • Välised sõltuvused
    • PE-vormingus moodulite kokkupanemiseks kasutatakse MinGW-w64 ristkompilaatorit;
    • XAudio2 juurutamiseks on vaja FAudio teeki;
    • Failide muudatuste jälgimiseks BSD-süsteemides
      kasutatakse Inotify teeki;

    • Erandite käsitlemiseks ARM64 platvormil on nõutav Unwind teek;
    • Video4Linux1 asemel on nüüd nõutav Video4Linux2 teek.

Allikas: opennet.ru

Lisa kommentaar