Efter ett Ärs utveckling och 28 experimentella versioner har den stabila releasen av den öppna implementeringen av Win32 API - Wine 8.0 presenterats, som innehÄller mer Àn 8600 Àndringar. En nyckelprestation i den nya versionen Àr slutförandet av översÀttningen av Wine-moduler till formatet.
I Wine bekrÀftas fullt stöd för 5266 (för ett Är sedan 5156, för tvÄ Är sedan 5049) Windows-program, och ytterligare 4370 (för ett Är sedan 4312, för tvÄ Är sedan 4227) program fungerar bra med extra instÀllningar och externa DLL. 3888 program (för ett Är sedan 3813, för tvÄ Är sedan 3703) uppvisar mindre problem, men detta pÄverkar inte de grundlÀggande funktionerna i applikationerna.
Nyckelnysningar i Wine 8.0:
- PE-formatmoduler
- Efter fyra Ärs arbete har översÀttningen av alla DLL-bibliotek till anvÀndning av PE (Portable Executable) formatet (anvÀnds i Windows) slutförts. AnvÀndningen av PE möjliggör anvÀndning av tillgÀngliga debugger för Windows och löser problem med stöd för olika kopieringsskydd som utför identitetsgranskningar av systemmoduler bÄde pÄ disk och i minnet. Problem med att köra 32-bitarsapplikationer pÄ 64-bitarsvÀrdar och x86-applikationer pÄ ARM-system har ocksÄ lösts. à terstÄende uppgifter som planeras att lösas i kommande experimentella versioner av Wine 8.x inkluderar översÀttning av moduler till NT systemanropsgrÀnssnitt istÀllet för att göra direkta anrop mellan PE och Unix-nivÄerna.
- En speciell systemanropshanterare har implementerats och anvÀnds för att översÀtta anrop frÄn PE till Unix-bibliotek med syftet att minska overhead vid utförande av fulla NT-systemanrop. Till exempel möjliggjorde den genomförda optimeringen en minskning av prestandaförlusten nÀr OpenGL- och Vulkan-bibliotek anvÀndes.
- I Winelib-applikationer har möjligheten att anvÀnda blandade Windows/Unix-bibliotek i ELF-format (.dll.so) bevarats, men sÄdana applikationer utan 32-bitarsbibliotek kommer inte att stödja funktionalitet tillgÀnglig genom NT systemanropsgrÀnssnitt, sÄsom WoW64.
- WoW64
- För alla Unix-bibliotek tillhandahÄlls WoW64-lager (64-bitars Windows-on-Windows) som gör att 32-bitars PE-moduler kan fÄ tillgÄng till 64-bitars Unix-bibliotek, vilket efter borttagning av direkta PE/Unix-anrop möjliggör körning av 32-bitars Windows-applikationer utan installation av 32-bitars Unix-bibliotek.
- Om det saknas en 32-bitars Wine-laddare görs det möjligt att köra 32-bitarsapplikationer i ett nytt experimentellt Windows-liknande WoW64-lĂ€ge dĂ€r 32-bitars kod körs inuti en 64-bitarsprocess. LĂ€ge aktiveras nĂ€r Wine byggs med alternativet ââenable-archsâ.
- Grafiksubsystem
- I standardkonfigurationen har en ljus fĂ€rgtematik (âLightâ) tillĂ€mpats. Temat kan Ă€ndras med hjĂ€lp av verktyget WineCfg.

- Grafikdrivrutiner (winex11.drv, winemac.drv, wineandroid.drv) har omarbetats för att utföra systemanrop pÄ Unix-nivÄ och fÄ tillgÄng till drivrutiner via Win32u-biblioteket.

- Arkitekturen för utskriftsbehandlare (Print Processor) har implementerats för att utesluta direkta anrop mellan PE- och Unix-nivÄerna i drivrutinen för skrivaren.
- API:et Direct2D stödjer nu effekter.
- API:et Direct2D har fÄtt möjligheten att spela in och Äterge kommandolistor.
- I drivrutinen för grafik-API:et Vulkan har stöd för Vulkan-specifikationen 1.3.237 lagts till (i Wine 7 fanns stöd för Vulkan 1.2).
- I standardkonfigurationen har en ljus fĂ€rgtematik (âLightâ) tillĂ€mpats. Temat kan Ă€ndras med hjĂ€lp av verktyget WineCfg.
- Direct3D
- En ny shaderkompilator för HLSL (High-Level Shader Language) har lagts till och Àr baserad pÄ vkd3d-shader-biblioteket. OcksÄ baserat pÄ vkd3d-shader har en disassembler för HLSL och en HLSL-förprocessor förbereds.
- Ett Thread Pump-grÀnssnitt har implementerats, vilket introducerades i D3DX 10.
- I effekterna av Direct3D 10 har stöd för mÄnga nya uttryck lagts till.
- I det hjÀlpbibliotek som anvÀnds för D3DX 9 har stöd för projektions-texturer i Cubemap implementerats.
- Ljud och video
- Baserat pÄ GStreamer-ramverket har stöd för filter som dekodar ljud i MPEG-1-format implementerats.
- Ett filter för att lÀsa strömmande ljud och video i ASF-format (Advanced Systems Format) har lagts till.
- Den mellanliggande lagringsbiblioteket OpenAL32.dll har tagits bort, och istÀllet anvÀnds den inhemska Windows-biblioteket OpenAL32.dll som levereras med applikationerna.
- I Media Foundation Player har innehÄllstypen förbÀttrats.
- Möjlighet till datatypkontroll (Rate control) har implementerats.
- Stödet för mixer och presenter som erbjuds som standard i Enhanced Video Renderer (EVR) har förbÀttrats.
- En grundlÀggande implementering av API:et Writer Encoding har lagts till.
- FörbÀttrat stöd för topologiladdare.
- Inmatningsenheter
- Betydligt förbÀttrat stöd för hot-swap av kontroller.
- Föreslagen en förbÀttrad implementation av kod för spelkontroller, baserad pÄ SDL-biblioteket.
- FörbÀttrat stöd för force feedback-effekter vid anvÀndning av spelkontroller.
- AnvÀndning av vÀnster och höger vibrationsmotorer som följer HID Haptic-specifikationen har implementerats.
- Ăndrad layout. administrationspanelen med joystick.
- Genom anvÀndning av hidraw-backend har stöd för Sony DualShock och DualSense-kontroller sÀkerstÀllts.
- Föreslagen Àr WinRT-modulen Windows.Gaming.Input med en implementation av grÀnssnittet för Ätkomst till spelkontroller, joystickar och spelkontroller. Det nya API:et stöder bland annat notifiering av hot-swap enheter, taktila och vibrations effekter.
- Internationalisering
- Generering av en korrekt lokal databas i formatet locale.nls frÄn Unicode CLDR (Unicode Common Locale Data Repository) har sÀkerstÀllts.
- Unicode-strÀngjÀmförelsefunktioner har översatts till att anvÀnda Windows Sortkey-databasen och algoritmen istÀllet för Unicode Collation-algoritmen, vilket nÀrmar sig beteendet i Windows.
- Stöd för övre kodomrÄden (planer) i Unicode har lagts till i de flesta funktioner.
- Möjlighet att anvÀnda UTF-8 som ANSI-kodning har tillhandahÄllits.
- Teckentabeller har uppdaterats till Unicode-specifikationen 15.0.0.
- Text och typsnitt
- För de flesta systemteckensnitt har teckensnittslÀnkning inkluderats, vilket har löst problemet med avsaknaden av gliffer pÄ system med kinesiska, koreanska och japanska lokaliseringar.
- Fallback till reservteckensnitt har omarbetats i DirectWrite.
- KÀrnan (Windows kernelgrÀnssnitt)
- En ApiSetSchema-databas har implementerats, som ersatte modulerna api-ms-* och minskade disk- och adressutrymmet.
- SÀkerstÀllande av sparande av DOS-filattribut i ett Samba-kompatibelt format, med anvÀndning av utökade FS-attribut.
- NĂ€tverksfunktioner
- Stöd för OCSP (Online Certificate Status Protocol) har lagts till, vilket anvÀnds för att kontrollera Äterkallade certifikat.
- Möjligheterna för EcmaScript, tillgÀngliga i standardkonformt lÀge för JavaScript, har utvidgats.
- En skrÀpsamlare för JavaScript har implementerats.
- I paketet med Gecko-motorn ingÄr hjÀlpmedel för personer med funktionsnedsÀttningar.
- Stöd för API Web Storage, objektet Performance och ytterligare objekt för hantering av hÀndelser har lagts till i MSHTML.
- Inbyggda applikationer
- Alla inbyggda applikationer har översatts för att anvÀnda Common Controls 6-biblioteket, med stöd för teman och renderingsanpassning för skÀrmar med hög pixeldensitet.
- Debuggerfunktionerna i Wine Debugger (winedbg) har förbÀttrats.
- I verktygen för att arbeta med registret (REGEDIT och REG) har stöd för QWORD-typ lagts till.
- Notepad har nu en statusrad med information om markörens position och funktionen Goto Line för att hoppa till en angiven radnummer.
- I den inbyggda konsolen stöds utmatning av data i OEM-teckenuppsÀttning.
- Till sc.exe-verktyget (Service Control) har kommandot 'query' lagts till.
- Byggsystem
- Möjlighet att bygga körbara filer i PE-format för flera arkitekturer har införts (till exempel 'âenable-archs=i386,x86_64').
- PÄ alla plattformar med 32-bitars long har datatyper som Àr definierade som long i Windows nu omdefinierats som 'long' istÀllet för 'int' i Wine. Detta beteende kan inaktiveras i Winelib genom att definiera WINE_NO_LONG_TYPES.
- Möjlighet att generera bibliotek utan att anvĂ€nda dlltool har lagts till (aktiveras genom att ange alternativet 'âwithout-dlltool' i winebuild).
- För att öka effektiviteten vid inlĂ€sning och minska storleken pĂ„ bibliotek som inte innehĂ„ller kod och endast inkluderar resurser, har winegcc implementerat alternativet 'âdata-only'.
- Olika
- Versionerna av inbyggda bibliotek har uppdaterats till Faudio 22.11, LCMS2 2.14, LibJPEG 9e, LibMPG123 1.31.1, LibPng 1.6.39, LibTiff 4.4.0, LibXml2 2.10.3, LibXslt 1.1.37, Zlib 1.2.13.
- Wine Mono-motorn med implementation av .NET-plattformen har uppdaterats till version 7.4.
- Stöd för RSA-baserad kryptering och digitala signaturer med RSA-PSS har implementerats.
- En första version av API:et för UI Automation har lagts till.
- LDAP- och vkd3d-bibliotek har inkluderats i kÀllkoden, som nu byggs i PE-format, vilket eliminerar behovet av Unix-versioner av dessa bibliotek.
- AnvÀndningen av OpenAL-biblioteket har upphört.
KĂ€lla: opennet.ru


