Wine 9.0 bertsio egonkorra

Urtebeteko garapena eta 26 bertsio esperimentalaren ondoren, Win32 APIaren inplementazio irekiaren bertsio egonkor bat aurkeztu zen - Wine 9.0, 7000 aldaketa baino gehiago sartu zituena. Bertsio berriaren lorpen nagusiak honako hauek dira: WoW64 arkitektura inplementatzea 32 biteko programak 64 biteko ingurunean exekutatzeko, gidariaren integrazioa Wayland-i laguntzeko, ARM64 arkitekturarako euskarria, DirectMusic APIaren ezarpena eta txartel adimendunen laguntza.

Wine-k 5336 (duela urtebete 5266, duela bi urte 5156, duela hiru urte 5049) programa Windows-erako, beste 4397 (duela urtebete 4370, duela bi urte 4312, duela hiru urte 4227) programak primeran funtzionatzen dute. ezarpen osagarriak eta kanpoko DLL. 3943 programek (duela urtebete 3888, duela bi urte 3813, hiru urte 3703) arazo txikiak dituzte funtzionamenduan, aplikazioen funtzio nagusien erabilera oztopatzen ez dutenak.

Wine 9.0ko berrikuntza nagusiak:

  • Winewayland.drv kontrolatzailea gehitu da, Wine Wayland protokoloan oinarritutako inguruneetan erabiltzeko XWayland eta X11 osagaiak erabili gabe. Garapena Wayland ingurune hutsa eskaintzea du helburu, X11-ekin erlazionatutako paketeen instalazioa behar ez duten Windows aplikazioak exekutatzeko euskarria duena, eta horrek jokoen errendimendu eta sentikortasun handiagoa ahalbidetzen du, beharrezkoak ez diren geruzak ezabatuz. Wine-rako Wayland ingurune hutsa erabiltzeak X11-ren berezko segurtasun-arazoak ere ezabatzen ditu (adibidez, fidagarriak ez diren X11 jokoek beste aplikazio batzuk espioi ditzakete, X11 protokoloak sarrerako gertaera guztietarako sarbidea eta tekla sakatu faltsuak ordezkatzeko aukera ematen baitu).

    Gidaria esperimental gisa markatuta dago eta garatzen ari da, baina, hala ere, funtzio askotarako onartzen du dagoeneko, hala nola leihoen kudeaketa, monitore anitzekin lan egitea, pixel dentsitate handiko (DPI handiko) pantailetan irteera eskalatzeko laguntza, erlatiboekin lan egitea. koordenatuak saguaren mugimendua jarraitzean eta Vulkan grafikoen APIrako laguntza. Lehenespenez, kontrolatzailea ez dago aktibo eta gaitzeko "wayland" gehitu beharko zenuke "HKCU\Software\Wine\Drivers" erregistroko parametroan eta ziurtatu DISPLAY ingurune-aldagaia ez dagoela ezarrita: wine reg.exe add HKCU\ \Software\\Wine\\Drivers /v Graphics /d x11,wayland

  • Modulu guztiak NT sistema-deien interfazera bihurtu dira, PE eta Unix geruzen artean deiak zuzenak egin beharrean, DLL guztiak PE (Exekutagarri eramangarria) fitxategi exekutagarri formatua erabiltzeko urte askotako lana amaitu dela adieraziz.
  • Jarraitu egin da WoW64 geruzaren garapenak (64 biteko Windows-on-Windows), 32 biteko Windows aplikazioak 64 biteko Unix sistemetan exekutatzeko aukera ematen duena. Unix liburutegietara sartzen diren modulu guztiek WoW64 sistema-deiak erabiltzen dituzte 32 biteko PE formatuko moduluek 64 biteko Unix liburutegietara sartzeko.

    WoW64 abiarazteko modu berria hobetu da, 32 biteko kodea 64 biteko prozesu baten barruan exekutatzen duena (WoW64 modu zaharrean, 32 biteko aplikazioak 32 biteko Unix prozesuetan exekutatzen ziren). WoW64 modu berria erabiltzeko laguntza gehitu da macOS plataforman. WoW64 modu berriak gabezia batzuk dituenez, hala nola, 16 biteko modurako euskarria eza eta OpenGL errendimendua murriztea ARB_buffer_storage luzapenaren laguntza faltagatik, oraindik ez dago lehenespenez gaituta eta "-enable-" aukerarekin eraiki behar da. archs=i386,x86_64" " konfigurazio scriptean.

  • Lehendik dauden Windows exekutagarriak ARM64 arkitektura sistemetan exekutatzeko gaitasuna gehitu da. ARM64EC ABIrako Wine eraikitzeko gaitasuna (ARM64 Emulation Compatible) eta ARM64EC moduluak kargatzeko euskarria inplementatu da, jatorriz x64_86 arkitekturarako idatzitako aplikazioak ARM64 sistemetara eramatea errazteko erabiltzen da, x64_86-rekin modulu indibidualak exekutatzeko gaitasuna eskainiz. kodea ARM64 ingurunean emuladore bat erabiliz. ARM64X PE fitxategi-formatuaren euskarria gehitu da, fitxategi exekutagarri bakarra kargatzeko aukera ematen duena x64/Arm64EC eta ARM64 prozesuetan. 32 biteko x86 sistemak emulatzeko interfaze bat ezarri da, baina emuladorea duen liburutegia oraindik ez dago Wine pakete nagusian (kanpoko FEX emuladorea erabil dezakezu x86 kodea ARM64 ingurunean exekutatzeko).
  • Grafikoen azpisistema
    • PostScript kontrolatzailea berriro diseinatu da inprimatze-lanei buruzko datuak gordetzen dituzten Windows formatuko spool fitxategiak onartzeko. Gidariaren zuzeneko deiak Unix ingurunetik kanpo geratzen dira.
    • Modu iluneko laguntza gehitu zaie WinRT gaiei. WineCfg-ri ezarpen bat gehitu zaio interfaze iluna diseinatzeko.
    • Vulkan grafikoen APIaren kontrolatzaileak Vulkan 1.3.272 zehaztapenerako laguntza gehitu du (8.0 Wine 1.3.237-n onartzen zen).
    • GdiPlus liburutegiaren funtzioak optimizatu egin dira, grafikoen errendimendua areagotu ahal izateko.
  • Direct3D
    • Hari anitzeko komando-korronte baten analisia eten egiten da errendatze-komandorik prozesatzen ez denean, eta horri esker, energia-kontsumoa hari bakarreko prozesamendu mailara murrizten da komando-korrontearen banda-zabalera osoa okupatzen ez duten programak exekutatzen direnean.
    • Direct3D 10-k efektu gehigarrietarako laguntza eskaintzen du.
    • Errendimendu optimizazioak WineD3D kodean eta backend-ean egin ditu Vulkan grafikoen APIa erabiliz.
    • Vulkan APIan oinarritutako errendatze-kodeak orain gailuak onartzen dituen gaitasunak egiaztatzen ditu eta aplikazioari esaten dio zein maila duen Direct3D funtzionalitate erabilgarri dagoen.
    • D3DXFillTextureTX eta D3DXFillCubeTextureTX funtzioak ezarri dira.
    • OpenGL ARB itzalgailuaren backend klasikoak itzalak definitzeko laguntza gehitu du ARB_fragment_program_shadow luzapena erabiliz.
    • D3DXLoadMeshHierarchyFromX eta antzeko funtzioek erabiltzailearen datuak kargatzeko laguntza gehitu dute ID3DXLoadUserData interfazea erabiliz.
  • Soinua eta bideoa
    • DirectMusic APIaren hasierako inplementazioa proposatu da. SoundFont formatuan bildumetarako, instrumentuetarako eta soinu-laginetarako euskarria gehitu da. Doppler efekturako euskarria gehitu da. Dmime sekuentziatzailea eta dmsynth MIDI sintetizadorea funtzionatzerakoan inplementazio zuzena egiaztatzeko probak ezarri dira.
    • FluidSynth liburutegia DirectMusic APIan eraikita dago erabiltzeko.
    • Soinu-tipoak kargatzeko (SoundFont - MIDI fitxategiak erreproduzitzeko erabiltzen diren laginetan oinarritutako sintesi-formatuak) DLS1 eta DLS2 formatuetan, baita Linuxen erabiltzen den SF2 formatuan ere, inplementatu da.
    • Dmsynth liburutegia erabiliz MIDI edukia erreproduzitzeko gaitasuna gehitu da, FluidSynth software sintetizadorea eta DirectSound APIa audio irteerarako.
    • Bideorako deskodetzaile bat gehitu da Indeo IV50 bideo-kodeka formatuan.
  • DirectShow
    • WMV (Windows Media Video) formatuko deskodetzailea duen DMO (DirectX Media Object) osagai bat ezarri da.
    • Audioa harrapatzeko iragazkia gehitu da (DirectShow Audio Capture Filter).
    • Audio-korronteez gain, MPEG-1 Stream Splitter (DirectShow MPEG-1 Stream Splitter) bideo-korronteak eta zerbitzu-korronteak onartzen ditu orain.
    • MPEG-1 formatuan (DirectShow MPEG-1 Video Decoder) bideoa deskodetzeko iragazki bat ezarri da.
  • Sarrerako gailuak
    • DirectInput-ek ekintzen mapak onartzen ditu, eta horri esker, jokoaren kontrolagailuko botoiak jokoetako ekintza zehatzekin lotu ditzakezu.
  • Mahaigaineko integrazioa
    • Loturak erabiltzaile-ingurune nagusira esportatu dira, Wine-n exekutatzen diren aplikazioei URL bat irekitzean protokolo-kudeatzaile gisa deitzeko aukera emanez (adibidez, spotify.exe abiarazi "spotify:user:spotify:playlist:848218482355482821" bezalako estekak irekitzean).
    • EDID (Extended Display Identification Data) datuen erauzketa inplementatu du konektatutako monitorearen parametroei buruzko informazioarekin, hala nola gailuaren izena eta modeloa.
    • Pantaila osoko moduan zabaldutako mahaigaineko leiho bat ixtea posible da "Hasi" menuko "Irten mahaigaina" botoia erabiliz.
  • Nazioartekotzea
    • IMErako (Input Method Editors) euskarria zabaldu da. Lan egin da jatorrizko Windows IME inplementazioekin bateragarritasuna ziurtatzeko eta Linux IMErekin integrazioa hobetzeko
    • Unicode CLDR (Unicode Common Locale Data Repository) 44. bertsioko datu-basetik locale.nls formatuan sortzeko tokiko datu-baseak eskaini dira. Bew-ID, blo-BJ, csw-CA, ie-EE, mic-CA lokal gehigarrietarako laguntza. , prg-PL gehitu da. , skr-PK, tyv-RU, vmw-MZ, xnr-IN eta za-CN.
    • Interfazea georgierara itzuli da. Itzulpen osoak 16 hizkuntzetarako eskaintzen dira, eta partzialak 31 hizkuntzetarako.
    • Unicode karaktere-taulak 15.1.0 bertsio estandarrera eguneratu dira. Ordu-eremuen datu-basea eguneratu da.
  • Kernel (Windows Kernel Interfazeak)
    • Jaulkitzen den Windows-en bertsio lehenetsia Windows 10 da.
    • PE formatuko fitxategi exekutagarrietarako, helbide-espazioaren ausazko banaketarako (ASLR) euskarria ezartzen da, baina kodea memorian kargatzeko helbideak ez daude oraindik guztiz ausazkoak.
    • Zatikatuta dagoen heap ahulean (LFH, Low Fragmentation Heap) euskarria ezarri da, eta horrek memoria esleitzeko eragiketen errendimendua areagotu du.
    • Memoria erreserbarako laguntza (leku-marka) memoria birtualeko esleipen mekanismoari gehitu zaio, aplikazio bati memoria birtualaren eremu zehatz bat gordetzeko aukera emanez gero erabiltzeko.
    • Fitxategi eta liburutegi exekutagarrien 64 biteko kargatzaileak (kargatzailea eta aurrekargatzailea) PIE (Position-Independent Executables) formatuan biltzen dira 32 biteko helbide-espazioaren zati bat askatzeko.
    • NT sistema-deietarako eta erabiltzaileen itzulera-deietarako pila desegiteko zuzena eskaintzen da.
  • Sareko ezaugarriak
    • MSHTML motorrak "Cycle Collection" zabor bilketa mekanismoa onartzen du.
    • MSHTML-k XMLHttpRequest eskaeren prozesamendu sinkronorako laguntza gehitu du.
    • jscript.dll-k WeakMap objektu baterako laguntza gehitzen du gako/balio bikoteen bilduma batekin lan egiteko, zeinetan gakoa balio arbitrario bat izan dezakeen objektu bat baita. WeakMap.get(), WeakMap.delete(), WeakMap.clear() eta WeakMap.has() metodoak inplementatu dira.
    • Gecko arakatzailearen motorra 2.47.4 bertsiora eguneratu da.
    • Sareko interfazearen egoera aldaketei buruzko jakinarazpenetarako laguntza ezarri da.
  • Kriptografia eta segurtasuna
    • Txartel adimendunen euskarria gehitu da Winscard.dll liburutegian, PCSClite sistemaren liburutegiaren bidez inplementatuta.
    • BCrypt-ek Diffie-Hellman gakoen truke protokoloaren laguntza gehitu du.
    • Negoziatu paketea inplementatu da, SSPI (Security Support Provider Interface) interfazea erabiltzeko geruza bat eskainiz SSP (Security Support Provider) hornitzaileetara sartzeko.
  • Aplikazio txertatuak
    • Wine Debugger-ek (winedbg) Zydis liburutegia erabiltzen du X86 makinaren argibideak desmuntatzeko.
    • WineCfg interfazeari Windows-en (aurre-XP) bertsio zaharragoak 64 biteko plataformetan erakusteko gaitasuna gehitu zaio, WoW64 modua erabiliz legatutako aplikazioak exekutatzeko aukera ematen duena.
    • Eraikitako aplikazio grafiko guztiek akatsen informazioa beste elkarrizketa-koadro batean erakusten dute orain, kontsolan erakutsi beharrean.
    • Systeminfo programak WMI (Windows Management Instrumentation) datu-baseko informazioa bistaratzen du.
    • Klist aplikazioa gehitu da Kerberos txartelak bistaratzeko.
    • Taskkill aplikazioak haur-prozesuak indarrez amaitzeko gaitasuna ezartzen du.
    • "/machine" aukera gehitu zaio hasierako utilitateari x86 eta ARM onartzen duten exekutagarri hibridoak exekutatzen direnean erabilitako arkitektura hautatzeko.
    • Ataza-zerrenda programaren funtzionalitate gehienak inplementatu dira.
    • Findstr aplikazioaren oinarrizko inplementazioa gehitu da.
  • Garapen tresnak
    • WineDump utilitateak Windows erregistroko fitxategien edukia (REGF formatuan) bistaratzeko aukera eskaintzen du, baita PE fitxategi hibridoetan onartzen diren arkitektura guztien (x86/ARM64) datuak bistaratzeko ere.
    • IDL konpilatzaileak "composable", "default_overload", "deprecated" eta "protected" atributuetarako laguntza gehitu du.
    • Kendu libwine.so, Wine 6.0-n zaharkituta zegoen eta aspaldi ez zen Wine-n erabiltzen. Wine-ren bertsio zaharragoetan (5.0 eta zaharragoetan) libwine.so-rekin eraikitako ELF formatuko programek berreraiki behar dute Wine 9.0-n exekutatzeko.
  • Liburutegi integratuak eta kanpoko menpekotasunak
    • FluidSynth 2.3.3, Musl 1.2.3 (funtzio matematikoak soilik) eta Zydis 4.0.0 liburutegiak paketean integratuta daude.
    • Osagaiak vkd3d 1.10, FAUDIO 23.12, Openldap 2.5.16, LCMS2 2.15, LIBMPG123 1.32.2, libpng 1.6.40, libxml4.6.0 2, libxslt 2.11.5 eta zlib 1.1.38 bertsio berrietara eguneratu dira. Wine Mono motorra .NET plataformaren ezarpenarekin eguneratu da 1.3 kaleratzeko.
    • Winwayland.drv gidariak Wayland bezeroaren liburutegia erabiltzen du kanpoko mendekotasun gisa, baita xkbcommon eta xkbregistry liburutegiak ere.
    • Txartel adimendunak onartzeko, PCSClite kanpoko liburutegia erabiltzen da (macOS-en - PCSC).
    • PE fitxategiak i386 ez diren plataformetan eraikitzeak orain ".seh" zuzentarauetarako laguntza duen konpilatzaile gurutzatua behar du salbuespenak kudeatzeko.

Iturria: opennet.ru

Gehitu iruzkin berria