Stabil utgÄva av Wine 9.0

Efter ett Är av utveckling och 26 experimentella versioner presenterades en stabil version av den öppna implementeringen av Win32 API - Wine 9.0, som innehöll mer Àn 7000 64 Àndringar. Nyckelprestationerna i den nya versionen inkluderar implementeringen av WoW32-arkitekturen för att köra 64-bitarsprogram i en 64-bitars miljö, drivrutintegration för att stödja Wayland, stöd för ARMXNUMX-arkitekturen, implementering av DirectMusic API och stöd för smartkort.

5336 (5266 för ett Är sedan, 5156 för tvÄ Är sedan, 5049 för tre Är sedan) program har bekrÀftats fungera korrekt i Wine. WindowsYtterligare 4 397 program (4 370 för ett Är sedan, 4 312 för tvÄ Är sedan, 4 227 för tre Är sedan) fungerar bra med ytterligare instÀllningar och externa DLL-filer. 3 943 program (3 888 för ett Är sedan, 3 813 för tvÄ Är sedan, 3 703 för tre Är sedan) har mindre problem som inte stör programmens grundlÀggande funktionalitet.

Viktiga innovationer i Wine 9.0:

  • Drivrutinen winewayland.drv har lagts till, vilket gör att Wine kan anvĂ€ndas i Wayland-baserade miljöer utan anvĂ€ndning av XWayland- eller X11-komponenter. Denna utveckling syftar till att tillhandahĂ„lla en ren Wayland-miljö med startstöd. Windows- applikationer som inte krĂ€ver installation av X11-relaterade paket, vilket möjliggör högre prestanda och respons i spel genom att eliminera onödiga lager. Att anvĂ€nda en ren Wayland-miljö för Wine eliminerar ocksĂ„ sĂ€kerhetsproblem som Ă€r inneboende i X11 (till exempel kan otillförlitliga X11-spel spionera pĂ„ andra applikationer eftersom X11-protokollet tillĂ„ter Ă„tkomst till alla inmatningshĂ€ndelser och utför tangenttryckningsersĂ€ttning).

    Drivrutinen Àr markerad som experimentell och under utveckling, men trots det har den redan stöd för mÄnga funktioner, sÄsom fönsterhantering, arbete med flera bildskÀrmar, stöd för skalning av utdata pÄ skÀrmar med hög DPI, arbete med relativa koordinater vid spÄrning av musrörelser och stöd för Vulkans grafik-API. Som standard Àr drivrutinen inte aktiv och för att aktivera den bör du lÀgga till "wayland" till registerparametern "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

  • Alla moduler har konverterats till NT-systemanropsgrĂ€nssnittet, istĂ€llet för att göra direktanrop mellan PE- och Unix-lagren, vilket markerar slutförandet av mĂ„nga Ă„rs arbete med att konvertera alla DLL-bibliotek till att anvĂ€nda PE (Portable Executable) körbara filformat.
  • Utvecklingen av WoW64-lagret (64-bitars) fortsatte Windows-pĂ„-Windows), vilket gör att du kan köra 32-bitars Windows- applikationer pĂ„ 64-bitars Unix-system. Alla moduler som anvĂ€nder Unix-bibliotek anvĂ€nder WoW64-systemanropsöversĂ€ttare (thunks), vilket gör att 32-bitarsmoduler i PE-format kan anvĂ€nda 64-bitars Unix-bibliotek.

    Det nya WoW64-startlÀget har förbÀttrats, vilket gör att 32-bitarskod kan köras i 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Ä plattformen har lagts till. macOSEftersom det nya WoW64-lÀget har nÄgra mindre buggar, sÄsom brist pÄ 16-bitarsstöd och minskad OpenGL-prestanda pÄ grund av bristande stöd för ARB_buffer_storage-tillÀgget, Àr det Ànnu inte aktiverat som standard och krÀver att man bygger med alternativet "--enable-archs=i386,x86_64" i konfigurationsskriptet.

  • Lade till möjligheten att köra befintliga körbara filer Windows PĂ„ system med ARM64-arkitekturen kan Wine nu byggas för ARM64EC (ARM64 Emulation Compatible) ABI, och ARM64EC-moduler kan lĂ€sas in. Dessa moduler anvĂ€nds för att förenkla porteringen av applikationer som ursprungligen skrevs för x86_64-arkitekturen till ARM64-system genom att möjliggöra exekvering av enskilda x86_64-kodmoduler i ARM64-miljön med hjĂ€lp av en emulator. Stöd har lagts till för ARM64X PE-filformatet, vilket gör att en enda körbar fil kan lĂ€sas in i bĂ„de x64/Arm64EC- och ARM64-processer. Ett grĂ€nssnitt för att emulera 32-bitars x86-system har implementerats, men emulatorbiblioteket ingĂ„r Ă€nnu inte i Wine-huvuddistributionen (den externa FEX-emulatorn kan anvĂ€ndas för att köra x86-kod i ARM64-miljön).
  • Grafiskt delsystem
    • PostScript-drivrutinen har omdesignats för att stödja spoolfiler i formatet Windows, som lagrar data om utskriftsjobb. Direkta anrop till drivrutinen frĂ„n Unix-miljön Ă€r undantagna.
    • Stöd för mörkt lĂ€ge har lagts till WinRT-teman. En instĂ€llning har lagts till i WineCfg för att möjliggöra mörk grĂ€nssnittsdesign.
    • Drivrutinen för Vulkans grafik-API har lagt till stöd för Vulkan 1.3.272-specifikationen (8.0 stöddes i Wine 1.3.237).
    • Funktionerna i GdiPlus-biblioteket har optimerats, vilket möjliggör ökad grafikprestanda.
  • Direct3D
    • Parsning av en flertrĂ„dad kommandoström avbryts nĂ€r inga renderingskommandon bearbetas, vilket gör det möjligt att reducera energiförbrukningen till nivĂ„n för enkeltrĂ„dad bearbetning vid exekvering av program som inte upptar hela kommandoströmmens bandbredd.
    • Direct3D 10 innehĂ„ller stöd för ytterligare effekter.
    • Gjorde prestandaoptimeringar av WineD3D-koden och backend med Vulkans grafik-API.
    • Den Vulkan API-baserade renderingskoden kontrollerar nu vilka funktioner enheten stöder och talar om för applikationen vilken nivĂ„ av Direct3D-funktionalitet som Ă€r tillgĂ€nglig.
    • Funktionerna D3DXFillTextureTX och D3DXFillCubeTextureTX har implementerats.
    • Den klassiska OpenGL ARB shader-backend har lagt till stöd för att definiera skuggor med tillĂ€gget ARB_fragment_program_shadow.
    • D3DXLoadMeshHierarchyFromX och liknande funktioner har lagt till stöd för att ladda anvĂ€ndardata med ID3DXLoadUserData-grĂ€nssnittet.
  • Ljud och video
    • En första implementering av DirectMusic API har föreslagits. Lagt till stöd för samlingar, instrument och ljudprover i SoundFont-formatet. Lade till stöd för Doppler-effekten. Tester har implementerats för att verifiera korrekt implementering nĂ€r du anvĂ€nder dmime-sequencern och dmsynth MIDI-synthesizern.
    • FluidSynth-biblioteket Ă€r inbyggt i DirectMusic API för anvĂ€ndning.
    • Implementerade stöd för att ladda ljudfonter (SoundFont - format för samplingsbaserad syntes som anvĂ€nds för att spela MIDI-filer) i DLS1- och DLS2-formaten, samt i SF2-formatet som anvĂ€nds i Linux.
    • Lade till möjligheten att spela MIDI-innehĂ„ll med hjĂ€lp av dmsynth-biblioteket, med hjĂ€lp av FluidSynth mjukvarusynthesizer och DirectSound API för ljudutgĂ„ng.
    • Tillagd dekoder för video i Indeo IV50 videocodec-format.
  • Direct
    • DMO-komponenten (DirectX Media Object) med en WMV-formatavkodare har implementerats (Windows Mediavideo).
    • Lade till ett ljudinfĂ„ngningsfilter (DirectShow Audio Capture Filter).
    • Förutom ljudströmmar stöder nu DirectShow MPEG-1 Stream Splitter video- och tjĂ€nstströmmar.
    • Ett filter för avkodning av video i MPEG‑1-format (DirectShow MPEG‑1 Video Decoder) har implementerats.
  • Ange enheter
    • DirectInput stöder actionmapping, vilket gör att du kan binda knappar pĂ„ en spelkontroll till specifika Ă„tgĂ€rder i spel.
  • Desktopintegration
    • Bindningar har exporterats till huvudanvĂ€ndarmiljön, vilket gör att applikationer som körs under Wine kan anropas som protokollhanterare nĂ€r du öppnar en URL (till exempel startar spotify.exe nĂ€r du öppnar lĂ€nkar som "spotify:anvĂ€ndare:spotify:spellista:848218482355482821").
    • Implementerade extrahering av EDID (Extended Display Identification Data) data med information om parametrarna för den anslutna monitorn, sĂ„som namn och modell pĂ„ enheten.
    • Det Ă€r möjligt att stĂ€nga ett skrivbordsfönster som anvĂ€nds i helskĂ€rmslĂ€ge med knappen "Avsluta skrivbordet" i "Start"-menyn.
  • Internationalisering
    • Stödet för IME:er (Input Method Editors) har utökats. Arbete har utförts för att sĂ€kerstĂ€lla kompatibilitet med inbyggda Windows IME-implementeringar och förbĂ€ttrad integration med Linux IME
    • Generering av sprĂ„kdatabaser i formatet locale.nls frĂ„n Unicode CLDR (Unicode Common Locale Data Repository) databas version 44 har tillhandahĂ„llits Stöd för ytterligare lokaler bew-ID, blo-BJ, csw-CA, dvs-EE, mic-CA. , prg-PL har lagts till , skr-PK, tyv-RU, vmw-MZ, xnr-IN och za-CN.
    • GrĂ€nssnittet har översatts till georgiska. FullstĂ€ndiga översĂ€ttningar tillhandahĂ„lls för 16 sprĂ„k och partiella översĂ€ttningar för 31 sprĂ„k.
    • Unicode-teckentabeller har uppdaterats till standardversion 15.1.0. Tidszonsdatabasen har uppdaterats.
  • KĂ€rna (kĂ€rngrĂ€nssnitt Windows)
    • Som den utgivna versionen Windows definierad som standard Windows 10.
    • För körbara filer i PE-formatet Ă€r stöd för adressrymdsrandomisering (ASLR) implementerat, men adresserna för att ladda kod i minnet Ă€r Ă€nnu inte helt randomiserade.
    • Stöd för en svagt fragmenterad hög (LFH, Low Fragmentation Heap) har implementerats, vilket har ökat prestandan för minnesallokeringsoperationer.
    • Stöd för minnesreservation (platshĂ„llare) har lagts till den virtuella minnesallokeringsmekanismen, vilket gör att en applikation kan reservera ett specifikt omrĂ„de av virtuellt minne för framtida anvĂ€ndning.
    • 64-bitars laddare (loader och preloader) av körbara filer och bibliotek kompileras i PIE-formatet (Position-Independent Executables) för att frigöra en del av 32-bitars adressutrymmet.
    • Korrekt stackavveckning tillhandahĂ„lls nu för NT-systemsamtal och anvĂ€ndarĂ„teruppringningar.
  • NĂ€tverksfunktioner
    • MSHTML-motorn stöder skrĂ€pinsamlingsmekanismen "Cycle Collection".
    • MSHTML har lagt till stöd för synkron behandling av XMLHttpRequest-förfrĂ„gningar.
    • jscript.dll lĂ€gger till stöd för ett WeakMap-objekt för att fungera med en samling nyckel/vĂ€rdepar dĂ€r nyckeln Ă€r ett objekt som kan ha ett godtyckligt vĂ€rde kopplat till sig. Implementerade metoderna WeakMap.get(), WeakMap.delete(), WeakMap.clear() och WeakMap.has().
    • WebblĂ€sarmotorn Gecko har uppdaterats till version 2.47.4.
    • Stöd för aviseringar om förĂ€ndringar i nĂ€tverksgrĂ€nssnittets tillstĂ„nd har implementerats.
  • Kryptografi och sĂ€kerhet
    • Stöd för smartkort har lagts till Winscard.dll-biblioteket, implementerat genom PCSClite-systembiblioteket.
    • BCrypt har lagt till stöd för nyckelutbytesprotokollet Diffie-Hellman.
    • Negotiate-paketet har implementerats och tillhandahĂ„ller ett lager för att anvĂ€nda SSPI (Security Support Provider Interface) för att komma Ă„t Security Support Providers (SSP:er).
  • InbĂ€ddade applikationer
    • Wine Debugger (winedbg) anvĂ€nder Zydis-biblioteket för att ta isĂ€r X86-maskininstruktioner.
    • WineCfg-grĂ€nssnittet har uppdaterats för att stödja Ă€ldre versioner pĂ„ 64-bitarsplattformar. Windows (före XP), vilket lĂ„ter dig köra Ă€ldre program med WoW64-lĂ€ge.
    • Alla inbyggda grafiska applikationer visar nu felinformation i en separat dialog, istĂ€llet för att visa dem i konsolen.
    • Programmet systeminfo visar information frĂ„n WMI-databasen (Windows ledningsinstrument).
    • Lade till klist-applikation för att visa Kerberos-biljetter.
    • Taskkill-applikationen implementerar förmĂ„gan att tvĂ„ngsmĂ€ssigt avsluta underordnade processer.
    • Startverktyget har nu ett "/machine"-alternativ för att vĂ€lja arkitekturen som anvĂ€nds nĂ€r du kör hybridkörbara filer som stöder x86 och ARM.
    • Det mesta av funktionaliteten i tasklistprogrammet har implementerats.
    • Lade till en grundlĂ€ggande implementering av findstr-applikationen.
  • Utvecklings verktyg
    • WineDump-verktyget har möjlighet att visa innehĂ„llet i registerfiler. Windows (REGF-format), samt visning av data för alla arkitekturer (x86/ARM64) som stöds i hybrid PE-filer.
    • IDL-kompilatorn stöder nu attributen "composable", "default_overload", "deprecated" och "protected".
    • Tog bort biblioteket libwine.so, som förĂ„ldrades i Wine 6.0 och inte lĂ€ngre anvĂ€nds i Wine. ELF-program byggda i Ă€ldre Wine-versioner (5.0 och högre) med libwine.so krĂ€ver ombyggnad för att köras i Wine 9.0.
  • Inbyggda bibliotek och externa beroenden
    • Biblioteken FluidSynth 2.3.3, Musl 1.2.3 (endast matematiska funktioner) och Zydis 4.0.0 Ă€r integrerade i paketet.
    • Följande komponenter har uppdaterats till nya versioner: 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.5s, LibXml1.1.38 1.3lt och LibXml8.1.0 XNUMXs. XNUMX. Wine Mono-motor med .NET-plattformsimplementering har uppdaterats till release XNUMX.
    • Drivrutinen winewayland.drv anvĂ€nder Wayland-klientbiblioteket som externa beroenden, sĂ„vĂ€l som xkbcommon- och xkbregistry-biblioteken.
    • För att stödja smartkort anvĂ€nds det externa PCSClite-biblioteket (i macOS — PCSC).
    • Att bygga PE-filer pĂ„ icke-i386-plattformar krĂ€ver nu en korskompilator med stöd för ".seh"-direktiv för att hantera undantag.

KĂ€lla: opennet.ru

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