Stabiilne Wine 10.0 väljaanne

Pärast aastast arendust ja 29 katseversiooni on välja antud Win32 API avatud teostuse stabiilne versioon – Wine 10.0, mis sisaldab rohkem kui 6000 muudatust. Uue versiooni märkimisväärsemate saavutuste hulka kuulub täielik ARM64EC arhitektuuri tugi, kõrge pikslitihedusega ekraanide skaleerimine, Waylandi draiveri vaikimisi aktiveerimine, ekraani ja mängupuldi seadistuspaneelide rakendamine, FFmpeg baasil oleva alternatiivse multimeedia taustsüsteemi rakendamine, Bluetooth draiver, Vulkan 1.4 tugi ja võimalus emuleerida videorežiimide vahetust.

Wine'is on täielikult toetatud 5372 Windowsi programmi (aasta tagasi 5336, kaks aastat tagasi 5266, kolm aastat tagasi 5156), veel 4435 programmi (aasta tagasi 4397, kaks aastat tagasi 4370, kolm aastat tagasi 4312) töötab hästi lisaseadistuste ja väliste DLL-idega. 4020 programmi (aasta tagasi 3943, kaks aastat tagasi 3888, kolm aastat tagasi 3813) töötab väikeste probleemidega, mis ei sega põhifunktsioonide kasutamist.

Wine 10.0 põhilised uuendused:

  • ARM64
    • Tagatud on täielik ARM64EC (ARM64 Emulation Compatible) arhitektuuri tugi, mille toetus Wine'is on jõudnud pariteeti ARM64 arhitektuuriga. ARM64EC arhitektuur on loodud selleks, et lihtsustada rakenduste portimist ARM64 süsteemidesse, mis on algselt kirjutatud x86_64 süsteemide jaoks, ja võimaldab ARM64 keskkonnas käitada eraldiseisvaid x86_64 koodiga mooduleid emulatori kaudu.
    • Täielikult on toetatud ARM64X PE-failide formaati, mis võimaldab ühes täidetavas failis kombineerida ARM64EC ja ARM64 arhitektuuride koodi. Wine'i koostamiseks ARM64X formaadis tuleb installida LLVM Git-ist (vajalik funktsionaalsus jõuab LLVM 20 väljaande osa) ja konfigureerimise skripti käivitamisel tuleb määrata valik —enable-archs=arm64ec,aarch64.
    • On ellu viidud liides x86 64-bitiste süsteemide emuleerimiseks. ARM64EC kasutamisel töötab Wine nii nagu on, samal ajal kui emulatsioon kehtib ainult x86-64 rakenduste koodi suhtes. Emulaatorikogu ei ole veel Wine'i põhikoosseisu lisatud, kuid x86-64 koodi käitamiseks ARM64 keskkonnas võib kasutada välist emulatorit FEX, mis on koostatud ARM64EC toe jaoks.
    • ARM64 toetamiseks on vajalik mälulehtede suurus 4KB, nagu nõuab Windows ABI (jooksmine keskkondades, kus Linuxi tuumad kasutavad 16K või 64K mälulehti, ei ole veel toetatud).
  • Graafikasüsteem
    • On rakendatud täpsem skaleerimine kõrge piksli tihedusega ekraanidel (High-DPI). Soodustatud on DPI Awareness režiimi tugi rakenduste kuvamiseks kõrge pikslitihedusega ekraanidel, arvestades, kas rakendus toetab DPI muutumisele kohandamist või mitte (rakendused, mis ei arvestanud DPI-d, skaleeritakse automaatselt). Toodud on valikud High-DPI toe üle määramiseks konkreetsetele rakendustele või Wine'i prefiksitele.
    • Vulkan API draiverisse on lisatud Vulkan 1.4 spetsifikatsiooni tugi (Wine 9.0-s toetati Vulkan 1.3.272). Täiendatud on Vulkan laiendite tugi video kodeerimiseks ja dekodeerimiseks.
    • X11 taustsüsteemi kasutamisel on rakendatud võimalus joonistada Vulkan tütaraken, mis on mõeldud rakendustele, mis kasutavad selliseid aknaid 3D-sisu kuvamiseks (varem oli selline võimalus saadaval ainult OpenGL-i jaoks).
    • GdiPlus teeki on lisatud toed fontide sidumise mehhanism ("Font Linking"), mis võimaldab teksti kuvamisel kasutada mitmeid fonte, kui eraldi fondid ei katab kõiki esinevaid sümboleid tekstis.
  • Wayland
    • Vaikesätetes on aktiveeritud draiver winewayland.drv, mis võimaldab kasutada Wine'i Waylandi protokolli baasil keskkondades ilma XWaylandi ja X11 koostisosadeta. Wine käivitab rakendusi vaikimisi otse Waylandis ainult siis, kui XWayland ei ole saadaval, vastasel juhul jääb XWaylandi kasutamine prioriteediks. Waylandi sundimiseks võib kasutada keskkonnamuutujat DISPLAY või lisada võtme registrisse, luues faili file.reg: Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\Wine\Drivers] "Graphics"="wayland" ja rakendada seda käsklusega: $ WINEPREFIX=/tee/prefixini wine regedit /tee/file.reg.
    • Draiverisse winewayland.drv on lisatud OpenGL ja pBufferite tugi.
    • Lahendatud on pop-up akende positsioneerimise probleemid Waylandi baasil keskkondades.
    • Waylandi kasutamisel on rakendatud tugi automaatseks kordamiseks klahvide pikaajalise hoidmise korral.
  • Töölauaga integreerimine
    • Käivitatud on eksperimentaalne "modesetting" emulatsiooni mehhanism, mis võimaldab emuleerida videorežiimide vahetust ilma ekraanisätete tegeliku muutmiseta. Ekraani resolutsiooni muutmise nähtavus ilma videorežiimi vahetamiseta luuakse akende suurenemise ja skaleerimise kaudu.
    • Lisatud on uus Desktop Control Panel (desk.cpl) rakendus, mis võimaldab hallata ekraani seadeid (näiteks saab muuta töölaua virtuaalset eraldusvõimet või konfigureerida simuleeritud ekraani parameetreid).
    • Lisatud on võimalus taastada ekraani seaded vaikeväärtustele, kui protsessi avariilisest lõpetamisest ei saa olekut taastada.
    • Lisatud on tugi ikoonide peitmiseks süsteemisalves ("HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" all tuleks seada "NoTrayItemsDisplay=1").
    • Lisatud on tugi tööpinnal shell launcherite keelamiseks ("HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" all tuleks seada "NoDesktop=1").
  • Direct3D
    • OpenGL-i kasutamiseks on nüüd nõutav GLSL 1.20 tugi, samuti laienduste EXT_framebuffer_object ja ARB_texture_non_power_of_two olemasolu. Vanem ARB shader ja OffscreenRenderingMode seaded on enam mitte toetatud.
    • Direct3D 9 ja vanemate versioonide jaoks on lisatud fikseeritud funktsioonide graafika konveier (vanemates Direct3D-is oli ainult eelnevalt määratletud graafilised toimingud, mida ei saanud muuta), teostatud HLSL shader keele abil ja võimaldades simuleerida fikseeritud funktsioone kuvamisel läbi Vulkan või OpenGL API.
    • Vulkan-i kasutamisel on aktiveeritud Vulkan laiendused, mis võimaldavad dünaamiliselt muuta graafika konveieri olekuid, vähendades mängude viivitusi.
    • Lisatud on alternatiivne glsl-vkd3d taust GLSL shaderite jaoks, mis kasutab vkd3d-shaderit.
    • Algne tugi Direct3D efektide kompileerimiseks, kasutades vkd3d-shaderit, on nüüd saadaval.
    • D3DX9 raamatukogus on rakendatud MIP-tekstuuri (MipMap) genereerimise võimalus, kui laaditakse ruumilisi tekstuure. Lisatud on 64bpp RGBA ja 48bpp RGB värvi esitlemise vormingute tugi PNG piltidele, samuti X8L8V8U8, A2W10V10U10, A8P8, V16U16 ja Q16W16V16U16 vormingute tugi.
  • Heli ja video
    • GStreamer alusel töötava tausta asemel on rakendatud uus multimeedia taust, mis põhineb FFmpeg'il ja on sobiv Media Foundation raamistiku tööks. Alternatiivse tausta aktiveerimiseks peaks registri sektsioonis "HKCU\Software\Wine\MediaFoundation" olema seatud "DisableGstByteStreamHandler=1".
    • API Media Foundation'i rakendust on parendatud, mis nüüd sobib paremini dekodeerimise ja demultipleximise komponentidest sõltuvate rakendustega.
    • API DirectMusic lisatud MIDI failide laadimise tugi.
  • Sisendi seadmed
    • Lisatud on algne Bluetooth draiver.
    • Lisatud on Joystick Control Panel (joy.cpl) rakendus, mis sisaldab seadistusi joystick'ile.
    • HID (Human Interface Device) protokolli kasutavate juhtimisseadmete (puuteplaadid, hiired) osas on tehtud parendusi. Lisatud on mouhid.sys draiver HID-seadmete jaoks. Teostatud on koostise sisendseadmete korrektne analüüs ja nende teabe edastamine Windows rakendustele nagu eraldi seadmed.
    • X11 tausta puhul on rakendatud puutetundlike ekraanide tugi ning võimalus kasutada multi-touch režiimi WM_POINTER* sõnumite töötlemise kaudu (WM_POINTERENTER, WM_POINTERLEAVE jne.).
    • Mõned user32 raamatukogu sisemised struktuurid on paigutatud jagatud mällu, mis on parandanud jõudlust ja vähendanud koormust Wine Server'ile.
    • winex11-s on lisatud XInput2 sündmuste töötlemise tugi eraldatud akende seos.
    • Dvoraki klaviatuuride korrektne tugi on nüüd rakendatud.
  • Kernel (Windowsi tuumliideste)
    • Lisatud on protsesside privileegide tõstmise tugi (tavalisese kasutaja all käivitatud protsessile võivad olla antud administraatori õigused). Serveri protsesside (msi action server) loomisel ja funktsioonide RtlCreateUserProcess() ja CreateProcessInternal() käivitamisel aktiveeritakse vaikimisi piiratud administraatori token.
    • Ketaste siltide teabe saamisel kasutatakse nüüd võimaluse korral süsteemiteenuseid DBus kaudu selle asemel, et proovida seadmele otsest juurde pääseda.
    • Monodirektsiooniline protsessidevaheline suhtlemise (IPC) Mailslots mehhanism on nüüd rakendatud otse Wine serveris, mis on võimaldanud saavutada täies ulatuses Windowsi semantika toetust.
    • Sarseeria porti sündmuste ootamine on nüüd rakendatud asünkroonse režiimiga.
    • XSTATE protsessorilaiendite täielik tugi on nüüd voogude kontekstdedes, võimaldades kasutada uusi vektori laiendeid, nagu AVX-512.
  • Sisseehitatud rakendused
    • Ka command interpreter cmd.exe-s on sisendite töötlemise mootori kirjutus ümber tehtud. cmd.exe-s on nüüd toetatud operatsioonid "||" ja "&&".
    • Utiliidi findstr on lisatud regulaaravaldiste ja mitte-tähepassiotsingu tugi.
    • Utiliitides regsvr32 ja rundll32 on lisatud ARM64EC moodulite registreerimise võimalus.
    • Lisatud utiliidid: sort sisendandmete sortimiseks, fc failide võrdlemiseks ja where failide otsimiseks.
    • Rakenduses wmic on rakendatud interaktiivne töörežiim.
    • Explorerisse on lisatud valikuline algmenüü ja tööriistariba tugi. Tagatud on explorer.exe käivitamine piiratud õigustega.
  • Arendustooted
    • winebuildis on lisatud valik "-marm64x" ARM64X hübriidraamatute genereerimiseks.
    • winegccis on lisatud valik "-marm64x", mis võimaldab koostada ARM64X jaoks.
    • IDL (Interface Definition Language) kirjelduskeelt kasutades genereeritud failides on kaasatud komponentide täielik tõlgenduse režiimi tugi.
    • IDL (Interface Definition Language) kirjelduskeele kompilaatorisse on lisatud tugi TypeLibide genereerimiseks vanas formaadis (SLTG).
    • winedump utiliiti on lisatud tugi minidump tabelite, C++ erandite ja typelib ressursside dumpide salvestamiseks.
  • Erinev
    • Parendatud on Diffie-Hellmani võtmevahetusprotokolli tuge. Lisatud on seadistamise ja DH parameetrite saamise võimalus. Rakendatud on töötlejad avalike ja privaatsete võtmete paari loomiseks.
    • Tagatud on OAEP (Optimal Asymmetric Encryption Padding) täiendava täienduse kasutamine RSA algoritmiga.
    • DirectPlay API-s on rakendatud tugi võrguseanssidele.
    • Sünkroonse sisendi/sisendi töötlemine on parendatud WoW64 režiimi (64-bit Windows-on-Windows) toimimise ajal, mis võimaldab 32-bitisi Windowsi rakendusi käitada 64-bitistes Unix-süsteemides.
    • ODBC-draiverite laadimise tugi andmebaasidele, mis on koostatud Windowsile, on lisatud.
    • ARM platvormile on tagatud täielik RPC/COM, C++ RTTI (Run-Time Type Information) ja C++ erandite tugi.
    • C jooksu ajal on ANSI-funktsioonides rakendatud UTF-8 kodeeringu tugi.
    • MSHTML mootori võimalusi on laiendatud. Tugi prototüüpide ja objektide konstruktori jaoks on lisatud. JavaScripti mootori jaoks on lisatud uus objektide sidumise liides MSHTML jaoks. MSHTML sisseehitatud funktsioonid on muudetud korrektseteks JavaScripti objektideks. JavaScripti jaoks on parendatud jäätmetekituse kogujat, mis hõlmab nüüd kõiki skripti täitmise kontekste niidis. Lisatud on tugi JavaScripti objektide ArrayBuffer ja DataView jaoks.
    • Gitlabi alusel põhinevasse pideva integratsiooni süsteemi on lisatud staatilise analüüsi tugi Clangi kasutades ja JUnit testide sooritamise aruandeid.
    • Sisseehitatud on Capstone 5.0.3 teek, mille kaudu on rakendatud lahkmine WineDb siluri kaudu.
    • Uuendatud on järgmised komponendid: Vkd3d 1.14, Faudio 24.10, FluidSynth 2.4.0, LDAP 2.5.18, LCMS2 2.16, LibJpeg 9f, LibMPG123 1.32.9, LibPng 1.6.44, LibTiff 4.7.0, LibXml2 2.12.8, LibXslt 1.1.42 ja Zlib 1.3.1.

Allikas: opennet.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster