Stabilus Wine 7.0 leidimas

Po metų kūrimo ir 30 eksperimentinių versijų buvo pristatytas stabilus atviro Win32 API diegimo leidimas - Wine 7.0, kuriame buvo daugiau nei 9100 pakeitimų. Pagrindiniai naujosios versijos pasiekimai yra daugumos Wine modulių vertimas į PE formatą, temų palaikymas, kreiptukų ir įvesties įrenginių su HID sąsaja krūvos išplėtimas ir WoW64 architektūros įdiegimas 32 bitų programoms paleisti 64 bitų aplinka.

Wine patvirtino, kad pilnai veikia 5156 (prieš metus 5049) Windows skirtos programos, dar 4312 (prieš metus 4227) programos puikiai veikia su papildomais nustatymais ir išoriniais DLL. 3813 programų (prieš 3703 metus) turi nedidelių veikimo problemų, kurios netrukdo naudotis pagrindinėmis aplikacijų funkcijomis.

Pagrindinės Wine 7.0 naujovės:

  • Moduliai PE formatu
    • Beveik visi DLL buvo konvertuoti į PE (Portable Executable, naudojamas Windows) vykdomojo failo formatą, o ne ELF. Naudojant PE išsprendžiamos įvairios apsaugos nuo kopijavimo schemos, kurios tikrina sistemos modulių diske ir atmintyje tapatybę, palaikymu.
    • Įdiegta galimybė sąveikauti su PE moduliais su Unix bibliotekomis naudojant standartinį NT branduolio sistemos iškvietimą, kuris leidžia paslėpti prieigą prie Unix kodo nuo Windows derintuvų ir stebėti gijų registraciją.
    • Integruoti DLL dabar įkeliami tik tuo atveju, jei diske yra atitinkamas PE failas, neatsižvelgiant į tai, ar tai tikra biblioteka, ar šaknis. Šis pakeitimas leidžia programai visada matyti teisingą susiejimą su PE failais. Norėdami išjungti šį elgesį, galite naudoti WINEBOOTSTRAPMODE aplinkos kintamąjį.
  • WoW64
    • Įdiegta WoW64 architektūra (64 bitų „Windows“ sistemoje), leidžianti paleisti 32 bitų „Windows“ programas 64 bitų „Unix“ procesuose. Palaikymas įgyvendinamas sujungiant sluoksnį, kuris 32 bitų NT sistemos skambučius paverčia 64 bitų skambučiais į NTDLL.
    • WoW64 sluoksniai yra paruošti daugumai Unix bibliotekų ir leidžia 32 bitų PE moduliams pasiekti 64 bitų Unix bibliotekas. Kai visi moduliai bus konvertuoti į PE formatą, bus galima paleisti 32 bitų Windows programas neįdiegus 32 bitų Unix bibliotekų.
  • Temos
    • Temos palaikymas įgyvendintas. Įtrauktos dizaino temos „Light“, „Blue“ ir „Classic Blue“, kurias galima pasirinkti naudojant „WineCfg“ konfigūratorių.
    • Pridėta galimybė tinkinti visų sąsajos valdiklių išvaizdą per temas. Pakeitus dizaino temą, elementų išvaizda automatiškai atnaujinama.
    • Temos palaikymas buvo pridėtas prie visų integruotų „Wine“ programų. Programos buvo pritaikytos ekranams su dideliu pikselių tankiu (High DPI).
  • Grafikos posistemis
    • Pridėta nauja Win32u biblioteka, kuri apima dalis GDI32 ir USER32 bibliotekų, susijusių su grafikos apdorojimu ir langų valdymu branduolio lygiu. Ateityje bus pradėtas tvarkyklių komponentų, tokių kaip winex32.drv ir winemac.drv, perkėlimas į Win11u.
    • „Vulkan“ tvarkyklė palaiko „Vulkan“ grafikos API specifikaciją 1.2.201.
    • Teikiamas palaikymas išbrynuotų geometrinių objektų išvedimui naudojant „Direct2D“ API, su galimybe patikrinti, ar spustelėjimas pataikė (pataikymo testas).
    • „Direct2D“ API teikia pradinį vaizdinių efektų, taikomų naudojant ID2D1Effect sąsają, palaikymą.
    • „Direct2D API“ papildė ID2D1MultiThread sąsajos palaikymą, kuri naudojama išskirtinei prieigai prie išteklių kelių gijų programose organizuoti.
    • „WindowsCodecs“ bibliotekų rinkinys palaiko vaizdų dekodavimą WMP (Windows Media Photo) formatu ir vaizdų kodavimą DDS (DirectDraw Surface) formatu. Nebepalaikome vaizdų kodavimo ICNS formatu (skirta „macOS“), kuris nepalaikomas sistemoje „Windows“.
  • Direct3D
    • Naujasis atvaizdavimo variklis buvo žymiai patobulintas, perkeldamas Direct3D skambučius į Vulkan grafikos API. Daugeliu atvejų „Vulkan“ pagrindu veikiančio variklio „Direct3D 10“ ir „11“ palaikymo lygis buvo lygus senesniam „OpenGL“ pagrindu veikiančiam varikliui. Norėdami įjungti „Vulkan“ atvaizdavimo variklį, „Direct3D“ registro kintamąjį „renderer“ nustatykite į „vulkan“.
    • Įdiegta daug „Direct3D 10“ ir „11“ funkcijų, įskaitant atidėtus kontekstus, būsenos objektus, veikiančius įrenginio kontekste, nuolatinius poslinkius buferiuose, netvarkingų tekstūros rodinių išvalymą, duomenų kopijavimą tarp išteklių be tipo formatais (DXGI_FORMAT_BC3_TYPELESS, DXGI_FORMAT_R32G32B32A) ir kt. .
    • Pridėtas kelių monitorių konfigūracijų palaikymas, leidžiantis pasirinkti monitorių, kad būtų rodoma „Direct3D“ programa viso ekrano režimu.
    • DXGI API suteikia ekrano gama korekciją, kurią gali naudoti „Direct3D 10“ ir „11“ pagrįstos programos ekrano ryškumui keisti. Įgalintas virtualių kadrų buferių skaitiklių gavimas (SwapChain).
    • „Direct3D 12“ prideda 1.1 versijos šakninių parašų palaikymą.
    • Pateikiant kodą per Vulkan API, užklausų apdorojimo efektyvumas pagerėjo, kai sistema palaiko plėtinį VK_EXT_host_query_reset.
    • Pridėta galimybė išvesti virtualius kadrų buferius (SwapChain) per GDI, jei OpenGL arba Vulkan negalima naudoti rodymui, pavyzdžiui, išvedant į langą iš skirtingų procesų, pavyzdžiui, programose, pagrįstose CEF (Chromium Embedded Framework) sistema.
    • Naudojant GLSL šešėlių užpakalinę programą, užtikrinamas "tikslus" šešėlių nurodymų modifikatorius.
    • „DirectDraw“ API palaiko 3D atvaizdavimą sistemos atmintyje naudojant programinės įrangos įrenginius, tokius kaip „RGB“, „MMX“ ir „Ramp“.
    • AMD Radeon RX 3M, AMD Radeon RX 5500/6800 XT/6800 XT, AMD Van Gogh, Intel UHD Graphics 6900 ir NVIDIA GT 630 kortelės buvo įtrauktos į Direct1030D vaizdo plokščių duomenų bazę.
    • Raktas „UseGLSL“ buvo pašalintas iš HKEY_CURRENT_USER\Software\Wine\Direct3D registro, o vietoj jo, pradedant nuo „Wine 5.0“, reikia naudoti „shader_backend“.
    • Norint palaikyti Direct3D 12, dabar reikia bent 3 vkd1.2d bibliotekos versijos.
  • D3DX
    • D3DX 10 diegimas pagerino vaizdinių efektų sistemos palaikymą ir papildė „Windows Media Photo“ vaizdo formato (JPEG XR) palaikymą.
    • Pridėtos tekstūros kūrimo funkcijos, pateiktos D3DX10, pvz., D3DX10CreateTextureFromMemory().
    • Programinės įrangos sąsajos ID3DX10Sprite ir ID3DX10Font buvo iš dalies įdiegtos.
  • Garsas ir vaizdo įrašas
    • „GStreamer“ priedai, skirti „DirectShow“ ir „Media Foundation“ sistemai, yra sujungti į vieną bendrą „WineGStreamer“ pagrindinę programą, kuri turėtų supaprastinti naujų turinio dekodavimo API kūrimą.
    • Remiantis „WineGStreamer“ programa, „Windows Media“ objektai yra įdiegti sinchroniniam ir asinchroniniam skaitymui.
    • „Media Foundation“ sistemos įgyvendinimas buvo toliau patobulintas, pridėtas „IMFPMediaPlayer“ funkcionalumo ir pavyzdžių skirstytuvo palaikymas, patobulintas EVR ir SAR atvaizdavimo buferių palaikymas.
    • „Wineqtdecoder“ biblioteka, kurioje yra „QuickTime“ formato dekoderis, buvo pašalinta (dabar visi kodekai naudoja „GStreamer“).
  • Įvesties įrenginiai
    • Įvesties įrenginių, palaikančių HID (Human Interface Devices) protokolą, krūva buvo žymiai patobulinta, suteikiant tokias galimybes kaip HID deskriptorių analizavimas, HID pranešimų apdorojimas ir mini-HID tvarkyklių teikimas.
    • Winebus.sys tvarkyklės užpakalinėse programose buvo patobulintas įrenginių aprašymų vertimas į HID pranešimus.
    • Pridėta nauja DirectInput backend, skirta vairasvirtėms, kurios palaiko HID protokolą. Įdiegta galimybė naudoti grįžtamojo ryšio efektus vairasvirtėse. Patobulintas vairasvirtės valdymo pultas. Optimizuota sąveika su XInput suderinamais įrenginiais. „WinMM“ vairasvirtės palaikymas buvo perkeltas į „DInput“, o ne naudoti „evdev“ pagrindinę programą „Linux“ ir IOHID „macOS“ IOHID. Sena vairasvirtės tvarkyklė winejoystick.drv buvo pašalinta.
    • Į DInput modulį buvo įtraukti nauji testai, pagrįsti virtualių HID įrenginių naudojimu ir nereikalaujantys fizinio įrenginio.
  • Tekstas ir šriftai
    • Pridėtas šriftų rinkinio objektas į „DirectWrite“.
    • „RichEdit“ tinkamai įdiegia „TextHost“ sąsają.
  • Branduolys („Windows“ branduolio sąsajos)
    • Vykdant nenustatytą vykdomąjį failą (pvz., „wine foo.msi“) programoje „Wine“, dabar iškviečiamas start.exe, kuris iškviečia su failo tipu susietas tvarkykles.
    • Pridėtas sinchronizavimo mechanizmų NtAlertThreadByThreadId ir NtWaitForAlertByThreadId palaikymas, panašus į futexes sistemoje Linux.
    • Pridėtas NT derinimo objektų, naudojamų branduolio funkcijoms derinti, palaikymas.
    • Pridėtas dinaminių registro raktų palaikymas, kad būtų išsaugoti našumo duomenys.
  • C Vykdymo laikas
    • C vykdymo laikas įgyvendina visą matematinių funkcijų rinkinį, kuris daugiausia perkeliamas iš Musl bibliotekos.
    • Visos procesoriaus platformos užtikrina tinkamą slankaus kablelio funkcijų palaikymą.
  • Tinklo ypatybės
    • Patobulintas „Internet Explorer 11“ (IE11) suderinamumo režimas, kuris dabar pagal numatytuosius nustatymus naudojamas HTML dokumentams apdoroti.
    • Mshtml biblioteka įgyvendina ES6 JavaScript režimą (ECMAScript 2015), kuris palaiko tokias funkcijas kaip „let“ išraiška ir žemėlapio objektas.
    • MSI paketai su „Gecko“ variklio priedais į „Wine“ darbo katalogą dabar diegiami, kai reikia, o ne „Wine“ naujinimo metu.
    • Pridėtas DTLS protokolo palaikymas.
    • Įdiegta NSI (Network Store Interface) paslauga, kuri saugo ir perduoda informaciją apie maršrutą ir tinklo sąsajas kompiuteryje kitoms tarnyboms.
    • „WinSock“ API tvarkyklės, tokios kaip setsockopt ir getsockopt, buvo perkeltos į NTDLL ir afd.sys tvarkyklę, kad atitiktų „Windows“ architektūrą.
    • „Wine“ tinklo duomenų bazės failai, tokie kaip /etc/protocols ir /etc/networks, dabar yra įdiegti „Wine“ darbo kataloge, o ne pasiekti panašias „Unix“ duomenų bazes.
  • Alternatyvios platformos
    • Pridėtas palaikymas „Apple“ įrangai, pagrįstai M1 ARM lustais („Apple Silicon“).
    • „MacOS“ BCrypt ir Secur32 funkcijų palaikymui dabar reikia įdiegti GnuTLS biblioteką.
    • 32 bitų vykdomieji failai ARM platformoms dabar sukurti Thumb-2 režimu, panašiai kaip Windows. Tokiems failams įkelti naudojamas išankstinis įkroviklis.
    • 32 bitų ARM platformose įdiegtas atsukimo išimčių palaikymas.
    • „FreeBSD“ palaikomų užklausų, skirtų žemo lygio sistemos informacijai, pvz., atminties būsenai ir akumuliatoriaus įkrovos lygiui, skaičius buvo išplėstas.
  • Integruotos programos ir kūrimo įrankiai
    • Priemonė reg.exe papildė 32 ir 64 bitų registro rodinių palaikymą. Pridėtas registro raktų kopijavimo palaikymas.
    • „WineDump“ programa papildė „Windows“ metaduomenų išrašymo ir išsamios informacijos apie „CodeView“ įrašus palaikymą.
    • „Wine Debugger“ (winedbg) suteikia galimybę derinti 32 bitų procesus iš 64 bitų derinimo įrenginio.
    • Prie IDL kompiliatoriaus (widl) pridėta galimybė įkelti bibliotekas, įmontuotas į PE failus, suteiktas WinRT specifinių atributų ir konstrukcijų palaikymas, įdiegta konkrečios platformos bibliotekos paieška.
  • Surinkimo sistema
    • Konkrečiai architektūrai skirtuose kataloguose bibliotekos dabar išsaugomos pavadinimais, kurie atspindi architektūrą ir vykdomojo failo tipą, pvz., „i386-langai“ PE formatui ir „x86_64-unix“ unix bibliotekoms, leidžiantys palaikyti skirtingas architektūras viename „Wine“. įdiegti ir pateikti kryžminį Winelib kompiliavimą.
    • Norint PE failų antraštėse nustatyti parinktį, kuri valdo perėjimą prie savųjų DLL, prie „winebuild“ buvo pridėta žyma „--prefer-native option“ (DLL_WINE_PREATTACH apdorojimas DllMain buvo sustabdytas).
    • Pridėtas „Dwarf“ derinimo duomenų formato 4 versijos palaikymas, kuris dabar naudojamas pagal numatytuosius nustatymus kuriant „Wine“ bibliotekas.
    • Pridėta kūrimo parinktis „—enable-build-id“, kad būtų išsaugoti unikalūs kūrimo identifikatoriai vykdomuosiuose failuose.
    • Pridėtas Clang kompiliatoriaus naudojimo MSVC suderinamumo režimu palaikymas.
  • įvairenybės
    • Tipinių katalogų pavadinimai vartotojo apvalkale (Windows Shell) pateikiami naudojamai schemai pradedant nuo Windows Vista, t.y. Vietoj „Mano dokumentai“ dabar sukuriamas „Dokumentų“ katalogas, o dauguma duomenų išsaugomi „AppData“ kataloge.
    • OpenCL 1.2 specifikacijos palaikymas buvo įtrauktas į OpenCL bibliotekos sluoksnį.
    • „WinSpool“ tvarkyklė pridėjo įvairių puslapių dydžių palaikymą spausdinant.
    • Pridėtas pradinis MSDASQL, Microsoft OLE DB teikėjo ODBC tvarkyklių, palaikymas.
    • Wine Mono variklis su .NET platformos diegimu buvo atnaujintas iki 7.0.0.
    • Unicode duomenys buvo atnaujinti pagal Unicode 14 specifikaciją.
    • Šaltinio medyje yra bibliotekos Faudio, GSM, LCMS2, LibJPEG, LibJXR, LibMPG123, LibPng, LibTiff, LibXml2, LibXslt ir Zlib, kurios yra sudarytos PE formatu ir nereikalauja versijos Unix formatu. Tuo pačiu metu šias bibliotekas taip pat galima importuoti iš sistemos, kad būtų galima naudoti išorinius mazgus, o ne integruotas PE parinktis.

Šaltinis: opennet.ru

Добавить комментарий