Po metų kūrimo ir 29 eksperimentinių versijų buvo pristatyta stabili atviro Win32 API diegimo versija - Wine 10.0, kurioje buvo daugiau nei 6000 pakeitimų. Pagrindiniai naujosios versijos pasiekimai apima visišką ARM64EC architektūros palaikymą, mastelio keitimą ekranuose su dideliu pikselių tankiu, Wayland tvarkyklės įtraukimą pagal numatytuosius nustatymus, ekrano ir vairasvirtės nustatymo skydų įdiegimą, alternatyvią daugialypės terpės programinę įrangą, paremtą FFmpeg, Bluetooth. tvarkyklė, Vulkan 1.4 palaikymas, emuliacijos galimybė perjungti vaizdo režimus.
5372 programų buvo patvirtintos tinkamai veikiančios „Wine“ aplinkoje. Windows (5336 prieš metus, 5266 prieš dvejus metus, 5156 prieš trejus metus), dar 4435 programų (4397 prieš metus, 4370 prieš dvejus metus, 4312 prieš trejus metus) puikiai veikia su papildomais nustatymais ir išoriniais DLL failais. 4020 programos (3943 prieš metus, 3888 prieš dvejus metus, 3813 prieš trejus metus) turi nedidelių problemų, kurios netrukdo naudotis pagrindinėmis programos funkcijomis.
Pagrindinės Wine 10.0 naujovės:
- ARM64
- Visiškas palaikymas teikiamas ARM64EC (ARM64 Emulation Compatible) architektūrai, kurios „Wine“ palaikymo lygis pasiekė lygiavertį ARM64 architektūros lygį. ARM64EC architektūra sukurta siekiant supaprastinti programų, iš pradžių sukurtų x64_86 sistemoms, perkėlimą į ARM64 sistemas ir leidžia atskiriems x64_86 kodo moduliams paleisti ARM64 aplinkoje naudojant emuliatorių.
- Visiškas ARM64X PE failo formato palaikymas, leidžiantis sujungti ARM64EC ir ARM64 architektūros kodą viename vykdomajame faile. Norėdami sukurti Wine ARM64X formatu, turite įdiegti LLVM iš Git (būtina funkcija bus įtraukta į LLVM 20 leidimą) ir paleisdami scenarijų "configure" nurodykite parinktį "-enable-archs=arm64ec,aarch64". .
- Įdiegta sąsaja, skirta emuliuoti 64 bitų x86 sistemas. Naudojant ARM64EC, pats Wine veikia toks, koks yra, o emuliacija taikoma tik x86-64 programos kodui. Biblioteka su emuliatoriumi dar neįtraukta į pagrindinį Wine paketą, tačiau norėdami paleisti x86-64 kodą ARM64 aplinkoje, galite naudoti išorinį FEX emuliatorių, sukurtą su ARM64EC palaikymu.
- Для поддержки ARM64 необходимо использование в системе страниц памяти размером 4КБ, как того требует ABI Windows (запуск в окружениях с ядрами Linux, использующими страницы памяти 16K или 64K пока не поддерживается).
- Grafikos posistemis
- Įdiegtas tikslesnis mastelio keitimas ekranuose su dideliu pikselių tankiu (High-DPI). Suteiktas DPI Awareness režimo palaikymas, kad būtų galima organizuoti programų rodymą ekranuose su dideliu pikselių tankiu, atsižvelgiant į tai, ar programa palaiko prisitaikymą prie DPI pokyčių, ar ne (programos, kurios neatsižvelgia į DPI, keičiasi automatiškai). Pridėtos parinktys, leidžiančios nepaisyti didelio DPI palaikymo atskiroms programoms arba „Wine“ prefiksams.
- Vulkan 1.4 specifikacijos palaikymas buvo pridėtas prie Vulkan grafikos API tvarkyklės (Vulkan 9.0 buvo palaikoma Wine 1.3.272). Pridėtas Vulkan plėtinių palaikymas vaizdo įrašų kodavimui ir dekodavimui.
- Naudojant X11 backend, buvo įdiegta galimybė pateikti Vulkan antrinius langus programoms, kurios naudoja tokius langus 3D turiniui rodyti (anksčiau tokia funkcija buvo prieinama tik OpenGL).
- „GdiPlus“ bibliotekoje buvo pridėtas šriftų susiejimo mechanizmo palaikymas, kuris leidžia naudoti kelis šriftus rodant tekstą, jei nėra šriftų, atskirai dengiančių visus tekste rastus simbolius.
- 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
- Winwayland.drv tvarkyklei pridėtas OpenGL ir pikselių buferių (pBuffer) palaikymas.
- Išspręstos problemos, susijusios su iššokančiųjų langų padėties nustatymu Wayland aplinkoje.
- Kai naudojate „Wayland“, palaikomas automatinis pakartojimas paspaudus laikant klavišus.
- Stalinio kompiuterio integravimas
- Pridėtas eksperimentinis „režimo nustatymo“ emuliacijos mechanizmas, leidžiantis mėgdžioti vaizdo režimų perjungimą nekeičiant ekrano nustatymų. Ekrano raiškos keitimo neperjungiant vaizdo režimo matomumas sukuriamas plečiant ir keičiant langus.
- Pridėta nauja darbalaukio valdymo skydelio programėlė (desk.cpl), kurioje įdiegta ekrano nustatymų valdymo sąsaja (pavyzdžiui, galite pakeisti virtualią darbalaukio skiriamąją gebą arba konfigūruoti emuliuojamus ekrano parametrus).
- Pridėta galimybė iš naujo nustatyti ekrano nustatymus į numatytąsias reikšmes, jei neįmanoma atkurti būsenos po proceso gedimo.
- Добавлена поддержка отключения показа пиктограмм в системном лотке (в «HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer» следует указать «NoTrayItemsDisplay=1»).
- Добавлена поддержка отключения оболочек (Shell launcher) в режиме десктопа (в «HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer» следует указать «NoDesktop=1»).
- Direct3D
- Atvaizdavimui naudojant OpenGL dabar reikia palaikyti GLSL 1.20, taip pat plėtinius EXT_framebuffer_object ir ARB_texture_non_power_of_two. Senosios ARB Shader backend ir OffscreenRenderingMode nustatymo palaikymas buvo nutrauktas.
- „Direct3D 9“ ir senesnėms versijoms buvo pridėtas fiksuotų funkcijų grafikos vamzdynas (senasis „Direct3D“ teikė tik iš anksto nustatytas grafikos operacijas, kurių nepavyko pakeisti), įdiegtas naudojant HLSL šešėliavimo kalbą ir leidžiantis fiksuotų funkcijų emuliaciją, kai pateikiama naudojant „Vulkan“ arba „OpenGL“ API.
- Atvaizduojant naudojant „Vulkan“, naudojami „Vulkan“ plėtiniai, kad dinamiškai pakeistų grafikos vamzdyno būseną ir sumažintų žaidimų mikčiojimą.
- Pridėta alternatyvi glsl-vkd3d backend, skirta GLSL šešėliams, naudojant vkd3d-shader.
- Suteikta pradinė pagalba kuriant Direct3D efektus naudojant vkd3d-shader.
- D3DX9 biblioteka įgyvendina galimybę generuoti MIP tekstūras (MipMap) įkeliant tūrines tekstūras. Pridėtas 64 bpp RGBA ir 48 bpp RGB spalvų vaizdavimo formatų PNG vaizduose palaikymas, taip pat X8L8V8U8, A2W10V10U10, A8P8, V16U16 ir Q16W16V16U16 formatų palaikymas.
- Garsas ir vaizdo įrašas
- Kaip alternatyva GStreamer pagrindu veikiančiai vidinei sistemai, buvo įdiegta nauja daugialypės terpės programa, pagrįsta FFmpeg naudojimu ir tinkama Media Foundation sistemai paleisti. Norėdami įjungti alternatyvią vidinę programą, registro skiltyje „HKCU\Software\Wine\MediaFoundation“ turite nurodyti „DisableGstByteStreamHandler=1“.
- „Media Foundation“ API diegimas buvo patobulintas, kad būtų geriau pritaikytos programos, kurios priklauso nuo demultipleksavimo ir dekodavimo komponentų.
- „DirectMusic“ API papildė MIDI failų įkėlimo palaikymą.
- Įvesties įrenginiai
- Pridėta pradinė „Bluetooth“ tvarkyklės versija.
- Pridėta vairasvirtės valdymo skydelio programėlė (joy.cpl) su vairasvirtės nustatymų įgyvendinimu.
- Внесены улучшения, связанные с устройствами управления указателем (тачпады, мыши), использующими протокол HID (Human Interface Device). Добавлен драйвер mouhid.sys для HID-устройств. Реализован корректный разбор составных устройств ввода и обеспечена передача информации о них в Windows-приложения, как о раздельных устройствах.
- X11 vidinėje programoje buvo pridėtas jutiklinių ekranų palaikymas ir įdiegta galimybė naudoti kelių palietimų režimą apdorojant WM_POINTER* pranešimus (WM_POINTERENTER, WM_POINTERLEAVE ir kt.).
- Įdiegtas kai kurių vidinių user32 bibliotekos struktūrų patalpinimas bendrojoje atmintyje, kuris padidino našumą ir sumažino Wine Server apkrovą.
- Winex11 pridėjo XInput2 įvykių apdorojimo palaikymą, susijusį su atskirais langais.
- Įdiegtas teisingas palaikymas klaviatūroms su Dvorak išdėstymu.
- Branduolys (branduolio sąsajos Windows)
- Pridėta proceso privilegijų eskalavimo palaikymas (procesui, kuris iš pradžių vykdomas kaip standartinis vartotojas, gali būti suteiktos administratoriaus teisės). Kuriant serverio procesus (msi action server), taip pat procesus, kurie iškviečia funkcijas RtlCreateUserProcess() ir CreateProcessInternal(), pagal numatytuosius nustatymus įgalinamas ribotas administratoriaus prieigos raktas.
- Gaunant informaciją apie disko etiketes, kai tik įmanoma, dabar naudojama prieiga prie sistemos paslaugų per DBus, o ne bandoma tiesiogiai pasiekti įrenginį.
- Однонаправленный механизм межпроцессного взаимодействия (IPC) Mailslots теперь реализован непосредственно в Wine server, что позволило добиться полной поддержки семантики Windows.
- Įdiegtas nuosekliojo prievado įvykių laukimas asinchroniniu režimu.
- Pridėtas visas XSTATE procesoriaus plėtinių palaikymas gijų kontekstuose, leidžiantis naudoti naujus vektorinius plėtinius, tokius kaip AVX-512.
- Įterptosios programos
- Įvesties duomenų apdorojimo variklis, naudojamas cmd.exe komandų interpretatoriuje, buvo perrašytas. Prie cmd.exe pridėtas „||“ operacijų palaikymas Ir "&&".
- Programa findstr papildė reguliariųjų posakių ir didžiųjų ir mažųjų raidžių nejautrių paieškų palaikymą.
- Galimybė registruoti ARM32EC modulius buvo pridėta prie regsvr32 ir rundll64 paslaugų.
- Pridėtos priemonės: rūšiuoti įvesties duomenims rūšiuoti, fc failams palyginti ir kur ieškoti failų.
- Wmic programa įgyvendina interaktyvų veikimo režimą.
- „Explorer“ pridėjo pasirenkamą pradžios meniu ir įrankių juostos palaikymą. Įgalintas explorer.exe paleidimas su sumažintomis prieigos teisėmis.
- Kūrimo įrankiai
- „Winebuild“ pridėta parinktis „-marm64x“, kad būtų sukurtos ARM64X hibridinės bibliotekos.
- Prie winegcc pridėta parinktis „-marm64x“, kad būtų galima kurti ARM64X.
- Failai, sukurti naudojant sąsajos apibrėžimo kalbą (IDL), naudoja komponentus, kurie visiškai palaiko vykdymą interpretuojamu režimu.
- Prie IDL (sąsajos apibrėžimo kalbos) kompiliatoriaus buvo pridėtas senojo formato (SLTG) tipų bibliotekų (TypeLib) generavimo palaikymas.
- „Winedump“ programa papildė minidump lentelių, C++ išimčių informacijos ir typelib išteklių išsaugojimo palaikymą.
- įvairenybės
- Patobulintas Diffie-Hellman (DH) raktų mainų protokolo palaikymas. Pridėta galimybė konfigūruoti ir priimti DH parametrus. Įdiegtos tvarkyklės viešųjų ir privačių raktų poroms kurti.
- Numatytas prieauginio užpildymo OAEP (Optimal Asymmetric Encryption Padding) naudojimas kartu su RSA algoritmu.
- „DirectPlay“ API palaiko tinklo sesijas.
- Patobulintas asinchroninių įvesties / išvesties būsenų apdorojimas dirbant WoW64 (64 bitų) režimu Windows-an-Windows), leidžiantis vykdyti 32 bitų Windows-programos 64 bitų „Unix“ sistemose.
- Добавлена поддержка загрузки ODBC-драйверов к СУБД, собранных для Windows.
- ARM platformoje įdiegtas visiškas RPC/COM, C++ RTTI (Run-Time Type Information) ir C++ išimčių palaikymas.
- C vykdymo metu ANSI funkcijos palaiko UTF-8 kodavimą.
- Buvo išplėstos MSHTML variklio galimybės. Pridėtas prototipų ir objektų konstruktorių palaikymas. Į „JavaScript“ variklį įtraukta nauja MSHTML objektų susiejimo sąsaja. MSHTML integruotos funkcijos buvo konvertuotos į galiojančius JavaScript objektus. Patobulintas „JavaScript“ šiukšlių rinkimas, kad apimtų visus scenarijaus vykdymo kontekstus gijoje. Pridėtas ArrayBuffer ir DataView JavaScript objektų palaikymas.
- Statinės analizės palaikymas naudojant „Clang“ ir „JUnit“ bandymų ataskaitas buvo įtrauktas į „Gitlab“ pagrįstą nuolatinio integravimo sistemą.
- Capstone 5.0.3 biblioteka yra integruota į paketą, per kurią WineDb derinimo priemonėje įgyvendinamas išmontavimas.
- Komponentai atnaujinti į naujas versijas: Vkd3d 1.14, Faudio 24.10, FluidSynth 2.4.0, LDAP 2.5.18, LCMS2 2.16, LibJpeg 9f, LibMPG123 1.32.9, LibPng, LibPng 1.6.44ml4.7.0ff2. 2.12.8, LibXslt 1.1.42 ir Zlib 1.3.1.
Šaltinis: opennet.ru
