Stabiilne väljaanne Wine 10.0

Pärast aasta kestnud arendust ja 29 katseversiooni on esitlemisel stabiilne väljaanne avatud Win32 API rakendusele – Wine 10.0, mis sisaldab üle 6000 muudatuse. Uue versiooni peamiste saavutuste hulka kuulub täielik tugi ARM64EC arhitektuurile, skaleerimine kõrge pikslitihedusega ekraanidel, Waylandi draiveri vaikimisi aktiveerimine, ekraani ja mängupuldi seadistamise paneelide rakendamine, FFmpegil põhinev alternatiivne multimeedia tagavara, Bluetoothi draiver, Vulkan 1.4 toe lisamine ning videorežiimide vahetamise emuleerimise võimalus.

Wine'is on kinnitatud 5372 Windowsi programmi täielik toimimine (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 suurepäraselt täiendavate seadistustega ja väliste DLL-idega. 4020 programmil (aasta tagasi 3943, kaks aastat tagasi 3888, kolm aastat tagasi 3813) on täheldatud väikseid tööprobleeme, mis ei takista põhifunktsioonide kasutamist.

Wine 10.0 peamised uuendused:

  • ARM64
    • Tagatud on täielik tugi ARM64EC (ARM64 Emulation Compatible) arhitektuurile, mille tugi Wine'is on jõudnud võrdsustamiseni ARM64 arhitektuuriga. ARM64EC arhitektuur on välja töötatud, et lihtsustada rakenduste portimist ARM64 süsteemidele, mis on algselt kirjutatud x86_64 süsteemide jaoks, ja võimaldab käitada ARM64 keskkonnas eraldi mooduleid, mille kood on x86_64, emulaatori kaudu.
    • Asetatud on täielik tugi ARM64X PE-failiformaadile, mis võimaldab ühendada ühes täidetavas failis ARM64EC ja ARM64 arhitektuuride koodi. Wine'i koostamiseks ARM64X formaadis on vajalik LLVM installimine Gitist (vajalik funktsionaalsus kuulub LLVM 20 väljaandesse) ja käivitades skripti «configure» tuleb märkida valik «—enable-archs=arm64ec,aarch64».
    • Töötati välja liides 64-bitiste x86 süsteemide emuleerimiseks. ARM64EC kasutamisel töötab Wine nagu on, emulatsioon rakendatakse ainult x86-64 rakenduste koodile. Emulaatori teek ei ole praegu Wine'i põhikoosseisu kaasatud, kuid x86-64 koodi käitamiseks ARM64 keskkonnas saab kasutada välist emulaatorit FEX, mis on täielikult seadistatud ARM64EC toe jaoks.
    • ARM64 toe tagamiseks on süsteemis vajalik 4KB mälulehtede kasutamine, nagu nõuab Windowsi ABI (hetkel ei toetata käitamist keskkondades, kus Linuxi kernid kasutavad 16K või 64K mälulehti).
  • Graafikasüsteem
    • Rakendatud on täpsem skaleerimine kõrge pikslitihedusega ekraanidel (High-DPI). Tagatud on DPI-teadlikkuse režiimi tugi, et korraldada rakenduste kuvamist kõrge pikslitihedusega ekraanidel, arvestades, kas rakendus toetab DPI muutumise kohandamist või mitte (rakendused, mis ei arvesse DPI-d, skaleeritakse automaatselt). Lisatud on valikud, et ületada High-DPI toimetamiseks seoseid konkreetsete rakenduste või Wine'i eesliidetega.
    • Graafilise API Vulkan draiverisse on lisatud tugi Vulkan 1.4 spetsifikatsioonile (Wine 9.0-s toetati Vulkan 1.3.272). Lisatud on Vulkani laiendused video kodeerimiseks ja dekodeerimiseks.
    • X11 tagapinna kasutamisel on võimalik joonistada Vulkani alamhakette rakenduste jaoks, mis kasutavad selliseid aknaid 3D-sisu esitamiseks (varem oli sarnane võimalus saadaval ainult OpenGL-i jaoks).
    • GdiPlus teegi on lisatud fondide sidumise mehhanismi ("Font Linking"), mis võimaldab tekstikuvamisel kasutada mitut fondi, kui eraldi fondid ei kata kõiki tekstis esinevaid sümboleid.
  • Wayland
    • Vaikimisi konfiguratsioonis on aktiviseeritud draiver winewayland.drv, mis võimaldab kasutada Wine'i Waylandi protokollil põhinevates keskkondades ilma XWaylandi ja X11 komponente kasutamata. Wine käivitab rakendused vaikimisi Waylandis otse, kui XWayland ei ole saadaval; muul juhul jääb käitamine XWaylandi kasutamisele prioritaarseks. Waylandi sundimiseks saab kasutada keskkondamuutujat DISPLAY või lisada registrisse võtme, luues faili file.reg: Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\Wine\Drivers] "Graphics"="wayland" ning kasutades seda käsuga: $ WINEPREFIX=\/tee\/prefixi wine regedit \/tee\/file.reg
    • Draiverisse winewayland.drv on lisatud OpenGL ja pBufferite tugi.
    • Probleemid hüpikakende paigutamisega Waylandi põhistes keskkondades on lahendatud.
    • Waylandi kasutamisel on rakendatud klahvi hoidmisel korduva vajutamise tugi.
  • Töölaudade integratsioon
    • Lisaeksperimentaalne "modesetting" emulatsioonimehhanism, mis võimaldab emuleerida videorežiimide vahetamist ilma tegelike ekraani seadete muutmiseta. Ekraani eraldusvõime muutmise nähtavus ilma videorežiimi vahetamiseta luuakse laienduste ja akende skaleerimise kaudu.
    • Lisatud uus Desktop Control Panel (desk.cpl) rakendus, mis rakendab ekraani seadete haldamise liidese (näiteks saab muuta töölaua virtuaalset resolutsiooni või seadistada simuleeritud ekraani parameetreid).
    • Lisatud võimalus lähtestada ekraani seaded vaikeseadetele, kui protsessi ebaõnnestumise tõttu ei õnnestu seisundit taastada.
    • Lisatud tugi ikoonide peitmiseks süsteemisalves ("HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" all tuleb määrata "NoTrayItemsDisplay=1").
    • Lisatud tugi Shell launcher'i keelamiseks töölauarežiimis ("HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" all tuleb määrata "NoDesktop=1").
  • Direct3D
    • OpenGL-i kasutamiseks on nüüd vajalik GLSL 1.20 tugi ning EXT_framebuffer_object ja ARB_texture_non_power_of_two laiendite tugi. Vanema ARB shader'i tagaosa ja OffscreenRenderingMode seadete tugi on lõpetatud.
    • Direct3D 9 ja vanemate versioonide jaoks on lisatud fikseeritud funktsioonide graafikakanal (vanemates Direct3D-des olid saadaval ainult eeldefineeritud graafilised toimingud, mida ei saanud muuta), mille on rakendanud HLSL shooder'i keels, et emuleerida fikseeritud funktsioone grafika API-de Vulkan või OpenGL kaudu.
    • Vulkan-i kasutamisel on kaasatud Vulkan laiendused graafikakanali oleku dünaamiliseks muutmiseks, mis vähendab mängude krahhe.
    • Lisatud alternatiivne glsl-vkd3d tagaosa GLSL shooder'itele, mis kasutab vkd3d-shader'it.
    • Esialgne tugi Direct3D efektide kompileerimiseks, kasutades vkd3d-shader'it, on saadaval.
    • D3DX9 raamatukogus on rakendatud MIP-tõmme (MipMap) genereerimise võimalus kolmemõõtmeliste tekstuuride laadimise ajal. Lisatud on toetus 64bpp RGBA ja 48bpp RGB värvi esitamise formaatidele PNG-piltides, samuti formaatidele X8L8V8U8, A2W10V10U10, A8P8, V16U16 ja Q16W16V16U16.
  • Heli ja video
    • Alternatiivse GStreameri tagaosa asemel on rakendatud uus multimeedia tagaosa, mis põhineb FFmpeg'il ja on sobiv Media Foundation'i raamistiku toetamiseks. Alternatiivse tagaosa sisselülitamiseks tuleb registris "HKCU\Software\Wine\MediaFoundation" määrata "DisableGstByteStreamHandler=1".
    • Media Foundation API rakendamine on paranenud, nüüd sobib see paremini demultipleximise ja dekodeerimise komponentidest sõltuvate rakendustega.
    • API DirectMusic on lisatud MIDI-failide laadimise tugi.
  • Input devices
    • Lisatud Bluetoothi algversioon draiverist.
    • Lisatud joysticki juhtpaneeli applet (joy.cpl), mis sisaldab joysticki seadistuste rakendust.
    • Parandatud on näpuosutusseadmete (puuteplaadid, hiired), mis kasutavad HID-protokolli (Human Interface Device), haldamisega seotud funktsioone. Lisatud on šiire mouhid.sys HID-seadmete jaoks. Teostatud on koosseadmise sisendseadmete korrektne analüüs ja nende info edastamine Windowsi rakendustele kui eraldiseisvatele seadmetele.
    • X11 taustaprogrammile on lisatud puutetundlike ekraanide tugi ja mitme puudutuse režiimi kasutamise võimalus läbi WM_POINTER* sõnumite töötlemise (nt WM_POINTERENTER, WM_POINTERLEAVE).
    • Teatud user32 raamatukogu sisemiste struktuuride paigutamine jagatud mällu, mis on suurendanud jõudlust ja vähendanud Wine Serveri koormust.
    • winex11-s on lisatud XInput2 sündmuste käsitlemise tugi, mis on seotud eraldi akendega.
    • Dvoraki klaviatuuride korrektne tugi on rakendatud.
  • Kernel (Windowsi kerneli liidesed)
    • Lisatud protsesside privileegide suurendamise tugi (protsess, mis on algselt käivitatud tavakasutajana, võib saada administraatori õigused). Serveriprotsesside loomisel (msi action server) ja ka RtlCreateUserProcess() ja CreateProcessInternal() funktsioonide kutsel on vaikimisi aktiviseeritud piiratud administraatori token.
    • Diskimärkide teabe hankimisel kasutatakse nüüd võimaluse korral süsteemiteenustele DBus-i kaudu pöördumist, mitte seadmele otsese ligipääsu katset.
    • Ühesuunaline protsessidevaheline suhtlemismehhanism (IPC) Mailslots on nüüd otse rakendatud Wine serverisse, mis võimaldas saavutada Windowsi semantika täieliku toe.
    • Rakendatud on sekundaariportide sündmuste ootamine asünkroonses režiimis.
    • Protsessori laienduste XSTATE täielik tugi onlisatud voolu konteksti, mis võimaldas kasutada uusi vektorialuseid laiendusi, nagu AVX-512.
  • Sisseehitatud rakendused
    • Käskude tõlgendamise ajal cmd.exe on sisendi töötlemise mootor ümber kirjutatud. Cmd.exe-s on lisatud operatsioonide «||» ja «&&» tugi.
    • Tööriista findstr on lisatud regulaaravalduste tugi ja suurte tähtede arvestuseta otsingi.
    • Tööriistades regsvr32 ja rundll32 on lisatud ARM64EC moodulite registreerimise võimalus.
    • Lisatud utiliidid: sort sissetulevate andmete sortimiseks, fc failide võrdlemiseks ja where failide otsimiseks.
    • Rakenduses wmic on rakendatud interaktiivne töörežiim.
    • Explorerisse on lisatud valikuline algusmenüüsse ja tööriistariba tugi. Explorer.exe käivitamine on tagatud piiratud õigustega.
  • Arendusvahendid
    • winebuildi on lisatud võimalus «-marm64x» hübriidsete ARM64X raamatukogude genereerimiseks.
    • winegcc'i on lisatud võimalus «-marm64x», mis võimaldab koguda ARM64X jaoks.
    • IDL (Interface Definition Language) kirjelduskeelt kasutades genereeritud failides on kasutusel komponendid, mis toetavad täielikult tõlgendamisrežiimi.
    • IDL (Interface Definition Language) keele kompilaatorisse on lisatud tugi vanade (SLTG) tüübiloodude genereerimiseks.
    • winedump utiliiti on täiendatud minidumpi tabelite, C++ erandite ja typelib ressursside väljundidokumendi salvestamise toega.
  • Muud
    • Parandatud on Diffie-Hellmani võtmevahetusprotokolli (DH) tuge. Lisatud on tugi DH seadistamiseks ja parameetrite saamiseks. Rakendatud on töötlejad avalike ja privaatsete võtmete paari loomiseks.
    • RSA algoritmiga koos on tagatud OAEP (Optimal Asymmetric Encryption Padding) täiendava täitmise kasutamine.
    • DirectPlay API-s on rakendatud võrgu seansside toetus.
    • Kohandatud asünkroonse sisendi/väljundi töötlemine WoW64 (64-bitine Windows-on-Windows) režiimis, mis võimaldab käitada 32-bitiseid Windowsi rakendusi 64-bitistes Unix-süsteemides.
    • ODBC-juhtide laadimise tugi andmebaasidele, mis on kokku pandud Windowsi jaoks.
    • ARM platvormile on täielikult rakendatud RPC / COM, C++ RTTI (Run-Time Type Information) ja C++ erandid.
    • ANSI-funktsioonides C teegis on lisatud UTF-8 kodeeringu tugi.
    • MSHTML mootori võimalusi on laiendatud. Lisatud on prototüüpide ja objektide konstruktorite tugi. JavaScript mootorisse on lisatud uus objektide sidumise liides MSHTML jaoks. MSHTML sisseehitatud funktsioonid on muudetud korrektseteks JavaScript objektideks. JavaScripti jaoks on parendatud prügikogumise süsteemi, mis nüüd katab kõik skripti täitmise kontekstid lõimes. Lisatud on JavaScripti objektide ArrayBuffer ja DataView tugi.
    • Gitlabi põhisel pideva integreerimise süsteemi on lisatud staatilise analüüsi tugi Clang'i ja JUnit'i testimisaruannete kaudu.
    • Sisseehitatud on Capstone 5.0.3 teek, mille kaudu on rakendatud dessassembliirimise tugi debuggeris WineDb.
    • Komponendid on uuendatud uusimatele versioonidele: 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 hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster