Wara sena ta 'żvilupp u 30 verżjoni sperimentali, ġiet ippreżentata rilaxx stabbli tal-implimentazzjoni miftuħa tal-API Win32 - Wine 7.0, li inkorpora aktar minn 9100 bidla. Il-kisbiet ewlenin tal-verżjoni l-ġdida jinkludu t-traduzzjoni tal-biċċa l-kbira tal-moduli Wine f’format PE, appoġġ għat-temi, espansjoni tal-munzell għal joysticks u apparati ta’ input b’interface HID, u implimentazzjoni tal-arkitettura WoW64 għat-tħaddim ta’ programmi ta’ 32 bit f’ ambjent 64-bit.
Wine ikkonferma t-tħaddim sħiħ ta '5156 (sena ilu 5049) programmi għall-Windows, 4312 (sena ilu 4227) programmi oħra jaħdmu perfettament b'settings addizzjonali u DLLs esterni. 3813-il programm (3703 sena ilu) għandhom problemi operattivi minuri li ma jfixklux l-użu tal-funzjonijiet ewlenin tal-applikazzjonijiet.
Innovazzjonijiet ewlenin fl-Inbid 7.0:
- Moduli fil-format PE
- Kważi d-DLLs kollha ġew konvertiti biex jużaw il-format tal-fajl eżekutibbli PE (Portable Executable, użat fuq Windows) minflok ELF. L-użu tal-PE jsolvi problemi bl-appoġġ ta 'diversi skemi ta' protezzjoni tal-kopja li jivverifikaw l-identità tal-moduli tas-sistema fuq disk u fil-memorja.
- Ġiet implimentata l-abbiltà li jinteraġixxu moduli PE mal-libreriji Unix billi tuża s-sejħa standard tas-sistema tal-kernel NT, li tippermettilek taħbi l-aċċess għall-kodiċi Unix minn debuggers tal-Windows u tissorvelja r-reġistrazzjoni tal-ħajt.
- DLLs inkorporati issa huma mgħobbija biss jekk ikun hemm fajl PE korrispondenti fuq disk, irrispettivament minn jekk hijiex librerija reali jew stub. Din il-bidla tippermetti li l-applikazzjoni dejjem tara l-irbit korrett mal-fajls PE. Biex tiddiżattiva din l-imġieba, tista' tuża l-varjabbli ambjentali WINEBOOTSTRAPMODE.
- WoW64
- L-arkitettura WoW64 (64-bit Windows-on-Windows) ġiet implimentata, li tippermettilek tħaddem applikazzjonijiet Windows 32-bit fi proċessi Unix 64-bit. L-appoġġ huwa implimentat permezz tal-konnessjoni ta 'saff li jittraduċi sejħiet tas-sistema NT 32-bit f'sejħiet ta' 64 bit għal NTDLL.
- Is-saffi WoW64 huma ppreparati għall-biċċa l-kbira tal-libreriji Unix u jippermettu li moduli PE 32-bit jaċċessaw libreriji Unix 64-bit. Ladarba l-moduli kollha jkunu ġew ikkonvertiti għall-format PE, ikun possibbli li tħaddem applikazzjonijiet tal-Windows 32-bit mingħajr ma jiġu installati libreriji Unix 32-bit.
- Temi
- Ġie implimentat appoġġ għat-tema. It-temi tad-disinn "Light", "Blue" u "Classic Blue" huma inklużi, li jistgħu jintgħażlu permezz tal-konfiguratur WineCfg.
- Żid il-kapaċità li tippersonalizza d-dehra tal-kontrolli tal-interface kollha permezz ta 'temi. Id-dehra tal-elementi tiġi aġġornata awtomatikament wara li tinbidel it-tema tad-disinn.
- L-appoġġ tat-tema ġie miżjud mal-applikazzjonijiet kollha integrati tal-Inbid. L-applikazzjonijiet ġew adattati għal skrins b'densità għolja ta 'pixels (DPI Għoli).
- Subsistema tal-grafika
- Ġiet miżjuda librerija Win32u ġdida, li tinkludi partijiet mil-libreriji GDI32 u USER32 relatati mal-ipproċessar tal-grafika u l-ġestjoni tat-twieqi fil-livell tal-kernel. Fil-futur, ix-xogħol se jibda fuq il-porting tal-komponenti tas-sewwieq bħal winex32.drv u winemac.drv għal Win11u.
- Is-sewwieq Vulkan jappoġġja l-ispeċifikazzjoni tal-API tal-grafika Vulkan 1.2.201.
- Ipprovda appoġġ għall-ħruġ ta 'oġġetti ġeometriċi mfaqqsa permezz tal-API Direct2D, bil-kapaċità li jiċċekkja jekk ikklikkja hits (hit-test).
- Id-Direct2D API tipprovdi appoġġ inizjali għall-effetti viżwali applikati bl-użu tal-interface ID2D1Effect.
- Id-Direct2D API żiedet appoġġ għall-interface ID2D1MultiThread, li tintuża biex torganizza aċċess esklussiv għar-riżorsi f'applikazzjonijiet b'ħafna kamini.
- Is-sett ta' libreriji WindowsCodecs jipprovdi appoġġ għad-dekodifikazzjoni tal-immaġini fil-format WMP (Windows Media Photo) u l-kodifikazzjoni tal-immaġini fil-format DDS (DirectDraw Surface). M'għadniex nappoġġjaw immaġini ta' kodifikazzjoni fil-format ICNS (għal macOS), li mhuwiex appoġġjat fuq il-Windows.
- Direct3D
- Il-magna tar-rendi l-ġdida tjiebet b'mod sinifikanti, u tittraduċi sejħiet Direct3D għall-API tal-grafika Vulkan. Fil-biċċa l-kbira tas-sitwazzjonijiet, il-livell ta 'appoġġ għal Direct3D 10 u 11 fil-magna bbażata fuq Vulkan inġieb għall-parità mal-magna anzjani bbażata fuq OpenGL. Biex tippermetti l-magna li tirrendi Vulkan, issettja l-varjabbli tar-reġistru Direct3D "renderer" għal "vulkan".
- Ħafna karatteristiċi ta' Direct3D 10 u 11 huma implimentati, inklużi Kuntesti Deferiti, oġġetti tal-istat li joperaw fil-kuntest tal-apparat, offsets persistenti fil-buffers, ikklerjar ta' fehmiet ta' nisġa mhux tal-ordni, ikkupjar ta' data bejn ir-riżorsi f'formati bla tip (DXGI_FORMAT_BC3_TYPELESS, DXGI_FORMAT_R32G32B32LESA), eċċ. .
- Appoġġ miżjud għal konfigurazzjonijiet b'ħafna monitors, li jippermettilek tagħżel monitor biex turi applikazzjoni Direct3D fil-modalità ta 'skrin sħiħ.
- Id-DXGI API jipprovdi korrezzjoni gamma tal-iskrin, li tista 'tintuża minn applikazzjonijiet ibbażati fuq Direct3D 10 u 11 biex tibdel il-luminożità tal-iskrin. Ippermetta l-irkupru tal-counters tal-framebuffers virtwali (SwapChain).
- Direct3D 12 iżid appoġġ għall-firem tal-għeruq tal-verżjoni 1.1.
- Fil-kodiċi tar-rendi permezz tal-API Vulkan, l-effiċjenza tal-ipproċessar tal-mistoqsijiet tjiebet meta s-sistema tappoġġja l-estensjoni VK_EXT_host_query_reset.
- Miżjud il-kapaċità li toħroġ framebuffers virtwali (SwapChain) permezz ta 'GDI jekk OpenGL jew Vulkan ma jistgħux jintużaw għall-wiri, pereżempju, meta joħorġu għal tieqa minn proċessi differenti, pereżempju, fi programmi bbażati fuq il-qafas CEF (Chromium Embedded Framework).
- Meta tuża l-backend shader GLSL, il-modifikatur "preċiż" huwa żgurat għall-istruzzjonijiet shader.
- Id-DirectDraw API żżid l-appoġġ għall-għoti 3D fil-memorja tas-sistema bl-użu ta 'apparati tas-softwer bħal "RGB", "MMX" u "Ramp".
- Kards AMD Radeon RX 3M, AMD Radeon RX 5500/6800 XT/6800 XT, AMD Van Gogh, Intel UHD Graphics 6900 u NVIDIA GT 630 ġew miżjuda mad-database tal-karti tal-grafika Direct1030D.
- Iċ-ċavetta "UseGLSL" tneħħiet mir-reġistru HKEY_CURRENT_USER\Software\Wine\Direct3D, minflokha, tibda minn Wine 5.0, trid tuża "shader_backend".
- Biex tappoġġja Direct3D 12, issa għandek bżonn mill-inqas il-verżjoni 3 tal-librerija vkd1.2d.
- D3DX
- L-implimentazzjoni D3DX 10 tejbet l-appoġġ għall-qafas tal-effetti viżwali u żiedet l-appoġġ għall-format tal-immaġni Windows Media Photo (JPEG XR)
- Funzjonijiet ta' ħolqien ta' nisġa miżjuda pprovduti f'D3DX10, bħal D3DX10CreateTextureFromMemory().
- L-interfaces tas-softwer ID3DX10Sprite u ID3DX10Font ġew implimentati parzjalment.
- Ħoss u vidjo
- GStreamer add-ons għal DirectShow u l-qafas tal-Midja Foundation huma kkombinati f'backend komuni WineGStreamer wieħed, li għandu jissimplifika l-iżvilupp ta 'APIs ġodda ta' dekodifikazzjoni tal-kontenut.
- Ibbażat fuq il-backend WineGStreamer, l-oġġetti tal-Windows Media huma implimentati għal qari sinkroniku u mhux sinkroniku.
- L-implimentazzjoni tal-qafas tal-Fondazzjoni tal-Midja ġiet irfinuta aktar, l-appoġġ għall-funzjonalità tal-IMFPMediaPlayer u l-allokazzjoni tal-kampjuni żdiedu, u tjieb l-appoġġ għall-buffers tar-rendi EVR u SAR.
- Il-librerija wineqtdecoder, li tipprovdi decoder għall-format QuickTime, tneħħiet (il-codecs kollha issa jużaw GStreamer).
- Apparat li jidħol
- Il-munzell għal apparati ta 'input li jappoġġjaw il-protokoll HID (Human Interface Devices) tjieb b'mod sinifikanti, u jipprovdi kapaċitajiet bħall-parsing ta' deskritturi HID, l-ipproċessar ta 'messaġġi HID, u l-forniment ta' sewwieqa mini-HID.
- Fil-backends tas-sewwieq winebus.sys, it-traduzzjoni tad-deskrizzjonijiet tal-apparat f'messaġġi HID ġiet imtejba.
- Żid backend DirectInput ġdid għal joysticks li jappoġġjaw il-protokoll HID. Ġiet implimentata l-abbiltà li jintużaw effetti ta 'feedback fil-joysticks. Panel ta 'kontroll tal-joystick imtejjeb. Interazzjoni ottimizzata ma 'apparati kompatibbli XInput. F'WinMM, l-appoġġ tal-joystick ġie mċaqlaq għal DInput, minflok ma jintuża l-backend evdev fuq Linux u IOHID fuq macOS IOHID. Is-sewwieq tal-joystick l-antik winejoystick.drv tneħħa.
- Ġew miżjuda testijiet ġodda mal-modulu DInput, ibbażati fuq l-użu ta 'apparati HID virtwali u li ma jeħtieġux apparat fiżiku.
- Test u fonts
- Miżjud Font Set oġġett għal DirectWrite.
- RichEdit timplimenta b'mod korrett l-interface TextHost.
- Kernel (Windows Kernel Interfaces)
- Meta tħaddem fajl eżekutibbli mhux identifikat (bħal 'wine foo.msi') fl-Inbid, issa jissejjaħ start.exe, li jinvoka handlers assoċjati mat-tip ta' fajl.
- Appoġġ miżjud għall-mekkaniżmi ta 'sinkronizzazzjoni NtAlertThreadByThreadId u NtWaitForAlertByThreadId, simili għal futexes fil-Linux.
- Appoġġ miżjud għall-oġġetti debug NT użati biex jiddibaggjaw funzjonijiet tal-kernel.
- Appoġġ miżjud għal ċwievet tar-reġistru dinamiċi biex tissejvja d-dejta tal-prestazzjoni.
- C Runtime
- Il-runtime C jimplimenta sett sħiħ ta 'funzjonijiet matematiċi, li huma prinċipalment trasferiti mill-librerija Musl.
- Il-pjattaformi kollha tas-CPU jipprovdu appoġġ korrett għall-funzjonijiet floating point.
- Netwerking karatteristiċi
- Modalità ta' kompatibilità mtejba għal Internet Explorer 11 (IE11), li issa tintuża awtomatikament għall-ipproċessar ta' dokumenti HTML.
- Il-librerija mshtml timplimenta l-modalità JavaScript ES6 (ECMAScript 2015), li tipprovdi appoġġ għal karatteristiċi bħall-espressjoni let u l-oġġett Mappa.
- L-installazzjoni ta' pakketti MSI b'żidiet mal-magna Gecko fid-direttorju tax-xogħol tal-Inbid issa ssir meta jkun meħtieġ, u mhux waqt aġġornament tal-Inbid.
- Appoġġ miżjud għall-protokoll DTLS.
- Ġie implimentat is-servizz NSI (Network Store Interface), li jaħżen u jittrażmetti informazzjoni dwar routing u interfaces tan-netwerk fuq il-kompjuter lil servizzi oħra.
- WinSock API handlers bħal setsockopt u getsockopt ġew imċaqalqa għal NTDLL u s-sewwieq afd.sys biex jikkonformaw mal-arkitettura tal-Windows.
- Il-fajls tad-database tan-netwerk ta' Wine stess, bħal /etc/protocols u /etc/networks, issa huma installati fid-direttorju tax-xogħol ta' Wine, minflok jaċċessaw databases simili Unix.
- Pjattaformi alternattivi
- Appoġġ miżjud għal tagħmir Apple ibbażat fuq ċipep M1 ARM (Apple Silicon).
- L-appoġġ għall-karatteristiċi BCrypt u Secur32 fuq macOS issa jeħtieġ l-installazzjoni tal-librerija GnuTLS.
- Esegwibbli 32-bit għall-pjattaformi ARM issa huma mibnija fil-modalità Thumb-2, simili għall-Windows. A preloader huwa użat biex jgħabbi fajls bħal dawn.
- Għal pjattaformi ARM ta '32-bit, ġie implimentat appoġġ għall-eċċezzjonijiet ta' stralċ.
- Għal FreeBSD, in-numru ta 'mistoqsijiet appoġġjati għal informazzjoni tas-sistema ta' livell baxx, bħall-istatus tal-memorja u l-livell ta 'ċarġ tal-batterija, ġie estiż.
- Applikazzjonijiet u għodod ta 'żvilupp integrati
- L-utilità reg.exe żiedet appoġġ għal fehmiet tar-reġistru 32- u 64-bit. Appoġġ miżjud għall-ikkupjar taċ-ċwievet tar-reġistru.
- L-utilità WineDump żiedet appoġġ għad-dumping tal-metadata tal-Windows u l-wiri ta 'informazzjoni dettaljata dwar l-entrati CodeView.
- Il-Wine Debugger (winedbg) jipprovdi l-abbiltà li jiddebuggja proċessi 32-bit minn debugger 64-bit.
- Il-ħila li tgħabbi l-libreriji mibnija fil-fajls PE ġiet miżjuda mal-kompilatur IDL (widl), ġie pprovdut appoġġ għal attributi u kostruzzjonijiet speċifiċi għal WinRT, u tfittxija għal librerija speċifika għall-pjattaforma ġiet implimentata.
- Sistema ta 'assemblaġġ
- F'direttorji speċifiċi għall-arkitettura, il-libreriji issa huma ffrankati b'ismijiet li jirriflettu l-arkitettura u t-tip eżekutibbli, bħal 'i386-windows' għall-format PE u 'x86_64-unix' għal libreriji unix, li jippermettu appoġġ għal arkitetturi differenti f'Inbid wieħed. installazzjoni u jipprovdu cross-compilation ta 'Winelib.
- Biex tissettja għażla fl-intestaturi tal-fajls PE li tikkontrolla t-tranżizzjoni għall-użu tad-DLLs indiġeni, il-bandiera '—għażla preferuta nattiva' ġiet miżjuda ma' winebuild (l-ipproċessar ta' DLL_WINE_PREATTACH f'DllMain twaqqaf).
- Appoġġ miżjud għall-verżjoni 4 tal-format tad-dejta dwar id-debug Dwarf, li issa jintuża awtomatikament meta jinbnew libreriji tal-Inbid.
- Miżjud għażla tal-bini '—enable-build-id' biex tissejvja identifikaturi uniċi tal-bini f'fajls eżekutibbli.
- Appoġġ miżjud għall-użu tal-kompilatur Clang fil-mod ta 'kompatibilità MSVC.
- Miscellanea
- L-ismijiet tad-direttorji tipiċi fil-qoxra tal-utent (Windows Shell) jingħataw lill-iskema użata li tibda bil-Windows Vista, i.e. Minflok id-'Dokumenti Tiegħi', issa jinħoloq direttorju 'Dokumenti', u l-biċċa l-kbira tad-dejta tiġi ssejvjata fid-direttorju 'AppData'.
- L-appoġġ għall-ispeċifikazzjoni OpenCL 1.2 ġie miżjud mas-saff tal-librerija OpenCL.
- Is-sewwieq WinSpool żied appoġġ għal daqsijiet ta 'paġni differenti meta jistampa.
- Miżjud appoġġ inizjali għal MSDASQL, il-fornitur Microsoft OLE DB għas-sewwieqa ODBC.
- Il-magna Wine Mono bl-implimentazzjoni tal-pjattaforma .NET ġiet aġġornata biex tirrilaxxa 7.0.0.
- Id-dejta Unicode ġiet aġġornata għall-ispeċifikazzjoni Unicode 14.
- Is-siġra tas-sors tinkludi l-libreriji Faudio, GSM, LCMS2, LibJPEG, LibJXR, LibMPG123, LibPng, LibTiff, LibXml2, LibXslt u Zlib, li huma kkompilati f'format PE u ma jeħtiġux verżjoni fil-format Unix. Fl-istess ħin, dawn il-libreriji jistgħu wkoll jiġu importati mis-sistema biex jużaw assemblaġġi esterni minflok għażliet ta 'PE integrati.
Sors: opennet.ru