Stabiele weergawe van Wine 9.0

Na 'n jaar van ontwikkeling en 26 eksperimentele weergawes, is 'n stabiele vrystelling van die oop implementering van die Win32 API - Wine 9.0, wat meer as 7000 64 veranderinge ingesluit het, aangebied. Die sleutelprestasies in die nuwe weergawe sluit in die implementering van die WoW32-argitektuur om 64-bis-programme in 'n 64-bis-omgewing te laat loop, bestuurderintegrasie om Wayland te ondersteun, ondersteuning vir die ARMXNUMX-argitektuur, implementering van die DirectMusic API en ondersteuning vir slimkaarte.

Wine het die volle werking van 5336 ('n jaar gelede 5266, twee jaar gelede 5156, drie jaar gelede 5049) programme vir Windows bevestig, nog 4397 ('n jaar gelede 4370, twee jaar gelede 4312, drie jaar gelede 4227) programme werk perfek saam met bykomende instellings en eksterne DLL. 3943 programme ('n jaar gelede 3888, twee jaar gelede 3813, drie jaar gelede 3703) het geringe probleme in werking wat nie inmeng met die gebruik van die hooffunksies van die toepassings nie.

Sleutelinnovasies in Wine 9.0:

  • Bygevoeg bestuurder winewayland.drv, wat jou toelaat om Wyn te gebruik in omgewings gebaseer op die Wayland protokol sonder om XWayland en X11 komponente te gebruik. Die ontwikkeling is daarop gemik om 'n suiwer Wayland-omgewing te voorsien met ondersteuning vir die bestuur van Windows-toepassings wat nie die installering van X11-verwante pakkette vereis nie, wat hoër werkverrigting en responsiwiteit van speletjies moontlik maak deur onnodige lae uit te skakel. Die gebruik van 'n suiwer Wayland-omgewing vir wyn elimineer ook die sekuriteitskwessies wat inherent is aan X11 (byvoorbeeld, onbetroubare X11-speletjies kan op ander toepassings spioeneer aangesien die X11-protokol toegang tot alle invoergebeure en vals toetsaanslagvervanging toelaat).

    Die drywer is gemerk as eksperimenteel en onder ontwikkeling, maar dit het nietemin reeds ondersteuning vir baie kenmerke, soos vensterbestuur, werk met veelvuldige monitors, ondersteuning vir skaaluitset op hoë-pixeldigtheid (hoë-DPI) skerms, werk met relatiewe koördinate by die dop van muisbeweging en ondersteuning vir die Vulkan grafiese API. By verstek is die bestuurder nie aktief nie en om dit te aktiveer moet jy "wayland" by die registerparameter "HKCU\Software\Wine\Drivers" voeg en seker maak dat die DISPLAY omgewingsveranderlike nie gestel is nie: wine reg.exe voeg HKCU\ \Software\\Wine\\Drivers /v Graphics /d x11,wayland

  • Alle modules is omgeskakel na die NT-stelseloproepkoppelvlak, eerder as om direkte oproepe tussen die PE- en Unix-lae te maak, wat die voltooiing van baie jare se werk merk om alle DLL's om te skakel om die PE (Portable Executable) uitvoerbare lêerformaat te gebruik.
  • Die ontwikkeling van die WoW64-laag (64-bis Windows-op-Windows), wat dit moontlik maak om 32-bis Windows-toepassings op 64-bis Unix-stelsels te laat loop, het voortgegaan. Alle modules wat toegang tot Unix-biblioteke gebruik, gebruik WoW64-stelseloproep-thunks om 32-bis PE-geformateerde modules toegang te gee tot 64-bis Unix-biblioteke.

    Verbeter die nuwe WoW64-bekendstellingsmodus, wat 32-bis-kode binne 'n 64-bis-proses laat loop (in die ou WoW64-modus het 32-bis toepassings in 32-bis Unix-prosesse gehardloop). Bygevoeg ondersteuning vir die gebruik van die nuwe WoW64-modus op die macOS-platform. Aangesien die nuwe WoW64-modus 'n paar tekortkominge het, soos 'n gebrek aan ondersteuning vir 16-bis-modus en verminderde OpenGL-werkverrigting as gevolg van 'n gebrek aan ondersteuning vir die ARB_buffer_storage-uitbreiding, is dit nog nie by verstek geaktiveer nie en vereis bou met die opsie "—enable- archs=i386,x86_64 " in die opstelskrip.

  • Bygevoeg die vermoë om bestaande Windows-uitvoerbare programme op ARM64-argitektuurstelsels te laat loop. Die vermoë om Wyn vir die ARM64EC ABI (ARM64 Emulation Compatible) te bou en ondersteuning vir die laai van ARM64EC-modules is geïmplementeer, gebruik om die oordrag van toepassings wat oorspronklik vir die x64_86-argitektuur geskryf is na ARM64-stelsels te vereenvoudig deur die vermoë te bied om individuele modules met x64_86 uit te voer kode in die ARM64-omgewing met behulp van 'n emulator. Bygevoeg ondersteuning vir die ARM64X PE lêer formaat, wat dit moontlik maak om 'n enkele uitvoerbare lêer in x64/Arm64EC en ARM64 prosesse te laai. 'n Koppelvlak vir die nabootsing van 32-bis x86-stelsels is geïmplementeer, maar die biblioteek met die emulator is nog nie by die hoofwynpakket ingesluit nie (jy kan die eksterne FEX-emulator gebruik om x86-kode in 'n ARM64-omgewing uit te voer).
  • Grafiese substelsel
    • Die PostScript-drywer is herontwerp om Windows-geformateerde spoellêers te ondersteun wat data oor druktake stoor. Direkte oproepe na die bestuurder van die Unix-omgewing word uitgesluit.
    • Donkermodusondersteuning is by WinRT-temas gevoeg. 'n Instelling is by WineCfg gevoeg om donker koppelvlakontwerp moontlik te maak.
    • Die bestuurder vir die Vulkan-grafiese API het ondersteuning bygevoeg vir die Vulkan 1.3.272-spesifikasie (8.0 is in Wine 1.3.237 ondersteun).
    • Die funksies van die GdiPlus-biblioteek is geoptimaliseer, wat verhoogde grafiese werkverrigting moontlik maak.
  • Direct3D
    • Ontleding van 'n multi-draad-opdragstroom word opgeskort wanneer daar geen weergawe-opdragte verwerk word nie, wat dit moontlik maak om energieverbruik te verminder tot die vlak van enkeldraadverwerking wanneer programme uitgevoer word wat nie die hele opdragstroombandwydte beset nie.
    • Direct3D 10 sluit ondersteuning vir bykomende effekte in.
    • Het werkverrigtingoptimalisasies aan die WineD3D-kode en backend gemaak met behulp van die Vulkan-grafiese API.
    • Die Vulkan API-gebaseerde weergawekode kontroleer nou watter vermoëns die toestel ondersteun en vertel die toepassing watter vlak van Direct3D-funksionaliteit beskikbaar is.
    • Die D3DXFillTextureTX en D3DXFillCubeTextureTX funksies is geïmplementeer.
    • Die klassieke OpenGL ARB-skadu-agterkant het ondersteuning bygevoeg vir die definisie van skaduwees met die ARB_fragment_program_shadow-uitbreiding.
    • D3DXLoadMeshHierarchyFromX en soortgelyke funksies het ondersteuning bygevoeg vir die laai van gebruikersdata met behulp van die ID3DXLoadUserData-koppelvlak.
  • Klank en video
    • 'n Aanvanklike implementering van die DirectMusic API is voorgestel. Bygevoeg ondersteuning vir versamelings, instrumente en klankmonsters in die SoundFont-formaat. Bygevoeg ondersteuning vir die Doppler effek. Toetse is geïmplementeer om die korrekte implementering te verifieer wanneer die dmime sequencer en die dmsynth MIDI sintetiseerder gebruik word.
    • Die FluidSynth-biblioteek is in die DirectMusic API ingebou vir gebruik.
    • Ondersteuning vir die laai van klanklettertipes (SoundFont - monstergebaseerde sinteseformate wat gebruik word om MIDI-lêers te speel) in die DLS1- en DLS2-formate, sowel as in die SF2-formaat wat in Linux gebruik word, is geïmplementeer.
    • Bygevoeg die vermoë om MIDI-inhoud te speel met behulp van die dmsynth-biblioteek, met behulp van die FluidSynth-sagteware-sintetiseerder en die DirectSound API vir oudio-uitvoer.
    • Bygevoeg 'n dekodeerder vir video in die Indeo IV50 video kodek formaat.
  • Direct
    • 'n DMO (DirectX Media Object) komponent met 'n WMV (Windows Media Video) formaat dekodeerder is geïmplementeer.
    • Bygevoeg 'n oudio-opname filter (DirectShow Audio Capture Filter).
    • Benewens oudiostrome, ondersteun die MPEG-1 Stream Splitter (DirectShow MPEG-1 Stream Splitter) nou videostrome en diensstrome.
    • 'n Filter vir die dekodering van video in MPEG-1-formaat (DirectShow MPEG-1 Video-dekodeerder) is geïmplementeer.
  • Toevoertoestelle
    • DirectInput ondersteun aksiekartering, wat jou toelaat om knoppies op 'n speletjiebeheerder aan spesifieke aksies in speletjies te bind.
  • Desktop integrasie
    • Bindings is na die hoofgebruiker-omgewing uitgevoer, waardeur toepassings wat onder Wine loop, as protokolhanteerders genoem kan word wanneer 'n URL oopgemaak word (byvoorbeeld deur spotify.exe te begin wanneer skakels soos "spotify:user:spotify:playlist:848218482355482821" oopgemaak word).
    • Implementeer die onttrekking van EDID (Extended Display Identification Data) data met inligting oor die parameters van die gekoppelde monitor, soos die naam en model van die toestel.
    • Dit is moontlik om 'n lessenaarvenster wat in volskermmodus ontplooi is toe te maak deur die "Verlaat lessenaar"-knoppie in die "Begin"-kieslys te gebruik.
  • Internasionalisering
    • Uitgebreide ondersteuning vir IME (Input Method Editors). Werk is gedoen om verenigbaarheid met inheemse Windows IME-implementerings te verseker en integrasie met Linux IME te verbeter
    • Generering van locale databasisse in locale.nls formaat vanaf die Unicode CLDR (Unicode Common Locale Data Repository) databasis weergawe 44 is voorsien. Ondersteuning vir bykomende locales bew-ID, blo-BJ, csw-CA, ie-EE, mic-CA , prg-PL is bygevoeg , skr-PK, tyv-RU, vmw-MZ, xnr-IN en za-CN.
    • Die koppelvlak is in Georgies vertaal. Volledige vertalings word vir 16 tale verskaf, en gedeeltelike vertalings vir 31 tale.
    • Unicode-karaktertabelle is opgedateer na standaard weergawe 15.1.0. Die tydsone-databasis is opgedateer.
  • Kern (Windows Kernel Interfaces)
    • Die verstekweergawe van Windows wat uitgereik word, is Windows 10.
    • Vir uitvoerbare lêers in die PE-formaat word ondersteuning vir adresruimte-randomisering (ASLR) geïmplementeer, maar die adresse vir die laai van kode in die geheue is nog nie heeltemal ewekansig nie.
    • Ondersteuning vir 'n swak gefragmenteerde hoop (LFH, Low Fragmentation Heap) is geïmplementeer, wat die werkverrigting van geheuetoewysingsbedrywighede verhoog het.
    • Ondersteuning vir geheuereservering (plekhouer) is by die virtuele geheue-toewysingsmeganisme gevoeg, wat 'n toepassing toelaat om 'n spesifieke area van virtuele geheue vir toekomstige gebruik te reserveer.
    • 64-bis laaiers (laaier en preloader) van uitvoerbare lêers en biblioteke word saamgestel in die PIE (Position-Independent Executables) formaat om 'n deel van die 32-bis adresspasie vry te maak.
    • Korrekte stapelontwikkel word voorsien vir NT-stelseloproepe en gebruikersterugoproepe.
  • Netwerk funksies
    • Die MSHTML-enjin ondersteun die "Cycle Collection"-vullisversamelingsmeganisme.
    • MSHTML het ondersteuning bygevoeg vir sinchroniese verwerking van XMLHttpRequest-versoeke.
    • jscript.dll voeg ondersteuning by vir 'n WeakMap-voorwerp om te werk met 'n versameling sleutel/waarde-pare waarin die sleutel 'n voorwerp is wat 'n arbitrêre waarde daaraan kan hê. Implementeer WeakMap.get(), WeakMap.delete(), WeakMap.clear() en WeakMap.has() metodes.
    • Die Gecko-blaaier-enjin is opgedateer na weergawe 2.47.4.
    • Ondersteuning vir kennisgewings oor veranderinge in die toestand van die netwerkkoppelvlak is geïmplementeer.
  • Kriptografie en sekuriteit
    • Ondersteuning vir slimkaarte is by die Winscard.dll-biblioteek gevoeg, geïmplementeer deur die PCSClite-stelselbiblioteek.
    • BCrypt het ondersteuning bygevoeg vir die Diffie-Hellman-sleuteluitruilprotokol.
    • Die Negotiate-pakket is geïmplementeer en verskaf 'n laag vir die gebruik van die SSPI (Security Support Provider Interface) koppelvlak om toegang tot SSP (Security Support Provider) verskaffers te verkry.
  • Ingebedde toepassings
    • Die Wine Debugger (winedbg) gebruik die Zydis-biblioteek om X86-masjieninstruksies uitmekaar te haal.
    • Die vermoë om ouer weergawes van Windows (pre-XP) op 64-bis-platforms bloot te stel, is by die WineCfg-koppelvlak gevoeg, wat jou toelaat om verouderde toepassings met WoW64-modus te laat loop.
    • Alle ingeboude grafiese toepassings vertoon nou foutinligting in 'n aparte dialoog, in plaas daarvan om dit in die konsole te vertoon.
    • Die stelselinligting-program verskaf vertoning van inligting vanaf die WMI (Windows Management Instrumentation) databasis.
    • Bygevoeg klist-toepassing om Kerberos-kaartjies te vertoon.
    • Die taakkill-toepassing implementeer die vermoë om kinderprosesse kragtig te beëindig.
    • Bygevoeg "/masjien" opsie by die begin nut om die argitektuur te kies wat gebruik word wanneer hibriede uitvoerbare programme uitgevoer word wat x86 en ARM ondersteun.
    • Die meeste van die funksionaliteit van die taaklys-program is geïmplementeer.
    • Het 'n basiese implementering van die findstr-toepassing bygevoeg.
  • Ontwikkelingsgereedskap
    • Die WineDump-nutsding bied die vermoë om die inhoud van Windows-registerlêers (REGF-formaat) te vertoon, sowel as om data te vertoon vir alle argitekture (x86/ARM64) wat in hibriede PE-lêers ondersteun word.
    • Die IDL-samesteller het ondersteuning bygevoeg vir die "saamstelbare", "default_overload", "deprecated" en "protected" eienskappe.
    • Verwyder libwine.so, wat in Wine 6.0 opgeskort is en lankal nie meer in Wine gebruik word nie. Programme in ELF-formaat gebou in ouer weergawes van Wine (5.0 en ouer) met libwine.so vereis herbou om in Wine 9.0 te loop.
  • Ingeboude biblioteke en eksterne afhanklikhede
    • Die biblioteke FluidSynth 2.3.3, Musl 1.2.3 (slegs wiskundige funksies) en Zydis 4.0.0 is in die pakket geïntegreer.
    • Komponente 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, LibXslts is nuut na 1.1.38 en LibXslt. Die Wine Mono-enjin met die implementering van die .NET-platform is opgedateer om 1.3 vry te stel.
    • Die bestuurder winewayland.drv gebruik die Wayland-kliëntbiblioteek as eksterne afhanklikhede, sowel as die xkbcommon- en xkbregistry-biblioteke.
    • Om slimkaarte te ondersteun, word die eksterne biblioteek PCSClite (in macOS - PCSC) gebruik.
    • Die bou van PE-lêers op nie-i386-platforms vereis nou 'n kruissamesteller met ondersteuning vir ".seh"-instruksies om uitsonderings te hanteer.

Bron: opennet.ru

Voeg 'n opmerking