Po letu razvoja in 29 eksperimentalnih različicah je bila predstavljena stabilna izdaja odprte implementacije Win32 API - Wine 10.0, ki je vključevala več kot 6000 sprememb. Ključni dosežki v novi različici vključujejo popolno podporo za arhitekturo ARM64EC, skaliranje na zaslonih z visoko gostoto slikovnih pik, privzeto vključitev gonilnika Wayland, implementacijo plošč za prilagajanje zaslona in igralne palice, alternativno multimedijsko zaledje, ki temelji na FFmpeg, Bluetooth gonilnik, podpora za Vulkan 1.4, možnost emulacije preklapljanje video načinov.
5372 programov je bilo potrjeno, da pravilno delujejo v programu Wine. Windows (pred enim letom 5336, pred dvema letoma 5266, pred tremi leti 5156), nadaljnjih 4435 programov (pred enim letom 4397, pred dvema letoma 4370, pred tremi leti 4312) deluje brezhibno z dodatnimi nastavitvami in zunanjimi DLL-ji. 4020 programov (pred enim letom 3943, pred dvema letoma 3888, pred tremi leti 3813) ima manjše težave, ki ne ovirajo uporabe osnovne funkcionalnosti aplikacije.
Ključne novosti v Wine 10.0:
- ARM64
- Popolna podpora je zagotovljena za arhitekturo ARM64EC (združljiva z emulacijo ARM64), pri čemer je raven podpore v Wineu dosegla enakost z arhitekturo ARM64. Arhitektura ARM64EC je zasnovana za poenostavitev prenosa aplikacij, prvotno napisanih za sisteme x64_86, v sisteme ARM64 in omogoča izvajanje posameznih kodnih modulov x64_86 v okolju ARM64 z uporabo emulatorja.
- Izvedena je bila popolna podpora za format datoteke ARM64X PE, ki vam omogoča združevanje kode za arhitekturi ARM64EC in ARM64 v eni izvedljivi datoteki. Če želite zgraditi Wine v formatu ARM64X, morate namestiti LLVM iz Gita (potrebna funkcionalnost bo vključena v izdajo LLVM 20) in pri izvajanju skripta »configure« določiti možnost »-enable-archs=arm64ec,aarch64«. .
- Implementiran je bil vmesnik za posnemanje 64-bitnih sistemov x86. Ko uporabljate ARM64EC, Wine sam deluje, kot je, emulacija pa se uporablja samo za kodo aplikacije x86-64. Knjižnica z emulatorjem še ni vključena v glavni paket Wine, vendar lahko za izvajanje kode x86-64 v okolju ARM64 uporabite zunanji emulator FEX, zgrajen s podporo ARM64EC.
- Для поддержки ARM64 необходимо использование в системе страниц памяти размером 4КБ, как того требует ABI Windows (запуск в окружениях с ядрами Linux, использующими страницы памяти 16K или 64K пока не поддерживается).
- Grafični podsistem
- Implementirano natančnejše skaliranje na zaslonih z visoko gostoto slikovnih pik (High-DPI). Podpora za način DPI Awareness je bila zagotovljena za organizacijo prikaza aplikacij na zaslonih z visoko gostoto slikovnih pik, pri čemer je treba upoštevati, ali aplikacija podpira prilagajanje spremembam DPI ali ne (aplikacije, ki ne upoštevajo DPI, se samodejno prilagodijo). Dodane možnosti za preglasitev podpore za High-DPI za posamezne aplikacije ali predpone Wine.
- Podpora za specifikacijo Vulkan 1.4 je bila dodana gonilniku za grafični API Vulkan (Vulkan 9.0 je bil podprt v Wine 1.3.272). Dodana podpora za razširitve Vulkan za kodiranje in dekodiranje videa.
- Pri uporabi ozadja X11 je bila implementirana možnost upodabljanja podrejenih oken Vulkan za aplikacije, ki uporabljajo takšna okna za prikaz 3D-vsebine (prej je bila takšna funkcija na voljo samo za OpenGL).
- Knjižnici GdiPlus je bila dodana podpora za mehanizem povezovanja pisav, ki omogoča uporabo več pisav pri prikazovanju besedila, če ni nobene pisave, ki ločeno pokriva vse znake v besedilu.
- 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
- Gonilniku winewayland.drv je dodana podpora za OpenGL in medpomnilnike slikovnih pik (pBuffer).
- Odpravljene težave s položajem pojavnih oken v okoljih, ki temeljijo na Waylandu.
- Pri uporabi Waylanda je implementirana podpora za samodejno ponavljanje pritiskanja med držanjem tipk.
- Integracija namizja
- Dodan eksperimentalni emulacijski mehanizem "modesetting", ki vam omogoča posnemanje preklapljanja video načinov, ne da bi dejansko spremenili nastavitve zaslona. Vidnost spreminjanja ločljivosti zaslona brez preklopa video načina je ustvarjena z razširitvijo in spreminjanjem velikosti oken.
- Dodan je bil nov programček nadzorne plošče namizja (desk.cpl) z implementacijo vmesnika za upravljanje nastavitev zaslona (lahko na primer spremenite navidezno ločljivost namizja ali konfigurirate emulirane parametre zaslona).
- Dodana možnost ponastavitve nastavitev zaslona na privzete vrednosti, če ni mogoče obnoviti stanja po zrušitvi procesa.
- Добавлена поддержка отключения показа пиктограмм в системном лотке (в «HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer» следует указать «NoTrayItemsDisplay=1»).
- Добавлена поддержка отключения оболочек (Shell launcher) в режиме десктопа (в «HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer» следует указать «NoDesktop=1»).
- Direct3D
- Upodabljanje z OpenGL zdaj zahteva podporo za GLSL 1.20 ter razširitvi EXT_framebuffer_object in ARB_texture_non_power_of_two. Podpora za staro zaledje senčil ARB in nastavitev OffscreenRenderingMode je bila ukinjena.
- Za Direct3D 9 in starejše je bil dodan grafični cevovod s fiksnimi funkcijami (starejši Direct3D je zagotavljal samo vnaprej določene grafične operacije, ki jih ni bilo mogoče spremeniti), implementiran z uporabo jezika senčil HLSL in omogoča emulacijo fiksnih funkcij pri upodabljanju prek API-ja Vulkan ali OpenGL.
- Upodabljanje z Vulkanom uporablja razširitve Vulkan za dinamično spreminjanje stanja grafičnega cevovoda in zmanjšanje zatikanja v igrah.
- Dodano alternativno zaledje glsl-vkd3d za senčnike GLSL z uporabo vkd3d-shaderja.
- Zagotovljena začetna podpora za prevajanje učinkov Direct3D z uporabo vkd3d-shaderja.
- Knjižnica D3DX9 izvaja možnost generiranja tekstur MIP (MipMap) pri nalaganju volumetričnih tekstur. Dodana podpora za formate barvne predstavitve 64 bpp RGBA in 48 bpp RGB v slikah PNG ter formate X8L8V8U8, A2W10V10U10, A8P8, V16U16 in Q16W16V16U16.
- Zvok in video
- Kot alternativa zaledju, ki temelji na GStreamerju, je implementirano novo multimedijsko zaledje, ki temelji na uporabi FFmpeg in je primerno za izvajanje ogrodja Media Foundation. Če želite omogočiti alternativno zaledje, morate podati »DisableGstByteStreamHandler=1« v razdelku registra »HKCU\Software\Wine\MediaFoundation«.
- Implementacija API-ja Media Foundation je bila izboljšana za boljšo prilagoditev aplikacijam, ki so odvisne od komponent demultipleksiranja in dekodiranja.
- DirectMusic API ima dodano podporo za nalaganje datotek MIDI.
- Vhodne naprave
- Dodana začetna različica gonilnika Bluetooth.
- Dodan applet Joystick Control Panel (joy.cpl) z implementacijo nastavitev za joystick.
- Внесены улучшения, связанные с устройствами управления указателем (тачпады, мыши), использующими протокол HID (Human Interface Device). Добавлен драйвер mouhid.sys для HID-устройств. Реализован корректный разбор составных устройств ввода и обеспечена передача информации о них в Windows-приложения, как о раздельных устройствах.
- Za zaledje X11 je bila dodana podpora za zaslone na dotik in implementirana je bila možnost uporabe načina večkratnega dotika prek obdelave sporočil WM_POINTER* (WM_POINTERENTER, WM_POINTERLEAVE itd.).
- Implementirana postavitev nekaterih notranjih struktur knjižnice user32 v skupni pomnilnik, kar je povečalo zmogljivost in zmanjšalo obremenitev strežnika Wine.
- Winex11 je dodal podporo za obdelavo dogodkov XInput2 v zvezi s posameznimi okni.
- Implementirana pravilna podpora za tipkovnice s postavitvijo Dvorak.
- Jedro (vmesniki jedra Windows)
- Dodana podpora za stopnjevanje privilegijev procesa (procesu, ki se na začetku izvaja kot standardni uporabnik, je mogoče dodeliti skrbniške pravice). Pri ustvarjanju strežniških procesov (msi action server), kot tudi procesov, ki kličejo funkciji RtlCreateUserProcess() in CreateProcessInternal(), je privzeto omogočen omejen skrbniški žeton.
- Pri pridobivanju informacij o oznakah diska se, kadar koli je to mogoče, zdaj uporablja dostop do sistemskih storitev prek DBus, namesto poskusa neposrednega dostopa do naprave.
- Однонаправленный механизм межпроцессного взаимодействия (IPC) Mailslots теперь реализован непосредственно в Wine server, что позволило добиться полной поддержки семантики Windows.
- Implementirano čakanje na dogodke serijskih vrat v asinhronem načinu.
- Dodana polna podpora za razširitve procesorja XSTATE v kontekstih niti, kar omogoča uporabo novih vektorskih razširitev, kot je AVX-512.
- Vgrajenные приложения
- Mehanizem za obdelavo vhodnih podatkov, ki se uporablja v tolmaču ukazov cmd.exe, je bil prepisan. Dodana podpora za operacije »||« v cmd.exe In "&&".
- Pripomoček findstr je dodal podporo za regularne izraze in iskanja, ki ne razlikujejo med velikimi in malimi črkami.
- Pripomočkoma regsvr32 in rundll32 je bila dodana možnost registracije modulov ARM64EC.
- Dodani pripomočki: sort za razvrščanje vhodnih podatkov, fc za primerjavo datotek in where za iskanje datotek.
- Aplikacija wmic izvaja interaktivni način delovanja.
- Raziskovalec je dodal izbirno podporo za začetni meni in orodno vrstico. Omogočen zagon explorer.exe z zmanjšanimi pravicami dostopa.
- Razvojna orodja
- Dodana možnost "-marm64x" v winebuild za ustvarjanje hibridnih knjižnic ARM64X.
- Dodana možnost "-marm64x" v winegcc, da omogoči gradnjo za ARM64X.
- Datoteke, ustvarjene z uporabo jezika za definicijo vmesnika (IDL), uporabljajo komponente, ki v celoti podpirajo izvajanje v interpretiranem načinu.
- Prevajalniku IDL (Interface Definition Language) je bila dodana podpora za ustvarjanje knjižnic tipov (TypeLib) v starem formatu (SLTG).
- Pripomoček winedump je dodal podporo za shranjevanje izpisov tabel minidump, informacij o izjemah C++ in virov typelib.
- Miscellanea
- Izboljšana podpora za protokol izmenjave ključev Diffie-Hellman (DH). Dodana možnost konfiguracije in prejemanja parametrov DH. Implementirani obdelovalci za ustvarjanje parov javnih in zasebnih ključev.
- Zagotovljena je uporaba inkrementalnega oblazinjenja OAEP (Optimal Asymmetric Encryption Padding) skupaj z algoritmom RSA.
- DirectPlay API podpira omrežne seje.
- Налажена обработка состояний асинхронного ввода/вывода при работе в режиме WoW64 (64-bit Windows-na-Windows), позволяющем выполнять 32-разрядные Windows-aplikacije na 64-bitnih sistemih Unix.
- Добавлена поддержка загрузки ODBC-драйверов к СУБД, собранных для Windows.
- Za platformo ARM je implementirana popolna podpora za RPC/COM, C++ RTTI (informacije o vrsti izvajalnega časa) in izjeme C++.
- V izvajalnem okolju C funkcije ANSI izvajajo podporo za kodiranje UTF-8.
- Zmogljivosti mehanizma MSHTML so bile razširjene. Dodana podpora za prototipe in konstruktorje objektov. V motor JavaScript je bil dodan nov vmesnik za vezavo objektov za MSHTML. Vgrajene funkcije MSHTML so bile pretvorjene v veljavne objekte JavaScript. Izboljšano zbiranje smeti JavaScript za pokrivanje vseh kontekstov izvajanja skripta v niti. Dodana podpora za objekte JavaScript ArrayBuffer in DataView.
- Sistemu neprekinjene integracije, ki temelji na Gitlabu, je bila dodana podpora za statično analizo z uporabo preskusnih poročil Clang in JUnit.
- V paket je vgrajena knjižnica Capstone 5.0.3, prek katere je v razhroščevalniku WineDb implementirano razstavljanje.
- Komponente posodobljene na nove različice: 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 in Zlib 1.3.1.
Vir: opennet.ru
