Stabilné vydanie Wine 8.0

Po roku vývoja a 28 experimentálnych verziách bola predstavená stabilná verzia otvorenej implementácie Win32 API - Wine 8.0, ktorá obsahovala viac ako 8600 XNUMX zmien. Kľúčovým úspechom v novej verzii je ukončenie práce na preklade modulov Wine do formátu.

Wine potvrdilo plnú prevádzku 5266 (pred rokom 5156, pred dvoma rokmi 5049) programov pre Windows, ďalších 4370 (pred rokom 4312, pred dvoma rokmi 4227) programov funguje perfektne s dodatočnými nastaveniami a externými DLL. 3888 programov (pred rokom 3813, pred dvoma rokmi 3703) má menšie prevádzkové problémy, ktoré nezasahujú do používania hlavných funkcií aplikácií.

Kľúčové inovácie vo Wine 8.0:

  • Moduly vo formáte PE
    • Po štyroch rokoch práce bola dokončená konverzia všetkých knižníc DLL na používanie formátu spustiteľného súboru PE (Portable Executable, používaný vo Windows). Použitie PE umožňuje použitie debuggerov dostupných pre Windows a rieši problémy s podporou rôznych schém ochrany proti kopírovaniu, ktoré overujú identitu systémových modulov na disku a v pamäti. Vyriešené boli aj problémy so spúšťaním 32-bitových aplikácií na 64-bitových hostiteľoch a x86 aplikácií na systémoch ARM. Medzi zostávajúce úlohy, ktoré sa plánujú vyriešiť v nasledujúcich experimentálnych vydaniach Wine 8.x, je prechod modulov na rozhranie systémových volaní NT namiesto priamych volaní medzi vrstvami PE a Unix.
    • Bol implementovaný špeciálny správca systémových hovorov, ktorý sa používa na preklad hovorov z PE do unixových knižníc, aby sa znížila réžia vykonávania úplného systémového volania NT. Optimalizácia napríklad umožnila znížiť degradáciu výkonu pri používaní knižníc OpenGL a Vulkan.
    • Aplikácie Winelib si zachovávajú schopnosť používať zmiešané zostavy Windows/Unix knižníc ELF (.dll.so), ale takéto aplikácie bez 32-bitových knižníc nebudú podporovať funkcie dostupné cez rozhranie systémových volaní NT, ako napríklad WoW64.
  • WoW64
    • Vrstvy WoW64 (64-bitový systém Windows-on-Windows) sú k dispozícii pre všetky knižnice Unix, čo umožňuje 32-bitovým modulom vo formáte PE pristupovať k 64-bitovým knižniciam Unixu, ktoré po odstránení priamych volaní PE/Unix umožnia možné spúšťať 32-bitové aplikácie Windows bez inštalácie 32-bitových unixových knižníc.
    • Pri absencii 32-bitového Wine loaderu môžu 32-bitové aplikácie bežať v novom experimentálnom režime podobnom Windowsu WoW64, v ktorom 32-bitový kód beží v 64-bitovom procese. Režim je povolený pri vytváraní Wine s možnosťou „—enable-archs“.
  • Grafický subsystém
    • Predvolená konfigurácia používa svetelnú tému („Svetlo“). Tému môžete zmeniť pomocou pomôcky WineCfg.
      Stabilné vydanie Wine 8.0
    • Ovládače grafiky (winex11.drv, winemac.drv, wineandroid.drv) sú konvertované tak, aby vykonávali systémové volania na úrovni Unix a pristupovali k ovládačom prostredníctvom knižnice Win32u.
      Stabilné vydanie Wine 8.0
    • Bola implementovaná architektúra Print Processor, ktorá sa používa na elimináciu priamych volaní medzi úrovňami PE a Unix v ovládači tlačiarne.
    • Direct2D API teraz podporuje efekty.
    • Direct2D API pridalo možnosť nahrávať a prehrávať zoznamy príkazov.
    • Ovládač pre grafické API Vulkan pridal podporu pre špecifikáciu Vulkan 1.3.237 (Vulkan 7 bol podporovaný vo Wine 1.2).
  • Direct3D
    • Pridaný nový kompilátor shaderov pre jazyk HLSL (High-Level Shader Language), implementovaný na základe knižnice vkd3d-shader. Tiež na báze vkd3d-shader bol pripravený HLSL disassembler a HLSL preprocesor.
    • Rozhranie Thread Pump predstavené v D3DX 10 bolo implementované.
    • Efekty Direct3D 10 pridávajú podporu pre mnoho nových výrazov.
    • Podporná knižnica pre D3DX 9 teraz podporuje premietanie textúr Cubemap.
  • Zvuk a video
    • Na základe rámca GStreamer bola implementovaná podpora filtrov na dekódovanie zvuku vo formáte MPEG-1.
    • Pridaný filter na čítanie streamovaného zvuku a videa vo formáte ASF (Advanced Systems Format).
    • Bola odstránená medzivrstva knižnice OpenAL32.dll, namiesto ktorej sa teraz používa natívna Windows knižnica OpenAL32.dll dodávaná s aplikáciami.
    • Media Foundation Player má vylepšenú detekciu typu obsahu.
    • Bola implementovaná schopnosť riadiť rýchlosť prenosu dát (Rate control).
    • Vylepšená podpora pre predvolený mixér a prezentér v vylepšenom zobrazovaní videa (EVR).
    • Pridaná počiatočná implementácia Writer Encoding API.
    • Vylepšená podpora zavádzača topológie.
  • Vstupné zariadenia
    • Výrazne vylepšená podpora pre hot pluging ovládačov.
    • Navrhuje sa vylepšená implementácia kódu na určovanie herných volantov, postavená na báze knižnice SDL.
    • Vylepšená podpora efektu Force feedback pri používaní herných koliesok.
    • Bola implementovaná možnosť ovládať ľavý a pravý vibračný motor pomocou špecifikácie HID Haptic.
    • Zmenil sa dizajn ovládacieho panela joysticku.
    • Podpora pre ovládače Sony DualShock a DualSense je poskytovaná pomocou backendu hidraw.
    • Modul WinRT Windows.Gaming.Input je navrhnutý s implementáciou softvérového rozhrania pre prístup k gamepadom, joystickom a herným kolesám. Pre nové API je okrem iného implementovaná podpora upozornenia na hot plugging zariadení, hmatové a vibračné efekty.
  • Internacionalizácia
    • Je zabezpečené generovanie správnej lokálnej databázy vo formáte locale.nls z úložiska Unicode CLDR (Unicode Common Locale Data Repository).
    • Funkcie porovnávania reťazcov Unicode boli presunuté tak, aby namiesto algoritmu Unicode Collation používali databázu a algoritmus triedenia systému Windows, čím sa správanie priblížilo systému Windows.
    • Väčšina funkcií má pridanú podporu pre horné rozsahy kódov Unicode (roviny).
    • Ako kódovanie ANSI je možné použiť UTF-8.
    • Tabuľky znakov boli aktualizované na špecifikáciu Unicode 15.0.0.
  • Text a fonty
    • Prepojenie písiem bolo povolené pre väčšinu systémových písiem, čím sa vyriešil problém chýbajúcich glyfov v systémoch s čínskymi, kórejskými a japonskými miestnymi nastaveniami.
    • Prepracované záložné písmo v DirectWrite.
  • Kernel (rozhrania jadra systému Windows)
    • Bola implementovaná databáza ApiSetSchema, ktorá nahradila moduly api-ms-* a znížila spotrebu miesta na disku a adrese.
    • Atribúty súborov DOS sa ukladajú na disk vo formáte kompatibilnom so Sambou pomocou rozšírených atribútov FS.
  • Sieťové funkcie
    • Pridaná podpora pre OCSP (Online Certificate Status Protocol), ktorý sa používa na kontrolu zrušených certifikátov.
    • Rozsah funkcií EcmaScript dostupných v režime súladu s normami JavaScript bol rozšírený.
    • Implementovaný zberač odpadu pre JavaScript.
    • Balík Gecko engine obsahuje funkcie pre ľudí so zdravotným postihnutím.
    • MSHTML pridáva podporu pre Web Storage API, objekt Performance a ďalšie objekty na spracovanie udalostí.
  • Vstavané aplikácie
    • Všetky vstavané aplikácie boli konvertované tak, aby používali knižnicu Common Controls 6 s podporou motívov dizajnu a vykresľovania zohľadňujúcich obrazovky s vysokou hustotou pixelov.
    • Vylepšené možnosti ladenia vlákien vo Wine Debugger (winedbg).
    • Pomocné programy registra (REGEDIT a REG) teraz podporujú typ QWORD.
    • Poznámkový blok pridal stavový riadok s informáciami o polohe kurzora a funkciu Prejsť na riadok na preskočenie na zadané číslo riadku
    • Vstavaná konzola poskytuje výstup údajov v kódovej stránke OEM.
    • Príkaz 'query' bol pridaný do pomôcky sc.exe (riadenie služby).
  • Montážny systém
    • Bola poskytnutá možnosť vytvárať spustiteľné súbory vo formáte PE pre niekoľko architektúr (napríklad '—enable-archs=i386,x86_64').
    • Na všetkých platformách s typom 32-bit long sú dátové typy definované ako long vo Windowse teraz predefinované ako „long“ namiesto „int“ vo Wine. Vo Winelibe možno toto správanie zakázať prostredníctvom definície WINE_NO_LONG_TYPES.
    • Pridaná možnosť generovať knižnice bez použitia dlltool (umožnené nastavením možnosti '—without-dlltool' vo winebuild).
    • Na zlepšenie efektivity načítania a zmenšenie veľkosti knižníc bez kódu, iba zdrojov, winegcc implementuje možnosť '--data-only'.
  • rôzne
    • Aktualizované verzie vstavaných knižníc Faudio 22.11, LCMS2 2.14, LibJPEG 9e, LibMPG123 1.31.1, LibPng 1.6.39, LibTiff 4.4.0, LibXml2 2.10.3, LibXslt 1.1.37, LibXslt 1.2.13
    • Motor Wine Mono s implementáciou platformy .NET bol aktualizovaný na verziu 7.4.
    • Bola implementovaná podpora pre šifrovanie založené na algoritme RSA a digitálnych podpisoch RSA-PSS.
    • Pridaná počiatočná verzia rozhrania UI Automation API.
    • Zdrojový strom obsahuje knižnice LDAP a vkd3d, ktoré sú zostavené vo formáte PE, čím sa eliminuje potreba dodávať unixové zostavy týchto knižníc.
    • Knižnica OpenAL bola ukončená.

Zdroj: opennet.ru

Pridať komentár