Efter ett Ă„rs utveckling och 28 experimentella versioner den stabila utgĂ„van av den öppna Win32 API-implementationen â , som inkluderar mer Ă€n 7400 Ă€ndringar. Bland de viktigaste prestationerna i den nya versionen finns leverans av inbyggda Wine-moduler i PE-formatet, stöd för flera bildskĂ€rmar, en ny implementation av ljud-API:t XAudio2 och stöd för grafik-API:t Vulkan 1.1.
I Wine fullgod funktionalitet för 4869 (för ett Är sedan 4737) program för Windows, ytterligare 4136 (för ett Är sedan 4045) program fungerar utmÀrkt med hjÀlp av extra instÀllningar och externa DLL-filer. För 3635 program observeras smÄ problem som inte pÄverkar anvÀndningen av de grundlÀggande funktionerna.
Nyckel Wine 5.0:
- PE-formatmoduler
- Med MinGW-kompilatorn kan nu de flesta Wine-moduler byggas i PE (Portable Executable) format istÀllet för ELF. AnvÀndning av PE löser problem med stöd för olika kopieringsskydd som verifierar identiteten pÄ systemmoduler pÄ disk och i minnet;
- PE-exekverbara filer kopieras nu till katalogen ~/.wine ($WINEPREFIX) istÀllet för att anvÀnda lÄtsas-DLL-filer, vilket gör installationsstrukturen mer lik verkliga Windows-installationer, pÄ bekostnad av extra diskutrymme;
- Moduler som omvandlats till PE-format kan anvÀnda standard C-funktioner och konstanter med Unicode (t.ex. L"abc");
- I Wine C-runtime har stöd för lÀnkning mot binÀra filer byggda med MinGW lagts till, vilket anvÀnds som standard istÀllet för MinGW-runtime vid byggandet av DLL;
- Grafiksubsystem
- Stöd för arbete med flera bildskÀrmar och grafikkort har lagts till, inklusive möjlighet att dynamiskt Àndra instÀllningar;
- Drivrutinen för grafik-API:t Vulkan har uppdaterats för att följa specifikationen Vulkan 1.1.126;
- I biblioteket WindowsCodecs har möjligheten att konvertera ytterligare rasterformat implementerats, inklusive format med indexerad palett;
- Direct3D
- Vid körning av helskÀrmsapplikationer i Direct3D blockeras anrop av skÀrmslÀckare;
- I DXGI (DirectX Graphics Infrastructure) har stöd för att informera applikationen om minimering av dess fönster lagts till, vilket möjliggör för applikationen att minska anvÀndningen av resurser vid minimering av fönstret.
- För applikationer som anvÀnder DXGI har möjligheten att vÀxla mellan helskÀrms- och fönsterlÀge implementerats med hjÀlp av kombinationen Alt+Enter;
- Möjligheterna att implementera Direct3D 12 har utvidgats, till exempel har stöd för vÀxling mellan helskÀrms- och fönsterlÀge, Àndra skÀrmlÀgen, utdata med skalning och hantering av swap interval för rendering buffers introducerats;
- FörbÀttrad behandling av olika grÀnssituationer, sÄsom tillÀmpning av ur vÀrden som överskrider giltiga intervall för transparens- och djuptester, rendering med reflekterande texturer och buffertar, anvÀndning av ogiltiga DirectDraw-objekt , skapande av Direct3-enheter för ogiltiga fönster, anvÀndning av synliga omrÄden, dÀr de minimi vÀrden som anges Àr lika med de maximala, etc.
- I Direct3D 8 och 9 sÀkerstÀlls en mer exakt spÄrning av "" omrÄden av laddade texturer;
- MÀngden nödvÀndigt adressutrymme vid laddning av 3D-texturer, komprimerade med metoden S3TC (istÀllet för att laddas helt, laddas texturer i bitar).
- GrÀnssnittet har implementerats för att skydda kritiska sektioner i multitrÄdade applikationer;
- För Àldre DirectDraw-applikationer har olika förbÀttringar och korrigeringar gjorts relaterade till ljussÀttning;
- Ytterligare anrop har implementerats för att fÄ information om shaders i API:et ;
- Stöd för har lagts till för bearbetning av komprimerade resurser;
- Databasen över grafikkort som identifieras i Direct3D har utvidgats;
- Nya registernycklar HKEY_CURRENT_USER\Software\Wine\Direct3D har lagts till: "shader_backend" (backend för shaderhantering: "glsl" för GLSL, "arb" för ARB vertex/fragment och "none" för att inaktivera shaderstöd), "strict_shader_math" (0x1 â aktivera, 0x0 â inaktivera direkt3D shaderkonvertering). Den tidigare nyckeln "UseGLSL" har avskrivits (anvĂ€nd "shader_backend");
- D3DX
- Stöd för mekanismen för komprimering av 3D-texturer S3TC (S3 Texture Compression) har implementerats;
- Korrekt implementering av operationer som texturfyllning och icke-reflekterande (unmappable) ytor har lagts till;
- Olika förbÀttringar och korrigeringar har gjorts i ramverket för skapande av ;
- KÀrnan (Windows kernelgrÀnssnitt)
- De flesta funktionerna som anvÀnds i Kernel32 har flyttats till
KernelBase, i enlighet med förÀndringarna i Windows-arkitekturen; - Möjlighet att blanda 32- och 64-bitars DLL-filer i kataloger som anvÀnds för laddning. Ignorerar bibliotek som inte överensstÀmmer med den aktuella bitarkitekturen (32/64), ifall en korrekt databas för den nuvarande bitarkitekturen kan hittas lÀngre ner i sökvÀgen;
- För enhetsdrivrutiner har emuleringen av kÀrnobjekt förbÀttrats;
- Ămnen för synkronisering pĂ„ kĂ€rnnivĂ„ har implementerats, sĂ„som spin-lĂ„s, snabba mutexer och resurstilldelade variabler;
- Korrekt informera applikationer om batteristatus;
- De flesta funktionerna som anvÀnds i Kernel32 har flyttats till
- AnvÀndargrÀnssnitt och integration med skrivbordet
- Minimerade fönster visas nu med en titel, inte en ikon i stil med Windows 3.1;
- Nya knappstilar har lagts till (en knapp med en rullgardinsmeny för ÄtgÀrder) och (lÀnkar i dialogrutor som anvÀnds för att gÄ till nÀsta steg);
- Symboliska lÀnkar har skapats för mapparna 'Downloads' och 'Templates' som pekar pÄ motsvarande kataloger i Unix-system;
- Inmatningsenheter
- InstÀllning och laddning av nödvÀndiga Plug & Play-enhetsdrivrutiner sÀkerstÀlls vid start;
- FörbÀttrad stöd för spelkontroller, inklusive mini-joystick (hat-switch), rat, gas- och bromspedaler.
- Stödet för det gamla Linux API för interaktion med joysticks, som anvÀndes i Linux-kÀrnor före version 2.2, har upphört;
- .NET
- Mono-motorn har uppdaterats till version 4.9.4 och inkluderar nu delar av Windows Presentation Foundation (WPF) ramverket;
- Möjligen att installera tillÀgg med Mono och Gecko i en gemensam katalog med filerna lagrade i hierarkin /usr/share/wine istÀllet för att kopiera över nya prefix;
- NĂ€tverksfunktioner
- WebblÀsarmotorn Wine Gecko, som anvÀnds i MSHTML-biblioteket, har uppdaterats till version 2.47.1. Stöd för nya HTML API har implementerats;
- I MSHTML har stöd för SVG-element implementerats;
- MÄnga nya VBScript-funktioner har lagts till (till exempel fel- och undantagshanterare, funktioner Hour, Day, Month, String, LBound, RegExp.Replace, RScriptTypeInfo_* och ScriptTypeComp_Bind* osv.);
- SÀkerstÀllande av kodenstabilitet i VBScript och JScript (script persistence);
- En preliminÀr implementering av HTTP-tjÀnst (WinHTTP) och relaterad API (HTTPAPI) för klient- och serverapplikationer som skickar och tar emot förfrÄgningar via HTTP-protokollet har lagts till;
- Möjlighet att fÄ HTTP-proxyinstÀllningar via DHCP har implementerats;
- Stöd för omdirigering av autentiseringsförfrÄgningar via Microsoft Passport-tjÀnsten har lagts till;
- Kryptografi
- Stöd för elliptiska kurvor (ECC) baserade kryptografiska nycklar har implementerats vid anvÀndning av GnuTLS;
- Möjlighet att importera nycklar och certifikat frÄn filer i PFX-format har lagts till;
- Stöd för nyckelgenereringsschema baserat pÄ lösenord PBKDF2 har lagts till;
- Text och typsnitt
- DirektWrite API-implementationen har fÄtt stöd för OpenType-funktioner relaterade till , vilket Àr aktiverat som standard för Latin-skripting, inklusive kerning;
- SÀkerheten för bearbetning av typsnittdata har förbÀttrats genom validering av olika datatabeller innan deras anvÀndning;
- DirectWrite-grÀnssnitten har anpassats till den senaste SDK:n;
- Ljud och video
- En ny implementation av ljud-API:n , baserad pÄ projektet . AnvÀndning av FAudio i Wine möjliggör högre ljudkvalitet i spel och aktiverar funktioner som volymblandning och avancerade ljudeffekter;
- Ett stort antal nya anrop har lagts till implementationen av Media Foundation-ramverket, inklusive stöd för inbyggda och anvÀndardefinierade asynkrona köer, Source Reader API, Media Session, etc.
- Videoinspelningsfilter har övergÄtt till att anvÀnda API v4l2 istÀllet för v4l1 API, vilket har gjort det möjligt att utöka antalet stödda kameror;
- Inbyggda dekodrar för AVI, MPEG-I och WAVE har tagits bort och istÀllet anvÀnds system GStreamer eller QuickTime;
- Ett delmÀngd av konfigurations-API:erna VMR7 har lagts till;
- I ljuddrivrutiner har stöd för justering av volym pÄ enskilda kanaler lagts till;
- Internationalisering
- Unicode-tabellerna har uppdaterats till version 12.1.0;
- Stöd för Unicode-normering har implementerats;
- Automatisk installation av geolÀge (HKEY_CURRENT_USER\Control Panel\International\Geo) baserat pÄ aktuell lokal har sÀkerstÀllts;
- RPC/COM
- Typelisten har fÄtt stöd för komplexa strukturer och arrayer;
- En initial implementation av runtime-biblioteket Windows Script har lagts till;
- En initial implementation av ADO-biblioteket (Microsoft ActiveX Data Objects) har lagts till;
- Installatörer
- För MSI-installatören har stöd för distribution av patchar (Patch Files) implementerats;
- I verktyget WUSA (Windows Update Standalone Installer) har möjligheten att installera uppdateringar i .MSU-format lagts till;
- ARM-plattformen
- För ARM64-arkitekturen har stöd för stackavrullning lagts till i ntdll. Stöd för anslutning av externa biblioteken libunwind har lagts till;
- För ARM64-arkitekturen har stöd för stubless proxies för objektgrÀnssnitt implementerats;
- Utvecklingsverktyg / Winelib
- Möjlighet att anvÀnda debugger frÄn Visual Studio för fjÀrravlusning av applikationer som körs i Wine har lagts till;
- DBGENG-biblioteket (Debug Engine) har delvis implementerats;
- Körbara filer byggda för Windows Àr nu oberoende av libwine, vilket gör att de kan köras i Windows utan ytterligare beroenden;
- I Resource Compiler och IDL Compiler har alternativet ââsysrootâ lagts till för att ange sökvĂ€gen till headerfiler;
- I winegcc har alternativen ââtargetâ, ââwine-objdirâ,
ââwinebuildâ och â-fuse-ldâ lagts till, vilket förenklar miljöinstĂ€llningen för korskompilering;
- Inbyggda applikationer
- Verktyget CHCP för att stÀlla in konsolens teckenkodning har implementerats;
- Verktyget MSIDB för att manipulera databaser i MSI-format har implementerats;
- Prestandaoptimering
- Olika tidsrelaterade funktioner har övergÄtt till att anvÀnda högpresterande systemfunktioner för timer, vilket har minskat overhead i ritcykler för mÄnga spel;
- Möjlighet att anvÀnda i FS Ext4 av att arbeta utan att ta hÀnsyn till teckens storlek;
- Prestandaoptimering vid hantering av ett stort antal element i listutmatningsdialoger som fungerar i LBS_NODATA-lÀge har genomförts;
- En snabbare implementation av SRW-lÄs (Slim Reader/Writer) för Linux har lagts till, som har översatts till Futex;
- Extern beroenden
- För att bygga moduler i PE-format anvÀnds korskompilatorn MinGW-w64;
- Implementeringen av XAudio2 krÀver biblioteket FAudio;
- För att spÄra filÀndringar pÄ BSD-system
anvÀnds biblioteket Inotify; - För att hantera undantag pÄ ARM64-plattformen krÀvs biblioteket Unwind;
- I stÀllet för Video4Linux1 krÀvs nu biblioteket Video4Linux2.
KĂ€lla: opennet.ru
