PĂ€rast aastat arendust ja 28 katse versiooni stabiilne vabastamine avatud Win32 API teostusest â , mis hĂ”lmab rohkem kui 7400 muudatust. Uue versiooni peamiste saavutuste hulgas on sisseehitatud Wine moodulite tarnimine PE formaadis, mitme monitori konfiguratsiooni tugi, uue heliliidese XAudio2 rakendamine ja graafilise API Vulkan 1.1 tugi.
Wine'is tÀielik töö 4869 (aasta tagasi 4737) Windowsi programmi jaoks, veel 4136 (aasta tagasi 4045) programmi töötab kenasti tÀiendavate seadistuste ja vÀlist DLL-i abil. 3635 programmi puhul on tÀheldatud vÀikseid tööprobleeme, mis ei takista rakenduste pÔhiomadusi.
Peamised Wine 5.0:
- Moodulid PE-formaadis
- MinGW kompilaatori juures on enamik Wine moodulitest nĂŒĂŒd koostatud PE (Portable Executable) formaadis, mis rakendub Windowsis, mitte ELF. PE rakendamine lahendab erinevate kopeerimise kaitse skeemide toetamise probleemid, mis kontrollivad sĂŒsteemimoodulite identiteeti kettal ja mĂ€lus;
- PE formaadis kĂ€ivitatavad failid kopeeritakse nĂŒĂŒd katalooge ~/.wine ($WINEPREFIX) selle asemel, et kasutada petlikke DLL-faile, mis muudab sisemise sisu tĂ”elisemaks Windowsi paigaldustele, kuid suurendab ketta ruumi tarbimist;
- PE formaati muudetud moodulid saavad kasutada sisseehitatud C-funktsioone ja unicode konstande (nt L»abc»);
- Wine C jooksuaeg on lisatud tugi binaarfailide sidumiseks, mis on koostatud MinGW-s, mis kasutab DLL-i koostamisel vaikimisi MinGW jooksuaega;
- GraafikasĂŒsteem
- Lisatud mitme monitori ja graafikakaardi toetamine, sealhulgas vĂ”imalus dĂŒnaamiliselt muuta seadeid;
- Uuendatud graafilise API Vulkan draiverit, mis on viidud vastavusse Vulkan 1.1.126 spetsifikatsiooniga;
- WindowsCodecsi teegis on rakendatud vÔimalus teisendada tÀiendavaid rasterformaatide, sealhulgas indekseeritud paleti formaate;
- Direct3D
- TÀisekraanirakenduste puhul Direct3D on tagatud ekraanisÀÀstja kutse blokeerimine;
- DXGI (DirectX Graphics Infrastructure) on lisatud tugi rakendusele, et teavitada liidese minimeerimisest, mis vÔimaldab rakendusel vÀhendada ressursside tarbimist, kui aken on minimiseeritud;
- DXGI-d kasutavate rakenduste jaoks on vĂ”imalus vahetada tĂ€isekraanireĆŸiimi ja aknareĆŸiimi Alt+Enter kombinatsiooniga;
- Direct3D 12 rakendamise vĂ”imalused on laienenud, nĂ€iteks on lisandunud tugi tĂ€isekraanireĆŸiimi ja aknareĆŸiimi vahetamiseks, ekraanireĆŸiimide muutmiseks, skaleeritud vĂ€ljundiks ja renderdamise vahetusintervalli juhtimiseks;
- Parandatud on erinevate ÀÀrmuslike olukordade kĂ€sitlemist, nagu lubamatutesse vahemikesse ulatuvate algvÀÀrtuste kasutamine lĂ€bipaistvuse ja sĂŒgavuse testimisel, peegeldavate tekstuuride ja vahemike renderdamine ning vigaste DirectDraw objektide kasutamine , vigaste akende jaoks Direct3 seadistamine, nĂ€htavate alade kasutamine, mille parameetrite miinimumvÀÀrtused on vĂ”rdsed maksimumidega jne.
- Direct3D 8 ja 9 puhul on tagatud tÀpsem "" tekstuuride laadimise alade jÀlgimine;
- VĂ€hendatud on vajalikku aadressiruumi 3D-tekstuuride laadimisel, mis on S3TC meetodiga kokkusurutud (tekstuurid laaditakse osade kaupa, mitte tervikuna).
- Tehtud on liides kriitiliste sektsioonide kaitsmiseks mitme taustaprotsessi rakendustes;
- Vana DirectDrawi rakenduste jaoks on lisatud erinevaid tĂ€iustusi ja parandusi valgustuse arvutamisega seotud kĂŒsimustes;
- API-s on rakendatud tÀiendavad kutsed teabe saamiseks ƥejderite kohta ;
- Wined3d-s on lisatud toimetamise CPU-pĂ”hise blitteri tugi kokkusurutud ressursside töötlemiseks; Uued registrivĂ”tmed HKEY_CURRENT_USER\Software\Wine\Direct3D: "shader_backend" (ĆĄejderite tööbackend: "glsl" GLSL jaoks, "arb" ARB vertex/fragment jaoks ja "none" ĆĄejderite toe keelamiseks), "strict_shader_math" (0x1 â aktiveeri, 0x0 â deaktiveeri Direct3D ĆĄejderite teisendamine). VĂ”ti "UseGLSL" on deklareeritud aegunuks (soovitame kasutada "shader_backend");
- S3TC (S3 Texture Compression) 3D-tekstuuride kokkusurumismehhanismi toimetamine on rakendatud;
- On lisatud Ôigeid teostusi selliste operatsioonide jaoks nagu tekstuuriga tÀitmine ja mittepeegeltuvad (unmappable) pinnad;
- D3DX
- On tehtud erinevaid tÀiustusi ja parandusi visuaalsete efektide loomise raamistiku puhul;
- Enamik Kernel32-s kasutatavaid funktsioone on paigutatud KernelBaseâi, jĂ€rgides Windowsi arhitektuuri muudatusi;
- Vara Windowsi rakenduse tÔhususe parandamiseks on viidud rakendusse; kÔik vÔtmed kopeeritakse tÀpselt. ;
- Kernel (Windowsi kerneli liidesed)
- Enamik Kernel32-s asutatud funktsioone on kantud KernelBase'i ja muudatud Windowsi arhitektuuri vastavaks;
VÀga tÔhusalt on jÀrgitavad muutused ex ja aken. - VÔime segada 32- ja 64-bitiseid DLL-e kataloogides, mida kasutatakse laadimiseks. Tagatud on raamatute eiramine, mis ei vasta praegusele bitisusele (32/64), juhul kui teel leitakse sobiv raamatukogu praegusele bitisusele;
- Seadmeliideste draiverite jaoks on parendatud tuumobjektide emulatsiooni;
- Rakendatud on tuumataseme sĂŒnkroniseerimisobjektid, nagu spin-lock'id, kiired muteksid ja ressurssidega seotud muutujad;
- Tagatud on rakenduste korrektne teavitamine aku olekust;
- Enamik Kernel32-s asutatud funktsioone on kantud KernelBase'i ja muudatud Windowsi arhitektuuri vastavaks;
- Kasutajaliides ja integreerimine töölauaga
- Minimeeritud aknad edaspidi kuvatakse kasutades pealkirja, mitte Windows 3.1 stiilis ikooni;
- Uued nupustiilid on lisatud (toimingute rippmenĂŒĂŒga nupp) ja (dialooge linkide kaudu, mida kasutatakse jĂ€rgmisele etapile liikumiseks);
- Kaustadele 'Downloads' ja 'Templates' on loodud sĂŒmboolilised lingid, mis viivad vastavatesse kataloogidesse Unix-sĂŒsteemides;
- Input devices
- KĂ€ivitusel tagatakse Plug & Play seadme draiverite installimine ja laadimine;
- MĂ€ngukontrollerite tugi on parendatud, sealhulgas mini-joystick (hat switch), rool ja gaasi ning piduripedaalid.
- Toetamine vanema Linuxi API interaktsiooniga joystickide osas, mida kasutati Linuxi kernelites versioonini 2.2, on lÔpetatud;
- .NET
- Mono mootor on uuendatud versioonini 4.9.4 ja nĂŒĂŒd sisaldab Windows Presentation Foundation (WPF) raamistiku osi;
- Lisatud on vĂ”imalus installida lisandeid koos Mono ja Gecko ĂŒhte ĂŒhisesse katalooge, paigutades failid hierarhias /usr/share/wine, mitte kopeerides neid uusi prefikse;
- VÔrguteenused
- Veebi brauseri mootor Wine Gecko, mida kasutatakse MSHTML teegis, on uuendatud versioonini 2.47.1. Uute HTML API-de tugi on rakendatud;
- MSHTML-is on rakendatud SVG elementide tugi;
- Lisatud on vÀga palju uusi VBScripti funktsioone (nt veakÀsitlejad ja erandid, funktsioonid Hour, Day, Month, String, LBound, RegExp.Replace, RScriptTypeInfo_* ja ScriptTypeComp_Bind* jne);
- Tagatud on koodi oleku salvestamine VBScriptis ja JScriptis (script persistence);
- Lisatud on HTTP teenuse (WinHTTP) algne rakendamine ja sellega seotud API (HTTPAPI) kliendi- ja serveri rakendustele, mis saadavad ja aktsepteerivad pÀringuid HTTP protokolli kaudu;
- Rakendatud on vÔimalus saada HTTP-proksi seadistamise parameetreid lÀbi DHCP;
- Lisatud tugi autentimisvormingute ĂŒmbersuunamiseks Microsoft Passport teenuse kaudu;
- KrĂŒptograafia
- Elliptsete kĂ”veratel (ECC) pĂ”hinevate krĂŒptograafiliste vĂ”tmete tugi on toetatud GnuTLS kasutamisel;
- Lisatud on vÔimalus importida vÔtmeid ja sertifikaate PFX formaadis failidest;
- Toetatud on PBKDF2-pÔhine vÔtme genereerimise skeem;
- Tekst ja fondid
- DirectWrite API rakenduses on lisatud OpenType'i vĂ”imeid, mis on seotud , mis on vaikimisi aktiveeritud ladina kirjatĂŒĂŒbi jaoks, sealhulgas kerning;
- Fontide andmete töötlemise turvalisust on suurendatud, kontrollides erinevate andmete tabelite Ôigust, enne nende kasutamist;
- DirectWrite liidesed on uuendatud vastavalt viimasele SDK-le;
- Heli ja video
- Pakutud on uus helirakenduse rakendus , mis pÔhineb projektile . FAudit'i kasutamine Winos vÔimaldab saavutada kÔrgemat helikvaliteeti mÀngudes ja kasutada selliseid vÔimalusi nagu helivaljuste segamine ja tÀiustatud heliefektid;
- Media Foundation raamistiku rakendusse on lisatud suur hulk uusi vĂ€ljakutseid, sealhulgas sisseehitatud ja kasutaja mÀÀratud asĂŒnkroonsed jĂ€rjekorrad, Source Reader API, Media Session jne.
- Video salvestamise filter on viidud ĂŒle v4l2 API kasutamisele v4l1 API asemel, mis vĂ”imaldas toetada laiemat kaamerate valikut;
- Sisseehitatud AVI, MPEG-I ja WAVE dekoodereid on eemaldatud ning nende asemel kasutatakse nĂŒĂŒd sĂŒsteemseid GStreamer vĂ”i QuickTime dekoodereid;
- VMR7 konfigureerimise API alamhulk on lisatud;
- Helidraiveritesse on lisatud toe seadistamine individuaalsete kanalite valjustele;
- Internatsionaliseerimine
- Unicode tabelid on uuendatud versioonini 12.1.0;
- Unicode normaliseerimise tugi on rakendatud;
- Kohalikku geograafilist piirkonda (HKEY_CURRENT_USER\Control Panel\International\Geo) seadistatakse automaatselt senise lokaali pÔhjal;
- RPC\/COM
- Typelib'i on lisatud keeruliste struktuuride ja massiivide tugi;
- Windows Script'i runtime-kogu algne rakendus on lisatud;
- Algne ADO (Microsoft ActiveX andmete objektide) raamatukogu rakendus on lisatud;
- Installeerijad
- MSI installija jaoks on rakendatud patĆĄifailide (Patch Files) paigaldamise tugi;
- Windows Update Standalone Installer'i (WUSA) utiliidis on vÔimalik .MSU formaadis vÀrskenduste paigaldamine;
- ARM platvorm
- ARM64 arhitektuuri jaoks on ntdll-sse lisatud virna vÀljakutsumise (stack unwinding) tugi. Lisatud on tugi iseseisvatele teekidele libunwind;
- ARM64 arhitektuuri jaoks on toetatud sujuvaid proxisi (stubless proxies) objektide liideste jaoks;
- Arendustööriistad \/ Winelib
- Lisatud on vÔimalus kasutada Visual Studio debugeerijat rakenduste kaugdebugimiseks, mis kÀivad Wine'is;
- Osaliselt on rakendatud DBGENG (Debug Engine) teek;
- Windowsi jaoks kogutud kÀivitatavad failid ei sÔltu enam libwine'ist, mis vÔimaldab neid Windowsis kÀivitada ilma tÀiendavate sÔltuvusteta;
- Resource Compileris ja IDL Compileris on lisatud vĂ”imalus ââsysrootâ, et mÀÀrata pealkirjafailide asukoha tee;
- winegcc'sse on lisatud valikud ââtargetâ, ââwine-objdirâ,
ââwinebuildâ ja â-fuse-ldâ, mis lihtsustavad keskkonna konfigureerimist ristkompileerimiseks;
- Sisseehitatud rakendused
- CHCP utiliit on rakendatud konsooli kodeeringu sÀttimiseks;
- MSIDB utiliit on rakendatud MSI formaadis andmebaaside haldamiseks;
- JÔudluse optimeerimine
- Ajavahetusega seotud erinevad funktsioonid on muudetud kasutama kĂ”rgjĂ”udlusega sĂŒsteemifunktsioone ajastus, mis on vĂ€hendanud koormust paljude mĂ€ngude joonistamise tsĂŒklis;
- Lisatud on tugi Ext4 failisĂŒsteemile suurtĂ€hemĂ€rkide eiramiseks;
- Optimeeritud on suurte elementide töötlemise jĂ”udlust loendi vĂ€ljunddialoogides, mis töötavad reĆŸiimis LBS_NODATA;
- Lisatud on kiirem implementatsioon SRW-lukustusest (Slim Reader/Writer) Linuxile, mis on muudetud Futex'iks;
- VÀlistest sÔltuvustest
- PE-formaadis moodulite kogumiseks on kasutatud ristkompilaatorit MinGW-w64;
- XAudio2 rakendamine nÔuab FAudio teeki;
- Failimuudatuste jĂ€lgimiseks BSD sĂŒsteemides
on kasutusele vÔetud Inotify teek; - Erandite töötlemiseks ARM64 platvormil on vajalik Unwind teek;
- Video4Linux1 asemel on nĂŒĂŒd vajalik Video4Linux2 teek.
Allikas: opennet.ru
