Stabila eldono de Wine 9.0

Post jaro da evoluo kaj 26 eksperimentaj versioj, stabila eldono de la malferma efektivigo de la Win32 API estis prezentita - Wine 9.0, kiu korpigis pli ol 7000 ŝanĝojn. La ĉefaj atingoj en la nova versio inkluzivas la efektivigon de la arkitekturo WoW64 por ruli 32-bitajn programojn en 64-bita medio, ŝoforintegriĝon por subteni Wayland, subtenon por la arkitekturo ARM64, efektivigon de la DirectMusic API kaj subtenon por inteligentaj kartoj.

5336 (5266 antaŭ unu jaro, 5156 antaŭ du jaroj, 5049 antaŭ tri jaroj) programoj estas konfirmitaj funkcii ĝuste en Wine. WindowsPliaj 4 397 programoj (4 370 antaŭ unu jaro, 4 312 antaŭ du jaroj, 4 227 antaŭ tri jaroj) funkcias bone kun aldonaj agordoj kaj eksteraj DLL-oj. 3 943 programoj (3 888 antaŭ unu jaro, 3 813 antaŭ du jaroj, 3 703 antaŭ tri jaroj) havas negravajn problemojn, kiuj ne malhelpas la bazan funkciadon de la aplikaĵoj.

Ŝlosilaj novigoj en Wine 9.0:

  • La pelilo winewayland.drv estis aldonita, permesante uzi Wine en Wayland-bazitaj medioj sen la uzo de XWayland aŭ X11-komponantoj. Ĉi tiu evoluigo celas provizi puran Wayland-medion kun lanĉsubteno. Windows- aplikaĵoj kiuj ne postulas instaladon de X11-rilataj pakaĵoj, kio ebligas pli altan rendimenton kaj respondemon en ludoj per eliminado de nenecesaj tavoloj. Uzi puran Wayland-medion por Wine ankaŭ forigas sekurecajn problemojn enecajn al X11 (ekzemple, nefidindaj X11-ludoj povas spioni aliajn aplikaĵojn ĉar la X11-protokolo permesas aliron al ĉiuj enigaj eventoj kaj plenumi klavopremo-anstataŭigon).

    La ŝoforo estas markita kiel eksperimenta kaj evoluinta, sed, tamen, ĝi jam havas subtenon por multaj funkcioj, kiel fenestra administrado, laborado kun multoblaj monitoroj, subteno por skaligo de eligo sur ekranoj kun altpikselaj denseco (alt-DPI), laborado kun relativaj koordinatoj dum spurado de musmovo kaj subteno por la Vulkan-grafika API. Defaŭlte, la ŝoforo ne estas aktiva kaj por ebligi ĝin vi devus aldoni "wayland" al la registra parametro "HKCU\Software\Wine\Drivers" kaj certigi, ke la DISPLAY mediovariablo ne estas agordita: wine reg.exe add HKCU\ \Software\\Wine\\Drivers /v Graphics /d x11,wayland

  • Ĉiuj moduloj estis konvertitaj al la NT-sistemvoko-interfaco, prefere ol fari rektajn vokojn inter la PE kaj Unikso-similaj tavoloj, markante la kompletigon de multaj jaroj da laboro por konverti ĉiujn DLL-ojn por uzi la PE (Portable Executable) ruligebla dosierformato.
  • La disvolviĝo de la WoW64-tavolo (64-bita) daŭris Windows-sur-Windows), kiu permesas al vi funkciigi 32-bitan Windows- aplikaĵoj sur 64-bitaj Uniksaj sistemoj. Ĉiuj moduloj alirantaj Uniksajn bibliotekojn uzas WoW64 sistemvoktradukilojn (thunk), permesante al 32-bitaj moduloj en PE-formato aliri 64-bitajn Uniksajn bibliotekojn.

    La nova lanĉreĝimo de WoW64 estis plibonigita, permesante al 32-bita kodo funkcii ene de 64-bita procezo (en la malnova WoW64-reĝimo, 32-bitaj aplikaĵoj funkciis en 32-bitaj Uniksaj procezoj). Subteno por uzi la novan WoW64-reĝimon sur la platformo estis aldonita. macOSĈar la nova reĝimo de WoW64 havas kelkajn malgrandajn cimojn, kiel ekzemple mankon de 16-bita subteno kaj reduktitan OpenGL-rendimenton pro la manko de subteno por la kromprogramo ARB_buffer_storage, ĝi ankoraŭ ne estas ebligita defaŭlte kaj postulas konstruadon per la opcio "--enable-archs=i386,x86_64" en la agorda skripto.

  • Aldonis la kapablon efektivigi ekzistantajn efektivigeblajn dosierojn Windows En sistemoj kun la arkitekturo ARM64. Wine nun povas esti kompilita por la ARM64EC (ARM64 Emulation Compatible) ABI, kaj ARM64EC-moduloj povas esti ŝargitaj. Ĉi tiuj moduloj estas uzataj por simpligi la portadon de aplikaĵoj origine skribitaj por la x86_64-arkitekturo al ARM64-sistemoj per ebligado de la plenumo de individuaj x86_64-kodmoduloj en la ARM64-medio uzante emulilon. Subteno estis aldonita por la dosierformato ARM64X PE, kiu permesas la ŝargon de ununura efektivigebla dosiero en kaj x64/Arm64EC kaj ARM64-procezoj. Interfaco por emuli 32-bitajn x86-sistemojn estis efektivigita, sed la emulila biblioteko ankoraŭ ne estas inkluzivita en la ĉefa Wine-distribuo (la ekstera FEX-emulilo povas esti uzata por ruli x86-kodon en la ARM64-medio).
  • Subsistemo de grafikaĵoj
    • La PostScript-pelilo estis restrukturita por subteni spool-dosierojn en la formato Windows, kiuj konservas datumojn pri preslaboroj. Rektaj vokoj al la pelilo el la Uniksa medio estas ekskluditaj.
    • Malhelreĝima subteno estis aldonita al WinRT-temoj. Agordo estis aldonita al WineCfg por ebligi malhelan interfacon desegnon.
    • La ŝoforo por la Vulkan-grafika API aldonis subtenon por la specifo Vulkan 1.3.272 (8.0 estis subtenata en Wine 1.3.237).
    • La funkcioj de la biblioteko GdiPlus estis optimumigitaj, permesante pliigitan grafikan rendimenton.
  • Rekta3D
    • Analizado de plurfadena komandrivereto estas nuligita kiam ekzistas neniuj bildkomandoj estantaj prilaboritaj, kio permesas redukti energikonsumon al la nivelo de unu-fadena pretigo dum efektivigado de programoj kiuj ne okupas la tutan komandrivereton bendolarĝon.
    • Direct3D 10 inkluzivas subtenon por pliaj efikoj.
    • Faris rendimentooptimumigojn al la kodo kaj backend WineD3D uzante la grafikan API de Vulkan.
    • La bildiga kodo bazita en Vulkan API nun kontrolas kiajn kapablojn la aparato subtenas kaj diras al la aplikaĵo, kian nivelon de Direct3D-funkcio estas disponebla.
    • La funkcioj D3DXFillTextureTX kaj D3DXFillCubeTextureTX estis efektivigitaj.
    • La klasika OpenGL ARB-ombrila backend aldonis subtenon por difinado de ombroj uzante la etendon ARB_fragment_program_shadow.
    • D3DXLoadMeshHierarchyFromX kaj similaj funkcioj aldonis subtenon por ŝarĝado de uzantdatenoj uzante la ID3DXLoadUserData-interfacon.
  • Sono kaj video
    • Komenca efektivigo de la DirectMusic API estis proponita. Aldonita subteno por kolektoj, instrumentoj kaj sonspecimenoj en la formato SoundFont. Aldonita subteno por la Doppler-efiko. Testoj estis efektivigitaj por kontroli la ĝustan efektivigon dum funkciigado de la dmime-sekvencilo kaj la dmsynth MIDI-sintezilo.
    • La FluidSynth-biblioteko estas konstruita en la DirectMusic API por uzo.
    • Implementita subteno por ŝargado de sontiparoj (SoundFont - formatoj por specimen-bazita sintezo uzata por ludi MIDI-dosierojn) en la formatoj DLS1 kaj DLS2, kaj ankaŭ en la formato SF2 uzata en Linux.
    • Aldonis la kapablon ludi MIDI-enhavon uzante la dmsynth-bibliotekon, uzante la softvarsintezilon FluidSynth kaj la DirectSound API por audioproduktado.
    • Aldonis malĉifrilon por video en la videokodeka formato Indeo IV50.
  • Rekta Spektaklo
    • La komponanto DMO (DirectX Media Object) kun WMV-formata malĉifrilo estis efektivigita (Windows Amaskomunikila Video).
    • Aldonis filtrilon pri sonkaptado (DirectShow Audio Capture Filter).
    • Krom sonfluoj, la MPEG-1 Stream Splitter (DirectShow MPEG-1 Stream Splitter) nun subtenas videofluojn kaj servofluojn.
    • Filtrilo por malkodi video en MPEG-1 formato (DirectShow MPEG-1 Video Decoder) estis efektivigita.
  • Enigaj aparatoj
    • DirectInput subtenas agadmapadon, kiu permesas vin ligi butonojn sur ludregilo al specifaj agoj en ludoj.
  • Labortabla integriĝo
    • Ligiloj estis eksportitaj al la ĉefa uzantmedio, permesante al aplikoj kurantaj sub Wine esti nomitaj kiel protokoltraktiloj dum malfermado de URL (ekzemple, lanĉante spotify.exe dum malfermado de ligiloj kiel "spotify:user:spotify:playlist:848218482355482821").
    • Efektivigis la eltiron de datumoj de EDID (Plitendita Display Identification Data) kun informoj pri la parametroj de la konektita monitoro, kiel la nomo kaj modelo de la aparato.
    • Eblas fermi labortablan fenestron deplojitan en plenekrana reĝimo uzante la butonon "Eliri labortablon" en la menuo "Komenco".
  • Internaciigo
    • Subteno por IME-oj (Enigmetodo-Redaktiloj) estis plivastigita. Laboro estis farita por certigi kongruecon kun denaskaj Windows IME-efektivigoj kaj plibonigita integriĝo kun Linux EMI
    • Generacio de lokaj datumbazoj en formato locale.nls de la Unikoda CLDR (Unicode Common Locale Data Repository) versio 44-datumbazo estis disponigita Subteno por pliaj lokoj bew-ID, blo-BJ, csw-CA, t.e.-EE, mic-CA. , prg-PL estis aldonita , skr-PK, tyv-RU, vmw-MZ, xnr-IN kaj za-CN.
    • La interfaco estis tradukita en la kartvelan. Plenaj tradukoj estas provizitaj por 16 lingvoj, kaj partaj tradukoj por 31 lingvoj.
    • Unikodaj signotabeloj estis ĝisdatigitaj al norma versio 15.1.0. La horzona datumbazo estis ĝisdatigita.
  • Kerno (kernaj interfacoj Windows)
    • Kiel la eldonita versio Windows difinita defaŭlte Windows 10.
    • Por ruleblaj dosieroj en la PE-formato, subteno por adresspaca hazardigo (ASLR) estas efektivigita, sed la adresoj por ŝarĝi kodon en memoron ankoraŭ ne estas tute hazardaj.
    • Subteno por malforte fragmenta amaso (LFH, Low Fragmentation Heap) estis efektivigita, kiu pliigis la efikecon de memorasigno-operacioj.
    • Subteno por memorrezervado (loktenilo) estis aldonita al la virtuala memora asigno mekanismo, permesante al aplikaĵo rezervi specifan areon de virtuala memoro por estonta uzo.
    • 64-bitaj ŝargiloj (ŝargilo kaj antaŭŝargilo) de ruleblaj dosieroj kaj bibliotekoj estas kompilitaj en la formato PIE (Position-Independent Executables) por liberigi parton de la 32-bita adresspaco.
    • Ĝusta stakmalvolviĝo estas disponigita por NT-sistemvokoj kaj uzantrevokvokoj.
  • Retaj ecoj
    • La MSHTML-motoro subtenas la "Cycle Collection" rubokolektan mekanismon.
    • MSHTML aldonis subtenon por sinkrona prilaborado de XMLHttpRequest-petoj.
    • jscript.dll aldonas subtenon por WeakMap-objekto por labori kun kolekto de ŝlosilaj/valoraj paroj en kiuj la ŝlosilo estas objekto, kiu povas havi arbitran valoron ligita al ĝi. Implementitaj metodoj WeakMap.get(), WeakMap.delete(), WeakMap.clear() kaj WeakMap.has().
    • La retumilo Gecko estis ĝisdatigita al versio 2.47.4.
    • Subteno por sciigoj pri ŝanĝoj en la stato de la reto-interfaco estis efektivigita.
  • Kriptografio kaj Sekureco
    • Subteno por inteligentaj kartoj estis aldonita al la biblioteko Winscard.dll, efektivigita tra la PCSClite-sistembiblioteko.
    • BCrypt aldonis subtenon por la protokolo de interŝanĝo de ŝlosiloj Diffie-Hellman.
    • La Negotiate-pakaĵo estis efektivigita, disponigante tavolon por uzi la SSPI (Security Support Provider Interface) interfacon por aliri SSP (Security Support Provider) provizantojn.
  • Enkonstruitaj Aplikoj
    • La Wine Debugger (winedbg) uzas la Zydis-bibliotekon por malmunti X86 maŝininstrukciojn.
    • La interfaco de WineCfg estis ĝisdatigita por subteni pli malnovajn versiojn sur 64-bitaj platformoj. Windows (antaŭ XP), kiu permesas al vi ruligi heredaĵajn aplikaĵojn uzante WoW64-reĝimon.
    • Ĉiuj enkonstruitaj grafikaj aplikaĵoj nun montras erarajn informojn en aparta dialogo, anstataŭ montri ilin en la konzolo.
    • La programo systeminfo provizas montradon de informoj el la WMI-datumbazo (Windows Administrada Instrumentado).
    • Aldonita klist-apliko por montri biletojn Kerberos.
    • La taskkill-aplikaĵo efektivigas la kapablon perforte ĉesigi infanprocezojn.
    • Aldonita "/machine" opcio al la starta utileco por elekti la arkitekturon uzatan dum rulado de hibridaj ekzekutaĵoj kiuj subtenas x86 kaj ARM.
    • Plejparto de la funkcieco de la taskolistprogramo estis efektivigita.
    • Aldonita baza efektivigo de la aplikaĵo findstr.
  • Disvolvaj Iloj
    • La ilo WineDump havas la kapablon montri la enhavon de registrodosieroj. Windows (REGF-formato), kaj ankaŭ montras datumojn por ĉiuj arkitekturoj (x86/ARM64) subtenataj en hibridaj PE-dosieroj.
    • La IDL-kompililo aldonis subtenon por la atributoj "composable", "default_overload", "malrekomendita" kaj "protektitaj".
    • Forigita libwine.so, kiu estis malrekomendita en Wine 6.0 kaj longe ne plu estas uzata en Wine. Programoj en ELF-formato konstruitaj en pli malnovaj versioj de Wine (5.0 kaj pli malnovaj) kun libwine.so postulas rekonstruadon por funkcii en Wine 9.0.
  • Enkonstruitaj bibliotekoj kaj eksteraj dependecoj
    • La bibliotekoj FluidSynth 2.3.3, Musl 1.2.3 (nur matematikaj funkcioj) kaj Zydis 4.0.0 estas integritaj en la pakaĵon.
    • Komponantoj 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 estis ĝisdatigita al 1.1.38Xs1.3 kaj 8.1.0 Lib versio XNUMXXs . La Wine Mono-motoro kun la efektivigo de la platformo .NET estis ĝisdatigita por liberigi XNUMX.
    • La ŝoforo winewayland.drv uzas la klientbibliotekon de Wayland kiel eksterajn dependecojn, same kiel la bibliotekojn xkbcommon kaj xkbregistry.
    • Por subteni inteligentajn kartojn, la ekstera PCSClite-biblioteko estas uzata (en macOS — PCSC).
    • Konstrui PE-dosierojn sur ne-i386-platformoj nun postulas kruc-kompililon kun subteno por ".seh" direktivoj por trakti esceptojn.

fonto: opennet.ru

Aĉetu fidindan gastigadon por retejoj kun DDoS-protekto, VPS-VDS-serviloj 🔥 Aĉetu fidindan retejan gastigadon kun DDoS-protekto, VPS VDS-servilojn | ProHoster