Stabilné vydanie Wine 9.0

Po roku vývoja a 26 experimentálnych verziách bola predstavená stabilná verzia otvorenej implementácie Win32 API - Wine 9.0, ktorá obsahovala viac ako 7000 zmien. Medzi kľúčové úspechy v novej verzii patrí implementácia architektúry WoW64 pre spustenie 32-bitových programov v 64-bitovom prostredí, integrácia ovládačov pre podporu Wayland, podpora architektúry ARM64, implementácia DirectMusic API a podpora smart kariet.

Bolo potvrdené, že programy 5336 (5266 pred rokom, 5156 pred dvoma rokmi, 5049 pred tromi rokmi) fungujú vo Wine správne. WindowsĎalších 4 397 programov (4 370 pred rokom, 4 312 pred dvoma rokmi, 4 227 pred tromi rokmi) funguje bez problémov s dodatočnými nastaveniami a externými knižnicami DLL. 3 943 programov (3 888 pred rokom, 3 813 pred dvoma rokmi, 3 703 pred tromi rokmi) má menšie problémy, ktoré nenarúšajú základnú funkčnosť aplikácií.

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

  • Bol pridaný ovládač winewayland.drv, ktorý umožňuje používať Wine v prostrediach založených na Waylande bez použitia komponentov XWayland alebo X11. Cieľom tohto vývoja je poskytnúť čisté prostredie Wayland s podporou spustenia. Windows- aplikácie, ktoré nevyžadujú inštaláciu balíkov súvisiacich s X11, čo umožňuje vyšší výkon a odozvu v hrách elimináciou nepotrebných vrstiev. Použitie čistého prostredia Wayland pre Wine tiež eliminuje bezpečnostné problémy spojené s X11 (napríklad nedôveryhodné hry X11 môžu špehovať iné aplikácie, pretože protokol X11 umožňuje prístup ku všetkým vstupným udalostiam a vykonávať nahrádzanie stlačení klávesov).

    Ovládač je označený ako experimentálny a vo vývoji, no napriek tomu už má podporu mnohých funkcií, ako je správa okien, práca s viacerými monitormi, podpora škálovania výstupu na obrazovkách s vysokou hustotou pixelov (high-DPI), práca s relatívne súradnice pri sledovaní pohybu myši a podpora grafického API Vulkan. V predvolenom nastavení nie je ovládač aktívny a na jeho aktiváciu by ste mali pridať „wayland“ do parametra registra „HKCU\Software\Wine\Drivers“ a uistite sa, že premenná prostredia DISPLAY nie je nastavená: wine reg.exe pridať HKCU\ \Softvér\\Wine\\Ovládače /v Grafika /d x11,wayland

  • Všetky moduly boli konvertované na rozhranie systémových volaní NT, namiesto toho, aby sa uskutočňovali priame volania medzi vrstvami PE a Unix, čo znamená zavŕšenie mnohých rokov práce na konverzii všetkých knižníc DLL na použitie formátu spustiteľného súboru PE (Portable Executable).
  • Vývoj vrstvy WoW64 (64-bit) pokračoval Windows-ON-Windows), čo vám umožňuje spúšťať 32-bitové Windows- aplikácie na 64-bitových unixových systémoch. Všetky moduly pristupujúce k unixovým knižniciam používajú prekladače systémových volaní (thunks) WoW64, ktoré umožňujú 32-bitovým modulom vo formáte PE prístup k 64-bitovým unixovým knižniciam.

    Nový režim spustenia WoW64 bol vylepšený a umožňuje spustenie 32-bitového kódu v 64-bitovom procese (v starom režime WoW64 bežali 32-bitové aplikácie v 32-bitových unixových procesoch). Bola pridaná podpora pre používanie nového režimu WoW64 na platforme. macOSKeďže nový režim WoW64 má niekoľko menších chýb, ako napríklad chýbajúcu podporu 16-bitových architektúr a znížený výkon OpenGL kvôli chýbajúcej podpore rozšírenia ARB_buffer_storage, nie je predvolene povolený a vyžaduje zostavenie s možnosťou „--enable-archs=i386,x86_64“ v konfiguračnom skripte.

  • Pridaná možnosť spúšťania existujúcich spustiteľných súborov Windows Na systémoch s architektúrou ARM64. Wine je teraz možné zostaviť pre ABI ARM64EC (kompatibilné s emuláciou ARM64) a je možné doň načítať moduly ARM64EC. Tieto moduly sa používajú na zjednodušenie portovania aplikácií pôvodne napísaných pre architektúru x86_64 na systémy ARM64 tým, že umožňujú spúšťanie jednotlivých modulov kódu x86_64 v prostredí ARM64 pomocou emulátora. Bola pridaná podpora pre formát súboru ARM64X PE, ktorý umožňuje načítať jeden spustiteľný súbor v procesoch x64/Arm64EC aj ARM64. Bolo implementované rozhranie na emuláciu 32-bitových systémov x86, ale knižnica emulátora zatiaľ nie je zahrnutá v hlavnej distribúcii Wine (externý emulátor FEX je možné použiť na spúšťanie kódu x86 v prostredí ARM64).
  • Grafický subsystém
    • Ovládač PostScript bol prepracovaný tak, aby podporoval súbory na ukladanie do čakacej zóny vo formáte Windows, ktoré ukladajú údaje o tlačových úlohách. Priame volania ovládača z prostredia Unixu sú vylúčené.
    • K témam WinRT bola pridaná podpora tmavého režimu. Do WineCfg bolo pridané nastavenie, ktoré umožňuje tmavý dizajn rozhrania.
    • Ovládač pre grafické API Vulkan pridal podporu pre špecifikáciu Vulkan 1.3.272 (8.0 bola podporovaná vo Wine 1.3.237).
    • Funkcie knižnice GdiPlus boli optimalizované, čo umožňuje zvýšený grafický výkon.
  • Direct3D
    • Analýza toku viacvláknových príkazov je pozastavená, keď sa nespracovávajú žiadne príkazy na vykresľovanie, čo umožňuje znížiť spotrebu energie na úroveň jednovláknového spracovania pri vykonávaní programov, ktoré nezaberajú celú šírku pásma toku príkazov.
    • Direct3D 10 obsahuje podporu pre ďalšie efekty.
    • Vykonala optimalizáciu výkonu kódu a backendu WineD3D pomocou grafického rozhrania API Vulkan.
    • Vykresľovací kód založený na rozhraní Vulkan API teraz kontroluje, aké funkcie zariadenie podporuje, a informuje aplikáciu, aká úroveň funkčnosti Direct3D je k dispozícii.
    • Boli implementované funkcie D3DXFillTextureTX a D3DXFillCubeTextureTX.
    • Klasický backend shadera OpenGL ARB pridal podporu pre definovanie tieňov pomocou rozšírenia ARB_fragment_program_shadow.
    • Funkcie D3DXLoadMeshHierarchyFromX a podobné funkcie majú pridanú podporu pre načítanie používateľských údajov pomocou rozhrania ID3DXLoadUserData.
  • Zvuk a video
    • Bola navrhnutá počiatočná implementácia rozhrania DirectMusic API. Pridaná podpora pre kolekcie, nástroje a zvukové vzorky vo formáte SoundFont. Pridaná podpora pre Dopplerov efekt. Boli implementované testy na overenie správnej implementácie pri prevádzke dmime sekvencera a dmsynth MIDI syntetizátora.
    • Knižnica FluidSynth je zabudovaná do rozhrania DirectMusic API na použitie.
    • Implementovaná podpora pre načítavanie zvukových fontov (SoundFont - formáty pre syntézu založenú na vzorkách používané na prehrávanie MIDI súborov) vo formátoch DLS1 a DLS2, ako aj vo formáte SF2 používanom v Linux.
    • Pridaná možnosť prehrávania MIDI obsahu pomocou knižnice dmsynth, pomocou softvérového syntetizátora FluidSynth a rozhrania DirectSound API pre zvukový výstup.
    • Pridaný dekodér pre video vo formáte video kodeku Indeo IV50.
  • DirectShow
    • Bola implementovaná komponenta DMO (DirectX Media Object) s dekodérom formátu WMV (Windows Mediálne video).
    • Pridaný filter na zachytávanie zvuku (Filter na zachytávanie zvuku DirectShow).
    • Okrem audio streamov teraz MPEG-1 Stream Splitter (DirectShow MPEG-1 Stream Splitter) podporuje aj video streamy a servisné toky.
    • Bol implementovaný filter na dekódovanie videa vo formáte MPEG‑1 (DirectShow MPEG‑1 Video Decoder).
  • Vstupné zariadenia
    • DirectInput podporuje mapovanie akcií, ktoré vám umožňuje viazať tlačidlá na hernom ovládači na konkrétne akcie v hrách.
  • Desktopová integrácia
    • Väzby boli exportované do hlavného používateľského prostredia, čo umožňuje, aby sa aplikácie bežiace pod Wine volali ako obslužné nástroje protokolu pri otváraní adresy URL (napríklad spustenie súboru spotify.exe pri otváraní odkazov ako „spotify:user:spotify:playlist:848218482355482821“).
    • Implementovaná extrakcia údajov EDID (Extended Display Identification Data) s informáciami o parametroch pripojeného monitora, ako je názov a model zariadenia.
    • Okno pracovnej plochy nasadené v režime celej obrazovky je možné zatvoriť pomocou tlačidla „Ukončiť pracovnú plochu“ v ponuke „Štart“.
  • Internacionalizácia
    • Podpora pre editory IME (Input Method Editors) bola rozšírená. Boli vykonané práce na zabezpečení kompatibility s natívnymi Windows Implementácie IME a vylepšená integrácia s Linux EMI
    • Generovanie miestnych databáz vo formáte locale.nls z databázy Unicode CLDR (Unicode Common Locale Data Repository) verzie 44 Bola poskytnutá podpora pre ďalšie lokality bew-ID, blo-BJ, csw-CA, tj-EE, mic-CA. , bol pridaný prg-PL , skr-PK, tyv-RU, vmw-MZ, xnr-IN a za-CN.
    • Rozhranie bolo preložené do gruzínčiny. Úplné preklady sú k dispozícii pre 16 jazykov a čiastočné preklady pre 31 jazykov.
    • Tabuľky znakov Unicode boli aktualizované na štandardnú verziu 15.1.0. Databáza časových pásiem bola aktualizovaná.
  • Jadro (rozhrania jadra Windows)
    • Ako vydaná verzia Windows definované štandardne Windows 10.
    • Pre spustiteľné súbory vo formáte PE je implementovaná podpora pre randomizáciu adresného priestoru (ASLR), ale adresy pre načítanie kódu do pamäte ešte nie sú úplne randomizované.
    • Bola implementovaná podpora pre slabo fragmentovanú haldu (LFH, Low Fragmentation Heap), čo zvýšilo výkon operácií prideľovania pamäte.
    • Do mechanizmu prideľovania virtuálnej pamäte bola pridaná podpora pre rezerváciu pamäte (zástupný symbol), čo umožňuje aplikácii rezervovať konkrétnu oblasť virtuálnej pamäte pre budúce použitie.
    • 64-bitové zavádzače (loader a preloader) spustiteľných súborov a knižníc sú kompilované vo formáte PIE (Position-Independent Executables), aby sa uvoľnila časť 32-bitového adresného priestoru.
    • Správne odvíjanie zásobníka je zabezpečené pre systémové volania NT a spätné volania používateľov.
  • Sieťové funkcie
    • Motor MSHTML podporuje mechanizmus zberu odpadu „Cycle Collection“.
    • MSHTML pridal podporu pre synchrónne spracovanie požiadaviek XMLHttpRequest.
    • jscript.dll pridáva podporu pre objekt WeakMap na prácu s kolekciou párov kľúč/hodnota, v ktorých kľúčom je objekt, ktorý môže mať priradenú ľubovoľnú hodnotu. Implementované metódy WeakMap.get(), WeakMap.delete(), WeakMap.clear() a WeakMap.has().
    • Motor prehliadača Gecko bol aktualizovaný na verziu 2.47.4.
    • Bola implementovaná podpora upozornení na zmeny stavu sieťového rozhrania.
  • Kryptografia a bezpečnosť
    • Do knižnice Winscard.dll bola pridaná podpora pre čipové karty, implementovaná prostredníctvom systémovej knižnice PCSClite.
    • BCrypt pridal podporu pre protokol výmeny kľúčov Diffie-Hellman.
    • Bol implementovaný balík Negotiate, ktorý poskytuje vrstvu na používanie rozhrania SSPI (Security Support Provider Interface) na prístup k poskytovateľom SSP (Security Support Provider).
  • Vstavané aplikácie
    • Wine Debugger (winedbg) používa knižnicu Zydis na rozoberanie inštrukcií stroja X86.
    • Rozhranie WineCfg bolo aktualizované, aby podporovalo staršie verzie na 64-bitových platformách. Windows (pred XP), ktorý umožňuje spúšťať staršie aplikácie pomocou režimu WoW64.
    • Všetky vstavané grafické aplikácie teraz zobrazujú informácie o chybách v samostatnom dialógovom okne namiesto toho, aby ich zobrazovali v konzole.
    • Program systeminfo zobrazuje informácie z databázy WMI (Windows Riadiaca inštrumentácia).
    • Pridaná aplikácia klist na zobrazenie lístkov Kerberos.
    • Aplikácia taskkill implementuje schopnosť násilne ukončiť podriadené procesy.
    • Do štartovacieho nástroja bola pridaná možnosť „/machine“ na výber architektúry použitej pri spúšťaní hybridných spustiteľných súborov, ktoré podporujú x86 a ARM.
    • Väčšina funkcií programu tasklist bola implementovaná.
    • Pridaná základná implementácia aplikácie findstr.
  • Vývojové nástroje
    • Nástroj WineDump má schopnosť zobraziť obsah súborov registra. Windows (formát REGF), ako aj zobrazenie údajov pre všetky architektúry (x86/ARM64) podporované v hybridných PE súboroch.
    • Kompilátor IDL pridal podporu pre atribúty "composable", "default_overload", "deprecated" a "protected".
    • Odstránený súbor libwine.so, ktorý bol vo Wine 6.0 zastaraný a vo Wine sa už dlho nepoužíva. Programy vo formáte ELF zabudované v starších verziách Wine (5.0 a starších) s libwine.so vyžadujú prestavbu, aby fungovali vo Wine 9.0.
  • Vstavané knižnice a externé závislosti
    • Knižnice FluidSynth 2.3.3, Musl 1.2.3 (iba matematické funkcie) a Zydis 4.0.0 sú integrované do balíka.
    • Komponenty Vkd3d 1.10, Faudio 23.12, OpenLDAP 2.5.16, LCMS2 2.15, LibMPG123 1.32.2, LibPng 1.6.40, LibTiff 4.6.0, LibXml2 2.11.5 boli aktualizované na nové verzie Zlib1.1.38X1.3. Engine Wine Mono s implementáciou platformy .NET bol aktualizovaný na verziu 8.1.0.
    • Ovládač winewayland.drv používa klientsku knižnicu Wayland ako externé závislosti, ako aj knižnice xkbcommon a xkbregistry.
    • Na podporu inteligentných kariet sa používa externá knižnica PCSClite (v macOS — PCSC).
    • Vytváranie súborov PE na platformách iných ako i386 teraz vyžaduje krížový kompilátor s podporou direktív „.seh“ na spracovanie výnimiek.

Zdroj: opennet.ru

Kúpte si spoľahlivý hosting pre stránky s DDoS ochranou, VPS VDS servery 🔥 Kúpte si spoľahlivý webhosting s ochranou DDoS, VPS VDS servery | ProHoster