Stabilné vydanie Wine 10.0

Po roku vývoja a 29 experimentálnych verzií bol predstavený stabilný release otvorenej implementácie Win32 API – Wine 10.0, ktorá zahŕňa viac ako 6000 zmien. Medzi kľúčové úspechy v novej verzii patrí plná podpora architektúry ARM64EC, škálovanie na obrazovkách s vysokou hustotou pixelov, predvolené zapnutie ovládača Wayland, implementácia panelov na nastavenie obrazovky a joysticku, alternatívny multimediálny backend založený na FFmpeg, ovládač Bluetooth, podpora Vulkan 1.4 a možnosť emulácie prepínania video režimov.

Vo Wine je potvrdená plná funkčnosť 5372 programov pre Windows (pred rokom 5336, pred dvoma rokmi 5266, pred tromi rokmi 5156), ďalších 4435 programov (pred rokom 4397, pred dvoma rokmi 4370, pred tromi rokmi 4312) pracuje skvele s dodatočnými nastaveniami a externými DLL. U 4020 programov (pred rokom 3943, pred dvoma rokmi 3888, pred tromi rokmi 3813) sa pozorujú drobné problémy pri prevádzke, ktoré nebránia používaniu základných funkcií aplikácií.

Kľúčové novinky Wine 10.0:

  • ARM64
    • Bola zabezpečená plná podpora architektúry ARM64EC (ARM64 Emulation Compatible), úroveň podpory v Wine, ktorá dosiahla paritu s architektúrou ARM64. Architektúra ARM64EC bola vyvinutá na uľahčenie portovania aplikácií určených pre systémy x86_64 na ARM64 a umožňuje spúšťať v prostredí ARM64 samostatné moduly s kódom x86_64 pomocou emulátora.
    • Bola implementovaná plná podpora formátu PE súborov ARM64X, ktorý umožňuje kombinovať v jednom spustiteľnom súbore kód pre architektúry ARM64EC a ARM64. Na zostavenie Wine vo formáte ARM64X je potrebné nainštalovať LLVM z Git (požadovaná funkčnosť bude súčasťou vydania LLVM 20) a pri spustení skriptu "configure" zadať možnosť "--enable-archs=arm64ec,aarch64".
    • Bol implementovaný rozhranie pre emuláciu 64-bitových systémov x86. Pri použití ARM64EC sám Wine funguje tak, ako je, a emulácia sa aplikuje len na kód aplikácií x86-64. Knižnica s emulátorom zatiaľ nie je súčasťou hlavného zloženia Wine, ale na spustenie kódu x86-64 v prostredí ARM64 je možné použiť externý emulátor FEX, zostavený s podporou ARM64EC.
    • Na podporu ARM64 je potrebné v systéme používať stránky pamäte veľkosti 4KB, ako to vyžaduje ABI Windows (spúšťanie v prostrediach s jadrami Linux, ktoré používajú stránky pamäte 16K alebo 64K, zatiaľ nie je podporované).
  • Grafický subsystém
    • Bolo implementované presnejšie škálovanie na obrazovkách s vysokou hustotou pixelov (High-DPI). Zabezpečená podpora režimu DPI Awareness pre organizovanie zobrazenia aplikácií na obrazovkách s vysokou hustotou pixelov, s ohľadom na to, či aplikácia podporuje prispôsobenie na zmenu DPI alebo nie (aplikácie, ktoré nezohľadňujú DPI, sa automaticky škálujú). Pridali sa možnosti na prekonanie podpory High-DPI viazaním na jednotlivé aplikácie alebo prefixy Wine.
    • Do ovládača pre grafické API Vulkan bola pridaná podpora špecifikácie Vulkan 1.4 (v Wine 9.0 bola podporovaná Vulkan 1.3.272). Pridaná podpora rozšírení Vulkan pre kódovanie a dekódovanie videa.
    • Pri použití backendu X11 bola implementovaná možnosť vykresľovania podokien Vulkan pre aplikácie, ktoré používajú takéto okná na zobrazenie 3D obsahu (predtým bola takáto možnosť dostupná iba pre OpenGL).
    • Do knižnice GdiPlus bola pridaná podpora mechanizmu prepojenia písiem („Font Linking“), ktorý umožňuje pri zobrazení textu využiť niekoľko písiem, ak chýbajú písma, ktoré samostatne pokrývajú všetky v texte sa vyskytujúce znaky.
  • Wayland
    • V predvoľbe je aktivovaný ovládač winewayland.drv, ktorý umožňuje používať Wine v prostrediach založených na protokole Wayland bez použitia XWayland a komponentov X11. Wine spúšťa aplikácie predvolene na Waylande priamo, iba ak nie je dostupný XWayland, inak zostáva spustenie s využitím XWayland prioritné. Na nútené zapnutie Waylandu je možné použiť premennú prostredia DISPLAY, alebo pridať kľúč do registra vytvorením súboru file.reg: Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\Wine\Drivers] „Graphics“=„wayland“ a aplikovaním nasledujúcou príkazom: $ WINEPREFIX=\/cesta\/k\/prefixu wine regedit \/cesta\/k\/file.reg
    • Do ovládača winewayland.drv bola pridaná podpora OpenGL a pixelových búferov (pBuffer).
    • Boli vyriešené problémy s umiestnením vyskakovacích okien v prostrediach založených na Waylande.
    • Pri použití Waylandu bola implementovaná podpora automatického opakovania stlačenia pri podržaní kláves.
  • Integrácia s pracovnou plochou
    • Bol pridaný experimentálny mechanizmus emulácie „modesetting“, ktorý umožňuje emuláciu prepínania video režimov bez skutočnej zmeny nastavení obrazovky. Viditeľnosť zmeny rozlíšenia obrazovky bez prepínania video režimu sa vytvára prostredníctvom rozšírenia a škálovania okien.
    • Pridaná nová aplikácia Desktop Control Panel (desk.cpl) s realizáciou rozhrania na správu nastavení displeja (napríklad je možné zmeniť virtuálne rozlíšenie pracovnej plochy alebo nastaviť emulované parametre displeja).
    • Pridaná možnosť resetovania nastavení obrazovky na predvolené hodnoty v prípade, že nie je možné obnoviť stav po havarijnom ukončení procesu.
    • Pridaná podpora na vypnutie zobrazenia ikoniek v systémovej lište (v „HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer“ je potrebné uviesť „NoTrayItemsDisplay=1“).
    • Pridaná podpora vypnutia shellov (Shell launcher) v režime pracovnej plochy (v „HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer“ je potrebné uviesť „NoDesktop=1“).
  • Direct3D
    • Na vykresľovanie pomocou OpenGL je teraz potrebná podpora GLSL 1.20, ako aj rozšírení EXT_framebuffer_object a ARB_texture_non_power_of_two. Podpora starého backendu ARB shader a nastavení OffscreenRenderingMode bola ukončená.
    • Pre Direct3D 9 a staršie verzie bol pridaný grafický pipeline pevných funkcií (v starších Direct3D boli k dispozícii iba preddefinované grafické operácie, ktoré bolo nemožné meniť), realizovaný pomocou jazyka shaderov HLSL a umožňujúci emuláciu pevných funkcií pri vykresľovaní prostredníctvom API Vulkan alebo OpenGL.
    • Pri vykresľovaní pomocou Vulkan sú využívané Vulkan-rozšírenia na dynamické zmeny stavu grafického pipeline, umožňujúce skrátiť záseky v hrách.
    • Pridaný alternatívny backend glsl-vkd3d pre shadery GLSL, využívajúci vkd3d-shader.
    • Poskytnutá základná podpora pre kompiláciu efektov Direct3D, využívajúcich vkd3d-shader.
    • V knižnici D3DX9 bola implementovaná možnosť generovania MIP-textúr (MipMap) pri načítaní objemových textúr. Pridaná podpora formátov zobrazenia farby 64bpp RGBA a 48bpp RGB v obrázkoch PNG, ako aj formátov X8L8V8U8, A2W10V10U10, A8P8, V16U16 a Q16W16V16U16.
  • Zvuk a video
    • Ako alternatíva k backendu založenému na GStreamer bol implementovaný nový multimediálny backend, založený na použití FFmpeg a vhodný pre zabezpečenie prevádzky rámca Media Foundation. Na aktivovanie alternatívneho backendu v sekcii registru „HKCU\Software\Wine\MediaFoundation“ je potrebné uviesť „DisableGstByteStreamHandler=1“.
    • Vylepšená realizácia API Media Foundation, ktorá sa teraz lepšie kombinuje s aplikáciami závislými od komponentov demultiplexovania a dekódovania.
    • V API DirectMusic bola pridaná podpora nahrávania súborov MIDI.
  • Vstupné zariadenia
    • Pridaná počiatočná verzia ovládača Bluetooth.
    • Pridaný ovládací panel Joystick Control Panel (joy.cpl) s implementáciou nastavení pre joystick.
    • Vykonané vylepšenia týkajúce sa zariadení na ovládanie kurzora (touchpady, myši), ktoré používajú protokol HID (Human Interface Device). Pridaný ovládač mouhid.sys pre HID zariadenia. Implementované správne rozpoznávanie zložených vstupných zariadení a zabezpečený prenos informácií o nich do aplikácií Windows ako o samostatných zariadeniach.
    • Pre backend X11 bola pridaná podpora dotykových obrazoviek a implementovaná možnosť používať režim multitouch prostredníctvom spracovania správ WM_POINTER* (WM_POINTERENTER, WM_POINTERLEAVE a pod.).
    • Implementované umiestnenie niektorých vnútorných štruktúr knižnice user32 do zdieľanej pamäte, čo zvýšilo výkon a znížilo záťaž na Wine Server.
    • Vo winex11 bola pridaná podpora spracovania udalostí XInput2 viazaných na jednotlivé okná.
    • Implementovaná správna podpora klávesníc s rozložením Dvorak.
  • Jadro (rozhrania jadra Windows)
    • Pridaná podpora zvýšenia privilégií procesov (procesu, ktorý bol pôvodne spustený pod obyčajným používateľom, môžu byť poskytnuté privilégia administrátora). Pri vytváraní serverových procesov (msi action server) a taktiež procesov, ktoré volajú funkcie RtlCreateUserProcess() a CreateProcessInternal(), je predvolene použitý obmedzený token administrátora.
    • Pri získavaní informácií o štítkoch diskov sa teraz, ak je to možné, používa prístup k systémovým službám cez DBus, namiesto pokusu o priamy prístup k zariadeniu.
    • Jednosmerný mechanizmus medzi procesmi (IPC) Mailslots je teraz implementovaný priamo v Wine serveri, čo umožnilo dosiahnuť plnú podporu semantiky Windows.
    • Implementované čakanie na udalosti sériového portu v asynchrónnom režime.
    • Pridaná plná podpora procesorových rozšírení XSTATE v kontextoch vlákna, čo umožnilo využívať nové vektorové rozšírenia, ako AVX-512.
  • Built-in applications
    • Prepisaný motor spracovania vstupu, používaný v príkazovom interpreteri cmd.exe. V cmd.exe bola pridaná podpora operácií „||“ a „&&“.
    • Do nástroja findstr bola pridaná podpora regulárnych výrazov a hľadania bez ohľadu na veľkosť písmen.
    • Do nástrojov regsvr32 a rundll32 bola pridaná možnosť registrácie modulov ARM64EC.
    • Pridané nástroje: sort na triedenie vstupných údajov, fc na porovnávanie súborov a where na vyhľadávanie súborov.
    • V aplikácii wmic bol implementovaný interaktívny režim.
    • Do Explorer bola pridaná voliteľná podpora pre štartovacie menu a panel nástrojov. Bol zabezpečený spustenie explorer.exe s obmedzenými prístupovými právami.
  • Development tools
    • Do winebuild bola pridaná možnosť „-marm64x“ na generovanie hybridných knižníc ARM64X.
    • Do winegcc bola pridaná možnosť „-marm64x“, ktorá zabezpečuje zostavenie pre ARM64X.
    • V súboroch generovaných pomocou jazyka na popis rozhraní IDL (Interface Definition Language) sú použité komponenty, ktoré plne podporujú vykonávanie v interpretačnom režime.
    • Do kompilátora jazyka popisu rozhrania IDL (Interface Definition Language) bola pridaná podpora generovania knižníc typov (TypeLib) v starom formáte (SLTG).
    • Do nástroja winedump bola pridaná podpora ukladania výpisov tabuliek minidump, informácií o výnimkách C++ a prostriedkov typelib.
  • Rôzne
    • Zlepšená podpora protokolu výmeny kľúčov Diffie-Hellman (DH). Pridaná možnosť konfigurácie a získavania parametrov DH. Implementované spracovateľské programy na vytváranie párov z verejného a súkromného kľúča.
    • Zabezpečené použitie doplnkového vypĺňania OAEP (Optimal Asymmetric Encryption Padding) spolu s algoritmom RSA.
    • V API DirectPlay bola implementovaná podpora sieťových relácií.
    • Bola zlepšená správa stavov asynchrónneho vstupu/výstupu pri práci v režime WoW64 (64-bit Windows-on-Windows), ktorý umožňuje spúšťanie 32-bitových Windows aplikácií v 64-bitových unixových systémoch.
    • Pridaná podpora načítania ODBC ovládačov k databázam, zostaveným pre Windows.
    • Pre platformu ARM bola implementovaná plná podpora RPC/COM, C++ RTTI (Run-Time Type Information) a výnimiek C++.
    • V C runtime v ANSI funkciách bola implementovaná podpora kódovania UTF-8.
    • Rozšírené možnosti enginu MSHTML. Pridaná podpora prototypov a konštruktérov objektov. Do JavaScript enginu bol pridaný nový rozhranie na prepojenie objektov pre MSHTML. Vstavané funkcie MSHTML boli transformované na platné objekty JavaScript. Vylepšený garbage collector pre JavaScript, ktorý teraz pokrýva všetky kontexty vykonávania skriptu v prúde. Pridaná podpora JavaScript objektov ArrayBuffer a DataView.
    • Do systému kontinuálnej integrácie založeného na Gitlabe bola pridaná podpora statickej analýzy pomocou Clang a správy o projdení testov JUnit.
    • Súčasťou je knižnica Capstone 5.0.3, prostredníctvom ktorej bolo implementované disassemblovanie v debuggery WineDb.
    • Aktualizované na nové verzie komponenty: 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 a Zlib 1.3.1.

Zdroj: opennet.ru

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