Pēc gada izstrādes un 29 eksperimentālām versijām tika prezentēts stabils Win32 API atvērtās ieviešanas izlaidums - Wine 10.0, kurā tika iekļautas vairāk nekā 6000 izmaiņas. Galvenie sasniegumi jaunajā versijā ietver pilnīgu atbalstu ARM64EC arhitektūrai, mērogošanu ekrānos ar augstu pikseļu blīvumu, Wayland draivera iekļaušanu pēc noklusējuma, paneļu ieviešanu ekrāna un kursorsviras iestatīšanai, alternatīvu multivides aizmuguri, kuras pamatā ir FFmpeg, Bluetooth. draiveris, Vulkan 1.4 atbalsts, emulācijas iespēja pārslēgt video režīmus.
Ir apstiprināts, ka 5372 programmas darbojas pareizi programmā Wine. Windows (5336 pirms gada, 5266 pirms diviem gadiem, 5156 pirms trim gadiem), vēl 4435 programmas (4397 pirms gada, 4370 pirms diviem gadiem, 4312 pirms trim gadiem) darbojas labi ar papildu iestatījumiem un ārējiem DLL. 4020 programmām (3943 pirms gada, 3888 pirms diviem gadiem, 3813 pirms trim gadiem) ir nelielas problēmas, kas netraucē lietojumprogrammas pamatfunkciju izmantošanu.
Galvenie jauninājumi programmā Wine 10.0:
- ARM64
- Pilns atbalsts tiek nodrošināts ARM64EC (ARM64 Emulation Compatible) arhitektūrai, kuras atbalsta līmenis programmā Wine ir sasniedzis līdzvērtīgu arhitektūru ARM64. ARM64EC arhitektūra ir izstrādāta, lai vienkāršotu sākotnēji x64_86 sistēmām rakstīto lietojumprogrammu pārnešanu uz ARM64 sistēmām un ļauj atsevišķiem x64_86 koda moduļiem darboties ARM64 vidē, izmantojot emulatoru.
- Pilns atbalsts ir ieviests ARM64X PE faila formātam, kas ļauj apvienot ARM64EC un ARM64 arhitektūru kodu vienā izpildāmā failā. Lai izveidotu Wine ARM64X formātā, no Git jāinstalē LLVM (vajadzīgā funkcionalitāte būs iekļauta LLVM 20 laidienā) un, palaižot skriptu “configure”, jānorāda opcija “-enable-archs=arm64ec,aarch64”. .
- Ir ieviests interfeiss 64 bitu x86 sistēmu emulēšanai. Lietojot ARM64EC, pats Wine darbojas kā ir, un emulācija tiek lietota tikai x86-64 lietojumprogrammas kodam. Bibliotēka ar emulatoru vēl nav iekļauta galvenajā Wine pakotnē, taču, lai palaistu x86-64 kodu ARM64 vidē, varat izmantot ārējo FEX emulatoru, kas izveidots ar ARM64EC atbalstu.
- Для поддержки ARM64 необходимо использование в системе страниц памяти размером 4КБ, как того требует ABI Windows (запуск в окружениях с ядрами Linux, использующими страницы памяти 16K или 64K пока не поддерживается).
- Grafikas apakšsistēma
- Ieviesta precīzāka mērogošana ekrānos ar augstu pikseļu blīvumu (High-DPI). Ir nodrošināts DPI Awareness režīma atbalsts, lai organizētu aplikāciju attēlošanu uz ekrāniem ar augstu pikseļu blīvumu, ņemot vērā, vai aplikācija atbalsta pielāgošanos DPI izmaiņām vai ne (lietojumprogrammas, kas neņem vērā DPI, tiek mērogotas automātiski). Pievienotas opcijas, lai ignorētu augstas DPI atbalstu atsevišķām lietojumprogrammām vai Wine prefiksiem.
- Vulkan grafikas API draiverim ir pievienots Vulkan 1.4 specifikācijas atbalsts (Vulkan 9.0 tika atbalstīts Wine 1.3.272). Pievienots atbalsts Vulkan paplašinājumiem video kodēšanai un dekodēšanai.
- Izmantojot X11 aizmugursistēmu, ir ieviesta iespēja renderēt Vulkan bērnlogus lietojumprogrammām, kuras izmanto šādus logus 3D satura attēlošanai (iepriekš šāda iespēja bija pieejama tikai OpenGL).
- GdiPlus bibliotēkai ir pievienots fontu saistīšanas mehānisma atbalsts, kas ļauj izmantot vairākus fontus, attēlojot tekstu, ja nav fontu, kas atsevišķi aptver visas tekstā atrodamās rakstzīmes.
- 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 draiverim ir pievienots OpenGL un pikseļu buferu (pBuffer) atbalsts.
- Atrisinātas problēmas ar uznirstošo logu pozicionēšanu Veilendas vidēs.
- Izmantojot Wayland, tiek nodrošināts atbalsts automātiskai atkārtotai nospiešanai, turot taustiņus.
- Darbvirsmas integrācija
- Pievienots eksperimentāls "režīmu iestatīšanas" emulācijas mehānisms, kas ļauj līdzināties video režīmu pārslēgšanai, faktiski nemainot ekrāna iestatījumus. Ekrāna izšķirtspējas maiņas redzamība, nepārslēdzot video režīmu, tiek radīta, paplašinot un mērogojot logus.
- Ir pievienota jauna darbvirsmas vadības paneļa sīklietotne (desk.cpl) ar interfeisa ieviešanu displeja iestatījumu pārvaldīšanai (piemēram, varat mainīt darbvirsmas virtuālo izšķirtspēju vai konfigurēt emulētus displeja parametrus).
- Pievienota iespēja atiestatīt ekrāna iestatījumus uz noklusējuma vērtībām, ja nav iespējams atjaunot stāvokli pēc procesa avārijas.
- Добавлена поддержка отключения показа пиктограмм в системном лотке (в «HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer» следует указать «NoTrayItemsDisplay=1»).
- Добавлена поддержка отключения оболочек (Shell launcher) в режиме десктопа (в «HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer» следует указать «NoDesktop=1»).
- Direct3D
- Renderēšanai ar OpenGL tagad ir nepieciešams atbalsts GLSL 1.20, kā arī paplašinājumi EXT_framebuffer_object un ARB_texture_non_power_of_two. Vecās ARB ēnotāja aizmugursistēmas un OffscreenRenderingMode iestatījuma atbalsts ir pārtraukts.
- Direct3D 9 un vecākām versijām ir pievienots fiksēto funkciju grafikas cauruļvads (vecais Direct3D nodrošināja tikai iepriekš definētas grafikas darbības, kuras nevarēja mainīt), ieviesta, izmantojot HLSL ēnotāja valodu un ļaujot fiksēto funkciju emulāciju, renderējot, izmantojot Vulkan vai OpenGL API.
- Renderēšanā ar Vulkan tiek izmantoti Vulkan paplašinājumi, lai dinamiski mainītu grafikas konveijera stāvokli, samazinot stostīšanos spēlēs.
- Pievienota alternatīva glsl-vkd3d aizmugure GLSL ēnotājiem, izmantojot vkd3d-shader.
- Nodrošināts sākotnējais atbalsts Direct3D efektu kompilēšanai, izmantojot vkd3d-shader.
- D3DX9 bibliotēka ievieš iespēju ģenerēt MIP tekstūras (MipMap), ielādējot volumetriskās tekstūras. Pievienots atbalsts 64 bpp RGBA un 48 bpp RGB krāsu attēlojuma formātiem PNG attēlos, kā arī X8L8V8U8, A2W10V10U10, A8P8, V16U16 un Q16W16V16U16 formātos.
- Skaņa un video
- Kā alternatīva uz GStreamer balstītai aizmugursistēmai ir ieviesta jauna multivides aizmugursistēma, kuras pamatā ir FFmpeg un ir piemērota Media Foundation ietvara darbināšanai. Lai iespējotu alternatīvu aizmugursistēmu, reģistra sadaļā “HKCU\Software\Wine\MediaFoundation” jānorāda “DisableGstByteStreamHandler=1”.
- Media Foundation API ieviešana ir uzlabota, lai labāk pielāgotos lietojumprogrammām, kas ir atkarīgas no demultipleksēšanas un dekodēšanas komponentiem.
- DirectMusic API ir pievienojis atbalstu MIDI failu ielādei.
- Ieejas ierīces
- Pievienota Bluetooth draivera sākotnējā versija.
- Pievienota kursorsviras vadības paneļa sīklietotne (joy.cpl) ar kursorsviras iestatījumu ieviešanu.
- Внесены улучшения, связанные с устройствами управления указателем (тачпады, мыши), использующими протокол HID (Human Interface Device). Добавлен драйвер mouhid.sys для HID-устройств. Реализован корректный разбор составных устройств ввода и обеспечена передача информации о них в Windows-приложения, как о раздельных устройствах.
- X11 aizmugursistēmai ir pievienots skārienekrānu atbalsts un ir ieviesta iespēja izmantot vairāku pieskārienu režīmu, apstrādājot WM_POINTER* ziņojumus (WM_POINTERENTER, WM_POINTERLEAVE utt.).
- Ieviesta dažu user32 bibliotēkas iekšējo struktūru izvietošana koplietojamā atmiņā, kas palielināja veiktspēju un samazināja Wine Server slodzi.
- Winex11 pievienoja atbalstu XInput2 notikumu apstrādei saistībā ar atsevišķiem logiem.
- Ieviests pareizs atbalsts tastatūrām ar Dvorak izkārtojumu.
- Kodols (kodola saskarnes) Windows)
- Pievienots atbalsts procesa privilēģiju eskalācijai (procesam, kas sākotnēji darbojas kā standarta lietotājs, var piešķirt administratora privilēģijas). Veidojot servera procesus (msi darbības serveri), kā arī procesus, kas izsauc funkcijas RtlCreateUserProcess() un CreateProcessInternal(), pēc noklusējuma ir iespējots ierobežots administratora marķieris.
- Iegūstot informāciju par diska etiķetēm, kad vien iespējams, tagad tiek izmantota piekļuve sistēmas pakalpojumiem, izmantojot DBus, tā vietā, lai mēģinātu tieši piekļūt ierīcei.
- Однонаправленный механизм межпроцессного взаимодействия (IPC) Mailslots теперь реализован непосредственно в Wine server, что позволило добиться полной поддержки семантики Windows.
- Ieviesta seriālā porta notikumu gaidīšana asinhronajā režīmā.
- Pievienots pilnīgs XSTATE procesora paplašinājumu atbalsts pavedienu kontekstos, ļaujot izmantot jaunus vektoru paplašinājumus, piemēram, AVX-512.
- Iegultās lietojumprogrammas
- Komandu tulkā cmd.exe izmantotā ievades datu apstrādes programma ir pārrakstīta. Programmai cmd.exe ir pievienots atbalsts operācijām “||”. Un "&&".
- Lietderība findstr ir pievienojusi atbalstu regulārām izteiksmēm un reģistrjutīgai meklēšanai.
- Utilītprogrammām regsvr32 un rundll32 ir pievienota iespēja reģistrēt ARM64EC moduļus.
- Pievienotas utilītas: kārtot ievades datu kārtošanai, fc failu salīdzināšanai un kur failu meklēšanai.
- Wmic lietojumprogramma ievieš interaktīvu darbības režīmu.
- Explorer ir pievienojis izvēles atbalstu sākuma izvēlnei un rīkjoslai. Iespējota explorer.exe palaišana ar samazinātām piekļuves tiesībām.
- Izstrādes rīki
- Lai ģenerētu ARM64X hibrīda bibliotēkas, ir pievienota opcija "-marm64x".
- Lietotnei winegcc ir pievienota opcija "-marm64x", lai varētu veidot ARM64X.
- Faili, kas ģenerēti, izmantojot interfeisa definīcijas valodu (IDL), izmanto komponentus, kas pilnībā atbalsta izpildi interpretētajā režīmā.
- IDL (Interface Definition Language) kompilatoram ir pievienots atbalsts tipu bibliotēku (TypeLib) ģenerēšanai vecajā formātā (SLTG).
- Windump utilīta ir pievienojusi atbalstu minidump tabulu, C++ izņēmumu informācijas un typelib resursu saglabāšanai.
- Literārs mistrojums
- Uzlabots atbalsts Diffie-Hellman (DH) atslēgu apmaiņas protokolam. Pievienota iespēja konfigurēt un saņemt DH parametrus. Ieviesti apstrādātāji publisko un privāto atslēgu pāru izveidošanai.
- Tiek nodrošināta papildu polsterējuma OAEP (Optimal Asymmetric Encryption Padding) izmantošana kopā ar RSA algoritmu.
- DirectPlay API atbalsta tīkla sesijas.
- Uzlabota asinhrono ievades/izvades stāvokļu apstrāde, strādājot WoW64 (64 bitu) režīmā Windows-ā-Windows), kas ļauj palaist 32 bitu Windows-lietojumprogrammas 64 bitu Unix sistēmās.
- Добавлена поддержка загрузки ODBC-драйверов к СУБД, собранных для Windows.
- ARM platformai ir ieviests pilns RPC/COM, C++ RTTI (Run-Time Type Information) un C++ izņēmumu atbalsts.
- C izpildlaikā ANSI funkcijas ievieš UTF-8 kodējuma atbalstu.
- MSHTML dzinēja iespējas ir paplašinātas. Pievienots atbalsts prototipiem un objektu konstruktoriem. JavaScript dzinējam ir pievienots jauns objektu saistīšanas interfeiss MSHTML. MSHTML iebūvētās funkcijas ir pārveidotas derīgos JavaScript objektos. Uzlabota JavaScript atkritumu savākšana, lai aptvertu visus skripta izpildes kontekstus pavedienā. Pievienots atbalsts ArrayBuffer un DataView JavaScript objektiem.
- Uz Gitlab balstītai nepārtrauktās integrācijas sistēmai ir pievienots atbalsts statiskai analīzei, izmantojot Clang un JUnit testa atskaites.
- Capstone 5.0.3 bibliotēka ir iebūvēta pakotnē, ar kuras palīdzību WineDb atkļūdotājs tiek realizēts demontāža.
- Komponenti atjaunināti uz jaunām versijām: 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.44. 4.7.0, LibXslt 2 un Zlib 2.12.8.
Avots: opennet.ru
