Stabile release fan Wine 9.0

Nei in jier fan ûntwikkeling en 26 eksperimintele ferzjes waard in stabile release fan 'e iepen ymplemintaasje fan' e Win32 API presintearre - Wine 9.0, dy't mear as 7000 wizigingen opnaam. De wichtichste prestaasjes yn 'e nije ferzje omfetsje de ymplemintaasje fan' e WoW64-arsjitektuer foar it útfieren fan 32-bit-programma's yn in 64-bit-omjouwing, stjoerprogramma-yntegraasje om Wayland te stypjen, stipe foar de ARM64-arsjitektuer, ymplemintaasje fan 'e DirectMusic API en stipe foar smart cards.

5336 (5266 in jier lyn, 5156 twa jier lyn, 5049 trije jier lyn) programma's binne befêstige goed te wurkjen yn Wine. WindowsNochris 4397 programma's (4370 in jier lyn, 4312 twa jier lyn, 4227 trije jier lyn) wurkje prima mei ekstra ynstellings en eksterne DLL's. 3943 programma's (3888 in jier lyn, 3813 twa jier lyn, 3703 trije jier lyn) hawwe lytse problemen dy't de basisfunksjonaliteit fan 'e applikaasjes net bemuoie.

Wichtige ynnovaasjes yn Wine 9.0:

  • De winewayland.drv-stjoerprogramma is tafoege, wêrtroch Wine brûkt wurde kin yn Wayland-basearre omjouwings sûnder gebrûk fan XWayland- of X11-komponinten. Dizze ûntwikkeling is rjochte op it leverjen fan in suvere Wayland-omjouwing mei lansearringsstipe. Windows- applikaasjes dy't gjin ynstallaasje fan X11-relatearre pakketten fereaskje, wat hegere prestaasjes en responsiviteit yn spultsjes mooglik makket troch ûnnedige lagen te eliminearjen. It brûken fan in suvere Wayland-omjouwing foar Wine elimineert ek feiligensproblemen dy't ynherent binne oan X11 (bygelyks, net-fertroude X11-spultsjes kinne oare applikaasjes bespionearje, om't it X11-protokol tagong jout ta alle ynfiereveneminten en toetsoanslagferfanging útfiere kin).

    De bestjoerder is markearre as eksperiminteel en yn ûntwikkeling, mar hat lykwols al stipe foar in protte funksjes, lykas finsterbehear, wurkje mei meardere monitors, stipe foar skaalfergrutting op skermen mei hege pikseldichte (hege DPI), wurkje mei relative koördinaten by it folgjen fan mûsbeweging en stipe foar de Vulkan graphics API. Standert is de bestjoerder net aktyf en om it yn te skeakeljen moatte jo "wayland" tafoegje oan de registerparameter "HKCU\Software\Wine\Drivers" en soargje derfoar dat de DISPLAY-omjouwingsfariabele net ynsteld is: wine reg.exe add HKCU\ \Software\\Wine\\Drivers /v Graphics /d x11,wayland

  • Alle modules binne omboud ta de NT-systeemoprop-ynterface, ynstee fan direkte oproppen te meitsjen tusken de PE- en Unix-lagen, markearje de foltôging fan in protte jierren fan wurk om alle DLL's te konvertearjen om it útfierbere triemformaat PE (Portable Executable) te brûken.
  • De ûntwikkeling fan 'e WoW64-laach (64-bit) gie troch Windows-op-Windows), wêrtroch jo 32-bit kinne útfiere Windows- applikaasjes op 64-bit Unix-systemen. Alle modules dy't tagong krije ta Unix-bibleteken brûke WoW64-systeemoprop-oersetters (thunks), wêrtroch 32-bit modules yn PE-formaat tagong krije ta 64-bit Unix-bibleteken.

    De nije WoW64-lansearmodus is ferbettere, wêrtroch 32-bit koade binnen in 64-bit proses kin rinne (yn 'e âlde WoW64-modus rûnen 32-bit applikaasjes yn 32-bit Unix-prosessen). Stipe foar it brûken fan 'e nije WoW64-modus op it platfoarm is tafoege. macOSOmdat de nije WoW64-modus wat lytse bugs hat, lykas in gebrek oan 16-bit stipe en fermindere OpenGL-prestaasjes fanwegen it gebrek oan stipe foar de ARB_buffer_storage-útwreiding, is it noch net standert ynskeakele en fereasket it bouwen mei de opsje "--enable-archs=i386,x86_64" yn it konfiguraasjeskript.

  • De mooglikheid tafoege om besteande útfierbere bestannen út te fieren Windows Op systemen mei de ARM64-arsjitektuer kin Wine no boud wurde foar de ARM64EC (ARM64 Emulation Compatible) ABI, en ARM64EC-modules kinne laden wurde. Dizze modules wurde brûkt om it portearjen fan applikaasjes dy't oarspronklik skreaun binne foar de x86_64-arsjitektuer nei ARM64-systemen te ferienfâldigjen troch de útfiering fan yndividuele x86_64-koademodules yn 'e ARM64-omjouwing mei in emulator mooglik te meitsjen. Stipe is tafoege foar it ARM64X PE-bestânsformaat, wêrtroch ien útfierber bestân laden wurde kin yn sawol x64/Arm64EC- as ARM64-prosessen. In ynterface foar it emulearjen fan 32-bit x86-systemen is ymplementearre, mar de emulatorbibleteek is noch net opnommen yn 'e haaddistribúsje fan Wine (de eksterne FEX-emulator kin brûkt wurde om x86-koade út te fieren yn 'e ARM64-omjouwing).
  • Graphics subsysteem
    • De PostScript-stjoerprogramma is opnij ûntworpen om spoolbestannen yn it formaat te stypjen Windows, dy't gegevens oer printtaken opslaan. Direkte oprop nei it stjoerprogramma fanút de Unix-omjouwing binne útsletten.
    • Stipe foar tsjustere modus is tafoege oan WinRT-tema's. In ynstelling is tafoege oan WineCfg om donkere ynterface-ûntwerp yn te skeakeljen.
    • De stjoerprogramma foar de Vulkan graphics API hat stipe tafoege foar de Vulkan 1.3.272-spesifikaasje (8.0 waard stipe yn Wine 1.3.237).
    • De funksjes fan 'e GdiPlus-bibleteek binne optimalisearre, wêrtroch't ferhege grafyske prestaasjes mooglik binne.
  • Direkte 3D
    • Parsing fan in multi-threaded kommando stream wurdt ophâlden as der gjin rendering kommando wurdt ferwurke, dat makket it mooglik ferminderjen enerzjy konsumpsje nei it nivo fan single-threaded ferwurking by it útfieren fan programma's dy't net besette de hiele kommando stream bânbreedte.
    • Direct3D 10 omfettet stipe foar ekstra effekten.
    • Makke prestaasjesoptimalisaasjes oan 'e WineD3D-koade en backend mei de Vulkan graphics API.
    • De Vulkan API-basearre rendering-koade kontrolearret no hokker mooglikheden it apparaat stipet en fertelt de applikaasje hokker nivo fan Direct3D-funksjonaliteit beskikber is.
    • De funksjes D3DXFillTextureTX en D3DXFillCubeTextureTX binne ymplementearre.
    • De klassike OpenGL ARB-shader-backend hat stipe tafoege foar it definiearjen fan skaden mei de tafoeging ARB_fragment_program_shadow.
    • D3DXLoadMeshHierarchyFromX en ferlykbere funksjes hawwe stipe tafoege foar it laden fan brûkersgegevens mei de ID3DXLoadUserData-ynterface.
  • Lûd en fideo
    • In earste ymplemintaasje fan 'e DirectMusic API is foarsteld. Stipe tafoege foar kolleksjes, ynstruminten en lûdsamples yn it SoundFont-formaat. Stipe tafoege foar it Doppler-effekt. Tests binne ymplementearre om de juste ymplemintaasje te ferifiearjen by it operearjen fan de dmime sequencer en de dmsynth MIDI synthesizer.
    • De FluidSynth-bibleteek is ynboud yn de DirectMusic API foar gebrûk.
    • Ymplementearre stipe foar it laden fan lûdslettertypen (SoundFont - formaten foar sample-basearre synteze brûkt om MIDI-bestannen ôf te spyljen) yn 'e DLS1- en DLS2-formaten, lykas yn it SF2-formaat brûkt yn Linux.
    • De mooglikheid tafoege om MIDI-ynhâld te spyljen mei de dmsynth-bibleteek, mei de FluidSynth-softwaresynthesizer en de DirectSound API foar audioútfier.
    • In dekoder tafoege foar fideo yn it Indeo IV50 fideokodekformaat.
  • Direksjeshow
    • De DMO (DirectX Media Object) komponint mei in WMV-formaat dekoder is ymplementearre (Windows Mediafideo).
    • In audio capture filter tafoege (DirectShow Audio Capture Filter).
    • Neist audiostreamen stipet de MPEG-1 Stream Splitter (DirectShow MPEG-1 Stream Splitter) no fideostreams en tsjinststreamen.
    • In filter foar it dekodearjen fan fideo yn MPEG-1-formaat (DirectShow MPEG-1 Video Decoder) is ymplementearre.
  • Ynput-apparaten
    • DirectInput stipet aksjemapping, wêrtroch jo knoppen op in spultsje-controller kinne bine oan spesifike aksjes yn spultsjes.
  • Desktop yntegraasje
    • Bindingen binne eksportearre nei de wichtichste brûkersomjouwing, wêrtroch applikaasjes dy't rinne ûnder Wine wurde neamd as protokol-hanteerders by it iepenjen fan in URL (bygelyks it starten fan spotify.exe by it iepenjen fan keppelings lykas "spotify: brûker: spotify: playlist: 848218482355482821").
    • Implementearre de ekstraksje fan EDID (Extended Display Identification Data) gegevens mei ynformaasje oer de parameters fan 'e ferbûne monitor, lykas de namme en model fan it apparaat.
    • It is mooglik om in buroblêdfinster te sluten ynset yn folslein skermmodus mei de knop "Bureaublad ôfslute" yn it menu "Start".
  • Ynternasjonalisaasje
    • Stipe foar IME's (Input Method Editors) is útwreide. Der is wurk dien om kompatibiliteit mei native technologyen te garandearjen. Windows IME-ymplemintaasjes en ferbettere yntegraasje mei Linux EMI
    • Generaasje fan locale databases yn locale.nls formaat út de Unicode CLDR (Unicode Common Locale Data Repository) databank ferzje 44 Stipe foar ekstra locales bew-ID, blo-BJ, csw-CA, ie-EE, mic-CA. , prg-PL is tafoege , skr-PK, tyv-RU, vmw-MZ, xnr-IN en za-CN.
    • De ynterface is oerset yn it Georgysk. Folsleine oersettings wurde levere foar 16 talen, en dieloersettingen foar 31 talen.
    • Unicode-karaktertabellen binne bywurke nei standertferzje 15.1.0. De tiidsône databank is bywurke.
  • Kernel (kernel-ynterfaces Windows)
    • As de útjûne ferzje Windows standert definiearre Windows 10.
    • Foar útfierbere bestannen yn it PE-formaat wurdt stipe foar randomisaasje fan adresromte (ASLR) ymplementearre, mar de adressen foar it laden fan koade yn it ûnthâld binne noch net folslein willekeurich.
    • Stipe foar in swak fragmintele heap (LFH, Low Fragmentation Heap) is ymplementearre, wat de prestaasjes fan ûnthâld tawizing operaasjes hat ferhege.
    • Stipe foar ûnthâldreservaasje (plakhâlder) is tafoege oan it tawizingsmeganisme foar firtuele ûnthâld, wêrtroch in applikaasje in spesifyk gebiet fan firtuele ûnthâld kin reservearje foar takomstich gebrûk.
    • 64-bit loaders (loader en preloader) fan útfierbere bestannen en bibleteken wurde kompilearre yn it PIE-formaat (Position-Independent Executables) om in diel fan 'e 32-bit adresromte frij te meitsjen.
    • Korrekte stapelûntwikkeling wurdt foarsjoen foar NT-systeemoproppen en callback-oproppen fan brûkers.
  • Netwurkfunksjes
    • De MSHTML-motor stipet de "Cycle Collection" garbage collection meganisme.
    • MSHTML hat stipe tafoege foar syngroane ferwurking fan XMLHttpRequest-oanfragen.
    • jscript.dll foeget stipe ta foar in WeakMap-objekt om te wurkjen mei in kolleksje fan kaai- / weardepearen wêryn't de kaai in foarwerp is dat in willekeurige wearde oan kin hawwe. Implementearre WeakMap.get(), WeakMap.delete(), WeakMap.clear() en WeakMap.has() metoaden.
    • De Gecko-blêdermotor is bywurke nei ferzje 2.47.4.
    • Stipe foar notifikaasjes oer feroaringen yn 'e steat fan' e netwurkynterface is ymplementearre.
  • Kryptografy en feiligens
    • Stipe foar smart cards is tafoege oan de Winscard.dll bibleteek, ymplemintearre fia de PCSClite systeem bibleteek.
    • BCrypt hat stipe tafoege foar it Diffie-Hellman-kaai-útwikselprotokol.
    • It ûnderhannelingspakket is ymplementearre, en biedt in laach foar it brûken fan de SSPI (Security Support Provider Interface) ynterface om tagong te krijen ta SSP (Security Support Provider) providers.
  • Ynsletten applikaasjes
    • De Wine Debugger (winedbg) brûkt de Zydis-bibleteek om X86-masine-ynstruksjes te disassemble.
    • De WineCfg-ynterface is bywurke om âldere ferzjes op 64-bit platfoarms te stypjen. Windows (foar XP), wêrtroch jo âlde applikaasjes kinne útfiere mei WoW64-modus.
    • Alle ynboude grafyske applikaasjes litte no flaterynformaasje sjen yn in apart dialoochfinster, ynstee fan se yn 'e konsole wer te jaan.
    • It programma systeminfo jout werjefte fan ynformaasje út de WMI-database (Windows Bestjoersynstruminten).
    • Klistapplikaasje tafoege om Kerberos-kaarten te werjaan.
    • De taskkill-applikaasje ymplementearret de mooglikheid om bernprosessen mei krêft te beëinigjen.
    • Opsje "/ machine" tafoege oan it startprogramma om de arsjitektuer te selektearjen dy't brûkt wurdt by it útfieren fan hybride útfierbere bestannen dy't x86 en ARM stypje.
    • De measte fan 'e funksjonaliteit fan it taaklistprogramma is ymplementearre.
    • In basis ymplemintaasje tafoege fan 'e findstr-applikaasje.
  • Untwikkelingsark
    • It WineDump-hulpprogramma hat de mooglikheid om de ynhâld fan registerbestannen wer te jaan. Windows (REGF-formaat), en ek it werjaan fan gegevens foar alle arsjitektueren (x86/ARM64) dy't stipe wurde yn hybride PE-bestannen.
    • De IDL-kompiler hat stipe tafoege foar de "composable", "default_overload", "deprecated" en "protected" attributen.
    • Fuortsmite libwine.so, dat waard ôfret yn Wine 6.0 en is lang net mear brûkt yn Wine. Programma's yn ELF-formaat boud yn âldere ferzjes fan Wine (5.0 en âlder) mei libwine.so fereaskje werbou om te rinnen yn Wine 9.0.
  • Ynboude biblioteken en eksterne ôfhinklikens
    • De biblioteken FluidSynth 2.3.3, Musl 1.2.3 (allinich wiskundige funksjes) en Zydis 4.0.0 binne yntegreare yn it pakket.
    • Komponinten 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, LibXslt nij nei ferzje west De Wine Mono-motor mei de ymplemintaasje fan it .NET-platfoarm is bywurke om 1.3 frij te litten.
    • De bestjoerder winewayland.drv brûkt de Wayland-kliïntbibleteek as eksterne ôfhinklikens, lykas de xkbcommon en xkbregistry bibleteken.
    • Om smartcards te stypjen, wurdt de eksterne PCSClite-bibleteek brûkt (yn macOS — PCSC).
    • It bouwen fan PE-bestannen op net-i386-platfoarms fereasket no in cross-compiler mei stipe foar ".seh"-rjochtlinen om útsûnderings te behanneljen.

Boarne: opennet.ru

Keapje betroubere hosting foar siden mei DDoS-beskerming, VPS VDS-tsjinners 🔥 Keapje betroubere websidehosting mei DDoS-beskerming, VPS VDS-tsjinners | ProHoster