Rilaxx stabbli ta' Wine 7.0

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

Żid kumment