Stabilné vydanie Wine 10.0

Po roku vývoja a 29 experimentálnych verziách bola predstavená stabilná verzia otvorenej implementácie Win32 API - Wine 10.0, ktorá obsahovala 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, štandardné zahrnutie ovládača Wayland, implementácia panelov na nastavenie obrazovky a joysticku, alternatívny multimediálny backend založený na FFmpeg, Bluetooth ovládač, podpora Vulkan 1.4, schopnosť emulácie prepínanie video režimov.

Bolo potvrdené, že 5372 programov funguje správne vo Wine Windows (5336 pred rokom, 5266 pred dvoma rokmi, 5156 pred tromi rokmi), ďalších 4435 programov (4397 pred rokom, 4370 pred dvoma rokmi, 4312 pred tromi rokmi) funguje bez problémov s dodatočnými nastaveniami a externými knižnicami DLL. 4020 programov (3943 pred rokom, 3888 pred dvoma rokmi, 3813 pred tromi rokmi) má menšie problémy, ktoré neovplyvňujú používanie základných funkcií aplikácie.

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

  • ARM64
    • Plná podpora je poskytovaná pre architektúru ARM64EC (ARM64 Emulation Compatible), ktorej úroveň podpory vo Wine dosiahla rovnakú úroveň ako architektúra ARM64. Architektúra ARM64EC je navrhnutá tak, aby zjednodušila portovanie aplikácií pôvodne napísaných pre systémy x64_86 na systémy ARM64 a umožňuje spustenie jednotlivých modulov kódu x64_86 v prostredí ARM64 pomocou emulátora.
    • Plná podpora bola implementovaná pre formát súboru ARM64X PE, ktorý umožňuje kombinovať kód pre architektúry ARM64EC a ARM64 do jedného spustiteľného súboru. Na zostavenie Wine vo formáte ARM64X je potrebné nainštalovať LLVM z Git (potrebná funkcionalita bude zahrnutá vo vydaní LLVM 20) a pri spustení skriptu „configure“ zadať možnosť „-enable-archs=arm64ec,aarch64“ .
    • Bolo implementované rozhranie pre emuláciu 64-bitových x86 systémov. Keď používate ARM64EC, samotné Wine beží tak, ako je, a emulácia sa aplikuje iba na kód aplikácie x86-64. Knižnica s emulátorom zatiaľ nie je súčasťou hlavného balíka Wine, ale na spustenie kódu x86-64 v prostredí ARM64 môžete použiť externý emulátor FEX postavený s podporou ARM64EC.
    • Для поддержки ARM64 необходимо использование в системе страниц памяти размером 4КБ, как того требует ABI Windows (запуск в окружениях с ядрами Linux, использующими страницы памяти 16K или 64K пока не поддерживается).
  • Grafický subsystém
    • Implementované presnejšie škálovanie na obrazovkách s vysokou hustotou pixelov (High-DPI). Podpora režimu DPI Awareness bola poskytnutá na organizáciu zobrazenia aplikácií na obrazovkách s vysokou hustotou pixelov, pričom sa berie do úvahy, či aplikácia podporuje prispôsobenie sa zmenám DPI alebo nie (aplikácie, ktoré nezohľadňujú DPI, sú škálované automaticky). Pridané možnosti na potlačenie podpory vysokého DPI pre jednotlivé aplikácie alebo predpony Wine.
    • Do ovládača pre grafické API Vulkan bola pridaná podpora pre špecifikáciu Vulkan 1.4 (Vulkan 9.0 bol podporovaný vo Wine 1.3.272). Pridaná podpora pre rozšírenia Vulkan pre kódovanie a dekódovanie videa.
    • Pri použití backendu X11 bola implementovaná možnosť vykresľovať detské okná Vulkan pre aplikácie, ktoré používajú takéto okná na zobrazenie 3D obsahu (predtým bola takáto funkcia dostupná len pre OpenGL).
    • Do knižnice GdiPlus bola pridaná podpora mechanizmu prepájania fontov, ktorá umožňuje použiť niekoľko fontov pri zobrazovaní textu, ak neexistujú fonty, ktoré samostatne pokrývajú všetky znaky nachádzajúce sa v texte.
  • Wayland
    • В конфигурации по умолчанию активирован драйвер winewayland.drv, позволяющий использовать Wine в окружениях на базе протокола Wayland без применения XWayland и компонентов X11. Wine запускает приложения по умолчанию на Wayland напрямую только если XWayland недоступен, в противном случае запуск с использованием XWayland остаётся приоритетным. Для принудительного включения Wayland можно использовать переменную окружения DISPLAY, либо добавить ключ в реестр, создав файл file.reg: Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\Wine\Drivers] «Graphics»=»wayland» и применив его командой: $ WINEPREFIX=/путь/до/префикса wine regedit /путь/до/file.reg
    • Pridaná podpora pre OpenGL a pixelové vyrovnávacie pamäte (pBuffer) do ovládača winewayland.drv.
    • Vyriešené problémy s umiestnením vyskakovacích okien v prostrediach založených na Wayland.
    • Pri používaní Wayland je implementovaná podpora automatického opakovaného stláčania pri držaní kláves.
  • Desktopová integrácia
    • Pridaný experimentálny mechanizmus emulácie "modeset", ktorý vám umožňuje emulovať prepínanie video režimov bez skutočnej zmeny nastavení obrazovky. Viditeľnosť meniaceho sa rozlíšenia obrazovky bez prepínania režimu videa je vytvorená rozšírením a zmenou mierky okien.
    • Bol pridaný nový aplet Desktop Control Panel (desk.cpl) s implementáciou rozhrania na správu nastavení zobrazenia (môžete napríklad zmeniť virtuálne rozlíšenie pracovnej plochy alebo nakonfigurovať parametre emulovaného zobrazenia).
    • Pridaná možnosť obnoviť nastavenia obrazovky na predvolené hodnoty, ak nie je možné obnoviť stav po zlyhaní procesu.
    • Добавлена поддержка отключения показа пиктограмм в системном лотке (в «HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer» следует указать «NoTrayItemsDisplay=1»).
    • Добавлена поддержка отключения оболочек (Shell launcher) в режиме десктопа (в «HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer» следует указать «NoDesktop=1»).
  • Direct3D
    • Vykresľovanie pomocou OpenGL teraz vyžaduje podporu pre GLSL 1.20, ako aj rozšírenia EXT_framebuffer_object a ARB_texture_non_power_of_two. Podpora starého backendu shadera ARB a nastavenia OffscreenRenderingMode bola ukončená.
    • Pre Direct3D 9 a staršie bola pridaná fixná grafická linka funkcií (staré Direct3D poskytovalo iba preddefinované grafické operácie, ktoré nebolo možné zmeniť), implementované pomocou shader jazyka HLSL a umožňujúce emuláciu pevnej funkcie pri vykresľovaní cez Vulkan alebo OpenGL API.
    • Vykresľovanie pomocou Vulkan využíva rozšírenia Vulkan na dynamickú zmenu stavu grafického potrubia, čím sa znižuje zasekávanie v hrách.
    • Pridaný alternatívny backend glsl-vkd3d pre shadery GLSL pomocou vkd3d-shader.
    • Poskytnutá počiatočná podpora pre kompiláciu Direct3D efektov pomocou vkd3d-shader.
    • Knižnica D3DX9 implementuje schopnosť generovať MIP textúry (MipMap) pri načítaní volumetrických textúr. Pridaná podpora pre formáty reprezentácie farieb 64bpp RGBA a 48bpp RGB v obrázkoch PNG, ako aj formáty 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ý na prevádzku rámca Media Foundation. Ak chcete povoliť alternatívny backend, mali by ste zadať „DisableGstByteStreamHandler=1“ v sekcii registra „HKCU\Software\Wine\MediaFoundation“.
    • Implementácia rozhrania Media Foundation API bola vylepšená tak, aby lepšie vyhovovala aplikáciám, ktoré závisia od komponentov demultiplexovania a dekódovania.
    • DirectMusic API pridalo podporu pre načítanie MIDI súborov.
  • Vstupné zariadenia
    • Pridaná počiatočná verzia ovládača Bluetooth.
    • Pridaný applet Joystick Control Panel (joy.cpl) s implementáciou nastavení pre joystick.
    • Внесены улучшения, связанные с устройствами управления указателем (тачпады, мыши), использующими протокол HID (Human Interface Device). Добавлен драйвер mouhid.sys для HID-устройств. Реализован корректный разбор составных устройств ввода и обеспечена передача информации о них в Windows-приложения, как о раздельных устройствах.
    • Pre backend X11 bola pridaná podpora pre dotykové obrazovky a bola implementovaná možnosť používať viacdotykový režim prostredníctvom spracovania správ WM_POINTER* (WM_POINTERENTER, WM_POINTERLEAVE atď.).
    • Implementované umiestnenie niektorých interných štruktúr knižnice user32 do zdieľanej pamäte, čo zvýšilo výkon a znížilo zaťaženie Wine Servera.
    • Winex11 pridal podporu spracovania udalostí XInput2 vo vzťahu k jednotlivým oknám.
    • Implementovaná správna podpora klávesníc s rozložením Dvorak.
  • Jadro (rozhrania jadra Windows)
    • Pridaná podpora pre eskaláciu privilégií procesu (procesu, ktorý je pôvodne spustený ako štandardný užívateľ, možno udeliť administrátorské práva). Pri vytváraní serverových procesov (msi action server), ako aj procesov, ktoré volajú funkcie RtlCreateUserProcess() a CreateProcessInternal(), je predvolene povolený obmedzený token správcu.
    • Pri získavaní informácií o menovkách diskov, kedykoľvek je to možné, sa teraz používa prístup k systémovým službám cez DBus namiesto pokusu o priamy prístup k zariadeniu.
    • Однонаправленный механизм межпроцессного взаимодействия (IPC) Mailslots теперь реализован непосредственно в Wine server, что позволило добиться полной поддержки семантики Windows.
    • Implementované čakanie na udalosti sériového portu v asynchrónnom režime.
    • Pridaná plná podpora pre rozšírenia procesora XSTATE v kontexte vlákien, čo umožňuje použitie nových vektorových rozšírení, ako je AVX-512.
  • Vstavané aplikácie
    • Motor spracovania vstupných údajov používaný v interpretači príkazov cmd.exe bol prepísaný. Pridaná podpora pre operácie „||“ do cmd.exe A "&&".
    • Pomôcka findstr pridala podporu pre regulárne výrazy a vyhľadávanie bez ohľadu na veľkosť písmen.
    • Do pomocných programov regsvr32 a rundll32 bola pridaná možnosť registrovať moduly ARM64EC.
    • Pridané nástroje: sort na triedenie vstupných údajov, fc na porovnávanie súborov a kde na vyhľadávanie súborov.
    • Aplikácia wmic implementuje interaktívny režim prevádzky.
    • Prieskumník pridal voliteľnú podporu pre ponuku Štart a panel s nástrojmi. Povolené spustenie explorer.exe s obmedzenými prístupovými právami.
  • Vývojové nástroje
    • Pridaná možnosť „-marm64x“ do zostavy vína na generovanie hybridných knižníc ARM64X.
    • Do winegcc bola pridaná možnosť „-marm64x“, ktorá umožňuje zostavenie pre ARM64X.
    • Súbory generované pomocou jazyka IDL (Interface Definition Language) používajú komponenty, ktoré plne podporujú vykonávanie v interpretovanom režime.
    • Do kompilátora IDL (Interface Definition Language) bola pridaná podpora pre generovanie knižníc typov (TypeLib) v starom formáte (SLTG).
    • Pomôcka winedump pridala podporu pre ukladanie výpisov tabuliek minidump, informácií o výnimkách C++ a zdrojov typelib.
  • rôzne
    • Vylepšená podpora pre protokol výmeny kľúčov Diffie-Hellman (DH). Pridaná možnosť konfigurovať a prijímať parametre DH. Implementované obslužné programy na vytváranie párov verejných a súkromných kľúčov.
    • Poskytuje sa použitie prírastkovej výplne OAEP (Optimal Asymmetric Encryption Padding) spolu s algoritmom RSA.
    • DirectPlay API podporuje sieťové relácie.
    • Vylepšené spracovanie asynchrónnych vstupno-výstupných stavov pri práci v režime WoW64 (64-bit) Windows-ON-Windows), čo vám umožňuje spúšťať 32-bitové Windows-aplikácie na 64-bitových unixových systémoch.
    • Добавлена поддержка загрузки ODBC-драйверов к СУБД, собранных для Windows.
    • Pre platformu ARM je implementovaná plná podpora pre výnimky RPC/COM, C++ RTTI (Run-Time Type Information) a C++.
    • V runtime C implementujú funkcie ANSI podporu pre kódovanie UTF-8.
    • Možnosti enginu MSHTML boli rozšírené. Pridaná podpora pre prototypy a konštruktory objektov. K jadru JavaScript bolo pridané nové rozhranie na viazanie objektov pre MSHTML. Vstavané funkcie MSHTML boli skonvertované na platné objekty JavaScript. Vylepšené zhromažďovanie odpadu JavaScript na pokrytie všetkých kontextov vykonávania skriptov vo vlákne. Pridaná podpora pre objekty JavaScript ArrayBuffer a DataView.
    • Do kontinuálneho integračného systému založeného na Gitlabe bola pridaná podpora pre statickú analýzu pomocou testovacích správ Clang a JUnit.
    • V balíku je zabudovaná knižnica Capstone 5.0.3, prostredníctvom ktorej je v debuggeri WineDb implementovaná demontáž.
    • Komponenty aktualizované na nové verzie: 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.44iff.4.7.0 LibPng 2iff.2.12.8. LibT 1.1.42, LibXslt 1.3.1 a Zlib XNUMX.

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