Stabil release av Wine 9.0

Efter ett Ă„rs utveckling och 26 experimentella versioner har den stabila versionen av den öppna implementeringen av Win32 API – Wine 9.0, offentliggjorts, vilket innehĂ„ller mer Ă€n 7000 Ă€ndringar. Bland de viktigaste prestationerna i den nya versionen Ă€r implementeringen av WoW64-arkitekturen för att köra 32-bitarsprogram i en 64-bitarsmiljö, integrationen av en drivrutin för support av Wayland, stöd för ARM64-arkitekturen, implementeringen av API DirectMusic och stöd för smartkort.

I Wine bekrÀftas fullstÀndig funktionalitet för 5336 program (för ett Är sedan 5266, för tvÄ Är sedan 5156, för tre Är sedan 5049) för Windows, ytterligare 4397 program (för ett Är sedan 4370, för tvÄ Är sedan 4312, för tre Är sedan 4227) fungerar utmÀrkt med ytterligare instÀllningar och externa DLL-filer. 3943 program (för ett Är sedan 3888, för tvÄ Är sedan 3813, för tre Är sedan 3703) uppvisar smÄ problem i anvÀndningen, vilket inte hindrar anvÀndningen av programmets grundlÀggande funktioner.

Nyckelinnovationer i Wine 9.0:

  • En drivrutin winewayland.drv har lagts till, vilket gör det möjligt att anvĂ€nda Wine i miljöer baserade pĂ„ Wayland-protokollet utan att anvĂ€nda XWayland och komponenter frĂ„n X11. Utvecklingen syftar till att sĂ€kerstĂ€lla att Windows-program kan köras i en ren Wayland-miljö utan installation av X11-relaterade paket, vilket möjliggör högre prestanda och responsivitet i spel genom att eliminera onödiga lager. AnvĂ€ndningen av en ren Wayland-miljö för Wine eliminerar ocksĂ„ sĂ€kerhetsproblem som Ă€r förknippade med X11 (till exempel kan opĂ„litliga spel för X11 spionera pĂ„ andra applikationer eftersom X11-protokollet ger Ă„tkomst till alla inmatningsevent och kan ersĂ€tta falska tangenttryckningar).

    Drivrutinen anges som experimentell och under utveckling, men har redan stöd för mÄnga funktioner, sÄsom fönsterhantering, arbete med flera skÀrmar, stöd för skalning av utdata pÄ högupplösta skÀrmar (high-DPI), hantering av relativa koordinater vid spÄrning av musrörelser och stöd för grafiskt API Vulkan. Som standard Àr drivrutinen inaktiverad, och för att aktivera den mÄste "wayland" lÀggas till i registret under "HKCU\Software\Wine\Drivers" och se till att miljövariabeln DISPLAY inte Àr instÀlld: wine reg.exe add HKCU\\Software\\Wine\\Drivers /v Graphics /d x11,wayland

  • ÖversĂ€ttning av alla moduler till NT-systemanropets grĂ€nssnitt har genomförts, istĂ€llet för att göra direkta anrop mellan PE- och Unix-nivĂ„erna, vilket markerade avslutningen av flera Ă„rs arbete med att översĂ€tta alla DLL-bibliotek till anvĂ€ndning av PE (Portable Executable) filformatet.
  • Utvecklingen av WoW64-lagret (64-bitars Windows-on-Windows) har fortsatt, vilket möjliggör körning av 32-bitars Windows-applikationer pĂ„ 64-bitars Unix-system. I alla moduler som anropar Unix-bibliotek anvĂ€nds WoW64-systemanropsomvandlare (thunks), vilket tillĂ„ter 32-bitars PE-moduler att anropa 64-bitars Unix-bibliotek.

    Den nya WoW64-startlÀget har förbÀttrats, dÀr 32-bitars kod körs inuti en 64-bitars process (i det gamla WoW64-lÀget kördes 32-bitarsapplikationer i 32-bitars Unix-processer). Stöd för att anvÀnda det nya WoW64-lÀget pÄ macOS-plattformen har lagts till. Eftersom det nya WoW64-lÀget har vissa brister, sÄsom avsaknad av stöd för 16-bitarslÀge och minskad OpenGL-prestanda pÄ grund av avsaknad av stöd för ARB_buffer_storage-tillÀgget, Àr det inte aktiverat som standard och krÀver att kompileras med alternativet "--enable-archs=i386,x86_64" i konfigurationsscriptet.

  • Möjligheten att köra befintliga Windows-exekverbara filer pĂ„ ARM64-arkitekturhar lagts till. Stöd för att bygga Wine för ABI ARM64EC (ARM64 Emulation Compatible) och stöd för laddning av ARM64EC-moduler som anvĂ€nds för att förenkla porteringen av x86_64-applikationer till ARM64-system har genomförts genom att möjliggöra körning i ARM64-miljö av enskilda moduler med x86_64-kod med hjĂ€lp av en emulator. Stöd för ARM64X PE-filformatet har lagts till, vilket gör det möjligt att ladda en exekverbar fil i x64/Arm64EC och ARM64-processer. Ett grĂ€nssnitt för emulering av 32-bitars x86-system har implementerats, men emulatorbiblioteket har Ă€nnu inte inkluderats i huvudversionen av Wine (för att köra x86-kod i ARM64-miljö kan en extern emulator FEX anvĂ€ndas).
  • Grafiksubsystem
    • PostScript-drivrutinen har omarbetats för att stödja spool-filer i Windows-format, dĂ€r data om utskriftsjobb lagras. Direkt anrop till drivrutinen frĂ„n Unix-miljön har tagits bort.
    • I WinRT-teman har stöd för mörkt lĂ€ge lagts till. I WineCfg har en instĂ€llning för att aktivera mörkt grĂ€nssnitt tillsatts.
    • Drivr ut för grafik-API:t Vulkan har fĂ„tt stöd för specifikationen Vulkan 1.3.272 (i Wine 8.0 stöddes 1.3.237).
    • Optimering av funktionerna i GdiPlus-biblioteket har genomförts, vilket ökat prestandan vid grafikarbeten.
  • Direct3D
    • Möjligheten att pausa tolkningen av den flertrĂ„dade kommandoströmmen har sĂ€kerstĂ€llts under förutsĂ€ttning av frĂ„nvaro av bearbetade ritningskommandon, vilket gör att energiförbrukningen kan sĂ€nkas till nivĂ„n för enkeltrĂ„dig bearbetning vid körning av program som inte anvĂ€nder hela bandbredden av kommandoströmmen.
    • I Direct3D 10 har stöd för ytterligare effekter införlivats.
    • Prestandaoptimeringar har införts i WineD3D-koden och backend som anvĂ€nder grafik-API:t Vulkan.
    • Koden för rendering baserad pĂ„ API:t Vulkan har fĂ„tt en kontroll av kapabiliteter som stöds av enheten och tillhandahĂ„ller information om den tillgĂ€ngliga funktionalitetsnivĂ„n för Direct3D till applikationen.
    • Funktionerna D3DXFillTextureTX och D3DXFillCubeTextureTX har införts.
    • Den klassiska OpenGL ARB-backenden för shaders har fĂ„tt stöd för skuggdefinition med hjĂ€lp av ARB_fragment_program_shadow-tillĂ€gget.
    • Stöd för att ladda anvĂ€ndardata via grĂ€nssnittet ID3DXLoadUserData har lagts till i D3DXLoadMeshHierarchyFromX och liknande funktioner.
  • Ljud och video
    • En första implementation av DirectMusic API har föreslagits. Stöd för samlingar, instrument och ljudprover i SoundFont-format har lagts till. Dopplereffekten har införlivats. Tester för att verifiera korrektheten av implementationen vid anvĂ€ndning av dmime-sekvenseraren och dmsynth MIDI-synthesizern har genomförts.
    • FluidSynth-biblioteket har integrerats för anvĂ€ndning i DirectMusic API.
    • Stöd för att ladda ljudtyper (SoundFont – format för samplesyntes som anvĂ€nds för uppspelning av MIDI-filer) i DLS1- och DLS2-format samt i SF2-formatet som anvĂ€nds i Linux har införlivats.
    • Möjligheten att spela upp MIDI-innehĂ„ll med hjĂ€lp av dmsynth-biblioteket, med anvĂ€ndning av mjukvarusyntesizern FluidSynth och DirectSound API för ljudutgĂ„ng, har lagts till.
    • En dekoder för video i Indeo IV50 videokodeksformat har lagts till.
  • DirectShow
    • En DMO (DirectX Media Object) komponent med en WMV (Windows Media Video) dekoder har implementerats.
    • En ljudupptagningsfilter (DirectShow Audio Capture Filter) har lagts till.
    • I MPEG-1 strömdelningsfiltret (DirectShow MPEG-1 Stream Splitter) har stöd för videoströmmar och styrströmmar lagts till utöver ljudströmmarna.
    • Ett filter för avkodning av video i MPEG-1-format (DirectShow MPEG-1 Video Decoder) har implementerats.
  • Inmatningsenheter
    • I DirectInput har stöd för action maps, vilket tillĂ„ter knappar pĂ„ spelkontroller att kopplas till specifika Ă„tgĂ€rder i spel.
  • Integration med skrivbordet
    • Det finns stöd för att exportera bindningar till huvudanvĂ€ndarmiljön, vilket gör det möjligt att starta Wine-baserade applikationer som protokollhanterare vid öppning av URL:er (till exempel starta spotify.exe nĂ€r man öppnar lĂ€nkar som «spotify:user:spotify:playlist:848218482355482821»).
    • Det har implementerats datautvinning av EDID (Extended Display Identification Data) med information om anslutna monitorns instĂ€llningar, sĂ„som namn och modell.
    • Möjligheten att stĂ€nga fönstret för skrivbordet i helskĂ€rmslĂ€ge genom att anvĂ€nda knappen «Exit desktop» i menyn «Start» har gjorts tillgĂ€nglig.
  • Internationalisering
    • Stödet för IME (Input Method Editors) har utvidgats. Arbete har genomförts för att sĂ€kerstĂ€lla kompatibilitet med Windows-inhemska implementationer av IME och förbĂ€ttra integrationen med Linux IME.
    • Genereringen av lokaliseringsdatabaser i formatet locale.nls frĂ„n Unicode CLDR (Unicode Common Locale Data Repository) version 44 har möjliggjorts. Stöd för ytterligare lokaler bew-ID, blo-BJ, csw-CA, ie-EE, mic-CA, prg-PL, skr-PK, tyv-RU, vmw-MZ, xnr-IN och za-CN har lagts till.
    • ÖversĂ€ttningen av grĂ€nssnittet till det georgiska sprĂ„ket har genomförts. FullstĂ€ndiga översĂ€ttningar finns för 16 sprĂ„k och delvisa för 31 sprĂ„k.
    • Unicode-teckentabeller har uppdaterats till standardversion 15.1.0. Tidszonens databas har uppdaterats.
  • KĂ€rnan (Windows kernelgrĂ€nssnitt)
    • Windows 10 har definierats som den förvalda versionen av Windows.
    • För körbara filer i PE-format har stöd för address randomization (ASLR) implementerats, men laddningsadresserna för koden i minnet Ă€r fortfarande inte helt randomiserade.
    • Stöd för lĂ„g fragmenteringshögar (LFH, Low Fragmentation Heap) har implementerats, vilket har ökat prestandan vid minnesallokering.
    • Mekanismen för virtuell minnesallokering har fĂ„tt stöd för minnesreservation (placeholder), vilket gör att applikationen kan reservera ett visst omrĂ„de i det virtuella minnet för framtida anvĂ€ndning.
    • 64-bitars laddare (loader och preloader) för körbara filer och bibliotek har samlats i formatet PIE (Position-Independent Executables) för att frigöra en del av det 32-bitars adresseringsutrymmet.
    • Korrekt stackunwindning (stack unwinding) har sĂ€kerstĂ€llts för NT-systemanrop och anvĂ€ndarcallbacks.
  • NĂ€tverksfunktioner
    • I MSHTML-motorn har stöd för skrĂ€psamlaren «Cycle Collection» implementerats.
    • I MSHTML har stöd för synkront lĂ€ge för hantering av XMLHttpRequest-förfrĂ„gningar lagts till.
    • I jscript.dll har stöd för WeakMap-objekt lagts till för att arbeta med samlingar av nyckel/vĂ€rde-par dĂ€r nyckeln Ă€r ett objekt som kan kopplas till ett valfritt vĂ€rde. Metoderna WeakMap.get(), WeakMap.delete(), WeakMap.clear() och WeakMap.has() har implementerats.
    • WebblĂ€sarmotorn Gecko har uppdaterats till version 2.47.4.
    • Stöd för notifieringar om förĂ€ndringar i nĂ€tverksgrĂ€nssnittets tillstĂ„nd har implementerats.
  • Kryptografi och sĂ€kerhet
    • I biblioteket Winscard.dll har stöd för smarta kort lagts till, implementerat via det systembiblioteket PCSClite.
    • I BCrypt har stöd för Diffie-Hellman nyckelutbytesprotokollet lagts till.
    • Paketet Negotiate har implementerats, vilket tillhandahĂ„ller ett lager för att anvĂ€nda SSPI (Security Support Provider Interface) för att komma Ă„t SSP (Security Support Provider).
  • Inbyggda applikationer
    • I Wine Debugger (winedbg) för disassemblering av X86 maskininstruktioner har biblioteket Zydis aktiverats.
    • I grĂ€nssnittet WineCfg har möjligheten att stĂ€lla in Ă€ldre versioner av Windows (upp till XP) pĂ„ 64-bitars plattformar lagts till, vilket möjliggör körning av förĂ„ldrade applikationer med WoW64-lĂ€get.
    • I alla inbyggda grafiska applikationer har visning av felmeddelanden i en separat dialog istĂ€llet för i konsolen implementerats.
    • I programmet systeminfo har visning av information frĂ„n WMI-databasen (Windows Management Instrumentation) sĂ€kerstĂ€llts.
    • Applikationen klist för visning av Kerberos-biljetter har lagts till.
    • I applikationen taskkill har möjligheten till tvĂ„ngsavslutning av barnprocesser implementerats.
    • I verktyget start har parametern '/machine' lagts till för att vĂ€lja arkitektur som anvĂ€nds vid körning av hybrida körbara filer som stöder bĂ„de x86 och ARM.
    • En stor del av funktionaliteten i programmet tasklist har implementerats.
    • En grundlĂ€ggande implementation av applikationen findstr har lagts till.
  • Utvecklingsverktyg
    • I verktyget WineDump har möjligheten att visa innehĂ„llet i Windows-registerfiler (REGF-format) samt att visa data för alla arkitekturer (x86/ARM64) som stöds i hybrida PE-filer lagts till.
    • I kompilatorn IDL har stöd för attributen 'composable', 'default_overload', 'deprecated' och 'protected' lagts till.
    • Biblioteket libwine.so har tagits bort eftersom det förklarades som förĂ„ldrat i utgĂ„van Wine 6.0 och lĂ€nge inte har varit i anvĂ€ndning i Wine. Program i ELF-format som kompilerades med gamla versioner av Wine (5.0 eller Ă€ldre) med libwine.so krĂ€ver omkompilering för att köra i Wine 9.0.
  • Inbyggda bibliotek och externa beroenden
    • Inkluderade bibliotek Ă€r FluidSynth 2.3.3, Musl 1.2.3 (endast matematiska funktioner) och Zydis 4.0.0.
    • Komponenterna Vkd3d 1.10, Faudio 23.12, OpenLDAP 2.5.16, LCMS2 2.15, LibMPG123 1.32.2, LibPng 1.6.40, LibTiff 4.6.0, LibXml2 2.11.5, LibXslt 1.1.38 och Zlib 1.3 har uppdaterats till nya versioner. Wine Mono-motorn med .NET-plattformsimplementation har uppdaterats till version 8.1.0.
    • I drivrutinen winewayland.drv anvĂ€nds klientbiblioteket Wayland samt biblioteken xkbcommon och xkbregistry som externa beroenden.
    • För stöd för smartkort anvĂ€nds det externa biblioteket PCSClite (i macOS - PCSC).
    • För att bygga PE-filer pĂ„ plattformar som inte Ă€r i386 krĂ€vs nu en korskompilator som stöder direktiv " .seh " för att hantera undantag.

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster