Ukukhutshwa okuzinzileyo kweWayini 7.0

Emva konyaka wophuhliso kunye neenguqulelo zovavanyo ezingama-30, ukukhutshwa okuzinzileyo kokuphunyezwa okuvulekileyo kweWin32 API kwaboniswa - iWine 7.0, ebandakanya iinguqu ezingaphezu kwe-9100. Iimpumelelo eziphambili zenguqulelo entsha zibandakanya ukuguqulelwa kweemodyuli ezininzi zeWayini kwifomathi ye-PE, inkxaso yemixholo, ukwandiswa kwestakhi yeentonga zovuyo kunye nezixhobo ezifakiweyo ezinojongano lweHID, kunye nokuphunyezwa koyilo lweWoW64 lokuqhuba iinkqubo ezingama-32-bit 64-bit okusingqongileyo.

Iwayini iqinisekisile ukusebenza ngokupheleleyo kwe-5156 (unyaka odlulileyo i-5049) iinkqubo ze-Windows, enye i-4312 (unyaka odlulileyo 4227) iinkqubo zisebenza ngokugqibeleleyo kunye nezicwangciso ezongezelelweyo kunye nee-DLL zangaphandle. Iinkqubo ze-3813 (iminyaka eyi-3703 edlulileyo) zineengxaki ezincinci zokusebenza ezingaphazamisi ukusetyenziswa kwemisebenzi ephambili yezicelo.

Izinto ezintsha eziphambili kwiWine 7.0:

  • Iimodyuli kwifomathi ye-PE
    • Phantse zonke ii-DLL ziguqulelwe ukusebenzisa i-PE (Ephathekayo Ephunyeziweyo, esetyenziswa kwiWindows) ifomathi yefayile ephunyeziweyo endaweni ye ELF. Ukusetyenziswa kwe-PE kusombulula iingxaki ngokuxhasa iinkqubo ezahlukeneyo zokukhusela ikopi eziqinisekisa ubunikazi beemodyuli zesistim kwidiski nakwimemori.
    • Ukukwazi ukusebenzisana neemodyuli ze-PE kunye neelayibrari ze-Unix usebenzisa umnxeba wenkqubo ye-kernel ye-NT iphunyeziwe, ekuvumela ukuba ufihle ukufikelela kwikhowudi ye-Unix kwii-debuggers ze-Windows kunye nokubeka iliso kubhaliso lwentambo.
    • Ii-DLL ezakhelwe ngaphakathi ngoku zilayishwe kuphela ukuba kukho ifayile ye-PE ehambelanayo kwidiski, kungakhathaliseki ukuba ilayibrari yokwenyani okanye i-stub. Olu tshintsho luvumela usetyenziso ukuba lusoloko lubona ukubophelela okuchanekileyo kwiifayile zePE. Ukukhubaza le ndlela yokuziphatha, ungasebenzisa i WINEBOOTSTRAPMODE eguquguqukayo.
  • WoW64
    • Uyilo lweWoW64 (i-64-bit Windows-on-Windows) luphunyeziwe, likuvumela ukuba usebenzise ii-32-bit zeWindows kwiinkqubo ze-64-bit Unix. Inkxaso iphunyezwa ngokudityaniswa komaleko oguqulela iifowuni ze-32-bit ze-NT kwiifowuni ze-64-bit kwi-NTDLL.
    • Iileya ze-WoW64 zilungiselelwe uninzi lwamathala eencwadi e-Unix kwaye zivumela iimodyuli ze-32-bit PE ukufikelela kwiilayibrari ze-Unix ezingama-64. Nje ukuba zonke iimodyuli ziguqulelwe kwifomathi ye-PE, kuyakwenzeka ukuqhuba ii-aplikeshini ze-32-bit Windows ngaphandle kokufaka iilayibrari ze-32-bit ze-Unix.
  • Imixholo
    • Inkxaso yomxholo iphunyeziwe. Imixholo yoyilo "Ukukhanya", "iBlue" kunye ne "Classic Blue" ifakiwe, enokuthi ikhethwe ngeWineCfg configurator.
    • Yongezwe ukukwazi ukwenza ngokwezifiso imbonakalo yazo zonke izilawuli zojongano ngemixholo. Imbonakalo yezinto ihlaziywa ngokuzenzekelayo emva kokutshintsha umxholo woyilo.
    • Inkxaso yomxholo yongezwe kuzo zonke izicelo ezakhelweyo zeWayini. Izicelo zilungelelaniswe kwizikrini ezinoxinano lwepixel ephezulu (High DPI).
  • Inkqubo engaphantsi yemizobo
    • Ithala leencwadi elitsha leWin32u longeziwe, elibandakanya iinxalenye zeGDI32 kunye ne-USER32 amathala eencwadi anxulumene nokulungiswa kwemizobo kunye nolawulo lwefestile kwinqanaba le-kernel. Kwixesha elizayo, umsebenzi uyakuqala ekufakeni izixhobo zomqhubi ezifana newinex32.drv kunye newinemac.drv ukuya kwiWin11u.
    • Umqhubi weVulkan uxhasa i-API yemifanekiso ye-Vulkan 1.2.201.
    • Kubonelelwe ngenkxaso yokukhupha izinto zejiyometri eziqanduselweyo ngeDirect2D API, ekwaziyo ukujonga ukuba ukucofa kuyabetha (uvavanyo lokubetha).
    • I-Direct2D API inikezela ngenkxaso yokuqala yeziphumo ezibonakalayo ezisetyenziswayo usebenzisa i-ID2D1Effect interface.
    • I-Direct2D API yongeze inkxaso ye-ID2D1MultiThread interface, esetyenziselwa ukuququzelela ukufikelela okukodwa kwizixhobo kwizicelo ezinemisonto emininzi.
    • Isethi yeWindowsCodecs yamathala eencwadi ibonelela ngenkxaso yokuchaza imifanekiso kwi-WMP (iFoto yeWindows Media) kunye nemifanekiso ekhowudiweyo kwifomathi ye-DDS (DirectDraw Surface). Asisaxhasi imifanekiso yokufaka iikhowudi kwifomathi ye-ICNS (ye-macOS), engaxhaswayo kwiWindows.
  • I-Direct3D
    • Injini entsha yonikezelo iphuculwe kakhulu, iguqulela iifowuni zeDirect3D kwi-API yemizobo yeVulkan. Kwiimeko ezininzi, inqanaba lenkxaso ye-Direct3D 10 kunye ne-11 kwi-injini esekelwe kwi-Vulkan iye yaziswa ngokulinganayo kunye ne-injini endala ye-OpenGL. Ukwenza i-injini yonikezelo ye-Vulkan, seta i-Direct3D yerejistri eguquguqukayo "renderer" ibe "vulkan".
    • Iimpawu ezininzi ze-Direct3D 10 kunye ne-11 ziphunyeziwe, kubandakanywa iMixholo eMiselweyo, izinto zombuso ezisebenza kumxholo wesixhobo, ukutshatyalaliswa okuqhubekayo kwi-buffers, ukucinywa kweembono ze-texture ngaphandle kwe-odolo, ukukopisha idatha phakathi kwemithombo kwiifomathi ezingenakuchwetheza (DXGI_FORMAT_BC3_TYPELESS, DXGI_FORMAT_R32G32B32B), njl. .
    • Inkxaso eyongeziweyo yoqwalaselo lweemonitha ezininzi, okukuvumela ukuba ukhethe esweni ukubonisa usetyenziso lweDirect3D kwimowudi yesikrini esigcweleyo.
    • I-DXGI API inikeza ukulungiswa kwe-gamma yesikrini, enokusetyenziswa yi-Direct3D 10 kunye ne-11 esekelwe kwizicelo zokutshintsha ukukhanya kwesikrini. Ukufunyanwa okuvunyiweyo kwezixhobo zokubala zesakhelo senyani (SwapChain).
    • I-Direct3D 12 yongeza inkxaso yenguqulo ye-1.1 yeengcambu zesignesha.
    • Kwikhowudi yonikezelo ngeVulkan API, ukusebenza kakuhle kwemibuzo kuphuculwe xa inkqubo ixhasa i-VK_EXT_host_query_reset extension.
    • Ukongezwa amandla okuvelisa i-framebuffers ebonakalayo (i-SwapChain) nge-GDI ukuba i-OpenGL okanye i-Vulkan ayinakusetyenziselwa umboniso, umzekelo, xa ukhupha ifestile kwiinkqubo ezahlukeneyo, umzekelo, kwiinkqubo ezisekelwe kwi-CEF (i-Chromium Embedded Framework) isakhelo.
    • Xa usebenzisa i-backend ye-shader ye-GLSL, isilungisi "esichanekileyo" siqinisekiswa kwimiyalelo ye-shader.
    • I-DirectDraw API yongeza inkxaso yokunikezelwa kwe-3D kwimemori yesistim usebenzisa izixhobo zesoftware ezinjenge "RGB", "MMX" kunye ne "Ramp".
    • I-AMD Radeon RX 3M, i-AMD Radeon RX 5500/6800 XT/6800 XT, i-AMD Van Gogh, i-Intel UHD Graphics 6900 kunye namakhadi e-NVIDIA GT 630 yongezwe kwi-database yekhadi lemizobo ye-Direct1030D.
    • Iqhosha elithi "Sebenzisa iGLSL" lisusiwe kwi-HKEY_CURRENT_USER\Software\Wine\Direct3D registry, endaweni yoko, ukuqala ngeWine 5.0, kufuneka usebenzise "shader_backend".
    • Ukuxhasa iDirect3D 12, ngoku ufuna ubuncinci inguqulelo 3 yethala leencwadi le-vkd1.2d.
  • D3DX
    • Ukuphunyezwa kwe-D3DX 10 kuye kwaphucula inkxaso yesakhelo sembonakalo yembonakalo kunye nenkxaso eyongezelelweyo yefomathi yomfanekiso weWindows Media Photo (JPEG XR)
    • Imisebenzi eyongeziweyo yokudala i-texture enikwe kwi-D3DX10, njenge-D3DX10CreateTextureFromMemory ().
    • I-ID3DX10Sprite kunye ne-ID3DX10Font ujongano lwesoftware ziye zaphunyezwa ngokuyinxenye.
  • Isandi kunye nevidiyo
    • Izongezo ze-GStreamer zeDirectShow kunye nesakhelo seMedia Foundation zidityanisiwe kwi-WineGStreamer yangasemva eqhelekileyo, ekufuneka ilula uphuhliso lomxholo omtsha we-APIs.
    • Ngokusekwe kwi-WineGStreamer backend, izinto zeWindows Media ziphunyeziwe ukuze zifundwe ngokuhambelanayo kunye ne-asynchronous.
    • Ukuphunyezwa kwesakhelo seMedia Foundation kuye kwacokiswa ngakumbi, inkxaso yokusebenza kwe-IMFPMediaPlayer kunye nesampulu yolwabiwo yongeziweyo, kwaye inkxaso ye-EVR kunye ne-SAR yokubonelela nge-buffers iphuculwe.
    • Ithala leencwadi le-wineqtdecoder, elibonelela ngedikhowuda yefomathi ye-QuickTime, lisusiwe (zonke iikhowudi ngoku zisebenzisa i-GStreamer).
  • Izixhobo zokufaka
    • Isitaki sezixhobo zokufaka ezixhasa iprotocol yeHID (Human Interface Devices) iphuculwe kakhulu, ibonelela ngezakhono ezinjengokwahlulahlula izichazi zeHID, ukusetyenzwa kwemiyalezo yeHID, kunye nokubonelela ngabaqhubi abancinci beHID.
    • Kwi-backends yomqhubi we-winebus.sys, ukuguqulelwa kweenkcazo zesixhobo kwimiyalezo ye-HID kuphuculwe.
    • Yongeza umva omtsha we-DirectInput wezinto zovuyo ezixhasa i-HID protocol. Ukukwazi ukusebenzisa iziphumo zempendulo kwi-joystick kuphunyeziwe. Iphaneli yokulawula yovuyo ephuculweyo. Unxibelelwano olulungiselelweyo kunye nezixhobo ezihambelanayo ze-XInput. Kwi-WinMM, inkxaso ye-joystick iye yasiwa kwi-DInput, endaweni yokusebenzisa umva we-evdev kwi-Linux kunye ne-IOHID kwi-macOS IOHID. Umqhubi omdala we-joystick winejoystick.drv isusiwe.
    • Iimvavanyo ezintsha zongezwe kwimodyuli ye-DInput, ngokusekelwe kusetyenziso lwezixhobo ze-HID ezibonakalayo kwaye azifuni isixhobo somzimba.
  • Umbhalo kunye neefonti
    • Ifonti eyongeziweyo Seta into kwi-DirectWrite.
    • I-RichEdit isebenzisa ngokuchanekileyo i-TextHost interface.
  • I-Kernel (i-Windows Kernel Interfaces)
    • Xa usebenzisa ifayile engachazwanga ephunyezwayo (efana ne 'wine foo.msi') kwiWayini, start.exe ibizwa ngoku, ebiza abaphathi abayanyaniswa nohlobo lwefayile.
    • Inkxaso eyongeziweyo yeendlela zongqamaniso NtAlertThreadByThreadId kunye neNtWaitForAlertByThreadId, ezifana neefutexes kwiLinux.
    • Inkxaso eyongeziweyo yezinto ze-NT zokulungisa ezisetyenziselwa ukulungisa imisebenzi yekernel.
    • Inkxaso eyongeziweyo yamaqhosha obhaliso aguqukayo ukugcina idatha yokusebenza.
  • C Ixesha lokudlala
    • Ixesha lokusebenza le-C liphumeza uluhlu olupheleleyo lwemisebenzi yezibalo, ethwalwa ikakhulu kwithala leencwadi leMusl.
    • Onke amaqonga e-CPU abonelela ngenkxaso echanekileyo kwimisebenzi yeendawo ezidadayo.
  • Iimpawu zenethiwekhi
    • Imowudi ephuculweyo yokuhambelana ye-Internet Explorer 11 (IE11), esetyenziswa ngokungagqibekanga ekusetyenzweni kwamaxwebhu eHTML.
    • Ilayibrari ye-mshtml isebenzisa imowudi yeJavaScript ye-ES6 (ECMAScript 2015), ebonelela ngenkxaso kwiifitsha ezifana ne-let expression kunye nento yeMaphu.
    • Ufakelo lweepakethe ze-MSI nezongezelelo kwinjini yeGecko kuluhlu olusebenzayo lweWayini ngoku kwenziwa xa kuyimfuneko, hayi ngexesha lohlaziyo lweWayini.
    • Inkxaso eyongeziweyo yeprotocol ye-DTLS.
    • Inkonzo ye-NSI (i-Network Store Interface) iphunyeziwe, igcina kwaye idlulisa ulwazi malunga neendlela kunye nojongano lwenethiwekhi kwikhompyuter kwezinye iinkonzo.
    • I-WinSock API abaphathi njenge-setsockopt kunye ne-getsockopt ziye zafuduselwa kwi-NTDLL kunye nomqhubi we-afd.sys ukuze ahambelane noyilo lweWindows.
    • Iifayile zedatha yenethiwekhi yeWayini, njenge /etc/protocols kunye /etc/networks, ngoku zifakwe kwi-Wine working directory, endaweni yokufikelela kwi-database ye-Unix efanayo.
  • Iiplatifti ezingezinye
    • Inkxaso eyongeziweyo yezixhobo ze-Apple ezisekelwe kwi-chips ze-M1 ze-ARM (i-Apple Silicon).
    • Inkxaso yeefitsha ze-BCrypt kunye ne-Secur32 kwi-macOS ngoku ifuna ukufakelwa kwethala leencwadi le-GnuTLS.
    • I-32-bit ephunyeziweyo yamaqonga e-ARM ngoku akhiwe kwimowudi yeThumb-2, efana neWindows. Isilayishi sangaphambili sisetyenziselwa ukulayisha iifayile ezinjalo.
    • Kumaqonga e-ARM angama-32, inkxaso yokungaphumli ngaphandle iphunyeziwe.
    • Kwi-FreeBSD, inani lemibuzo exhaswayo yolwazi lwenkqubo ephantsi, efana nesimo sememori kunye nenqanaba lentlawulo yebhetri, liye landiswa.
  • Izicelo ezakhelwe ngaphakathi kunye nezixhobo zophuhliso
    • I-reg.exe eluncedo yongeze inkxaso ye-32- kunye ne-64-bit yeembono zobhaliso. Inkxaso eyongeziweyo yokukopa amaqhosha obhaliso.
    • Usetyenziso lweWineDump longeze inkxaso yokulahla imetadata yeWindows kunye nokubonisa ulwazi oluneenkcukacha malunga nokungeniswa kweCodeView.
    • I-Wine Debugger (winedbg) ibonelela ngokukwazi ukulungisa iinkqubo ze-32-bit ukusuka kwi-64-bit debugger.
    • Ikhono lokulayisha amathala eencwadi akhiwe kwiifayile ze-PE zongezwe kwi-IDL compiler (widl), inkxaso yeempawu ezikhethekileyo zeWinRT kunye nolwakhiwo lunikezelwe, kwaye ukukhangela kwethala leencwadi elikhethekileyo kuye kwaphunyezwa.
  • Inkqubo yeNdibano
    • Kuluhlu lwezalathiso lolwakhiwo, amathala ngoku agciniwe anamagama abonisa uyilo kunye nodidi oluphunyezwayo, olufana ne 'i386-windows' yefomathi ye-PE kunye ne-'x86_64-unix' yamathala eencwadi angabonakaliyo, ivumela inkxaso yolwakhiwo olwahlukeneyo kwiWayini enye. ufakelo kunye nokubonelela ngokuhlanganiswa kweWinelib.
    • Ukuseta ukhetho kwiiheader zeefayile zePE ezilawula utshintsho ekusebenziseni iiDLL zomthonyama, i-'-prefer-native option' iflegi yongezwe kwiwinebuild (DLL_WINE_PREATTACH processing kwi DllMain imisiwe).
    • Inkxaso eyongeziweyo yenguqulo yesi-4 yefomathi yedatha ye-Dwarf debug, esetyenziswa ngokusisiseko xa kusakhiwa iilayibrari zeWayini.
    • Ukhetho lokwakha olongeziweyo '-yenza-yakha-id' ukugcina iziphawuli zokwakha ezizodwa kwiifayile eziphunyeziweyo.
    • Inkxaso eyongeziweyo yokusebenzisa i-Clang compiler kwimodi yokuhambelana ye-MSVC.
  • Π Π°Π·Π½ΠΎΠ΅
    • Amagama ezalathisi eziqhelekileyo kwiqokobhe lomsebenzisi (i-Windows Shell) inikwe icebo elisetyenziswe ukuqala ngeWindows Vista, okt. Endaweni yokuba 'Amaxwebhu am', uluhlu 'lwaMaxwebhu' ngoku lwenziwe, kwaye uninzi lwedatha lugcinwa kuluhlu lwe-'AppData'.
    • Inkxaso yeenkcazo ze-OpenCL 1.2 yongezwe kuluhlu lwethala leencwadi le-OpenCL.
    • Umqhubi weWinSpool wongeze inkxaso yobukhulu bephepha obuhlukeneyo xa ushicilela.
    • Inkxaso yokuqala eyongeziweyo ye-MSDASQL, umboneleli we-Microsoft OLE DB kubaqhubi be-ODBC.
    • Injini yeWine Mono ene-.NET ukuphunyezwa kweqonga ihlaziywe ukukhulula i-7.0.0.
    • Idatha ye-Unicode ihlaziywe kwiinkcazo ze-Unicode 14.
    • Umthi womthombo uquka iFaudio, GSM, LCMS2, LibJPEG, LibJXR, LibMPG123, LibPng, LibTiff, LibXml2, LibXslt kunye namathala eencwadi eZlib, ahlanganiswe kwifomathi ye-PE kwaye ayifuni inguqulelo kwifomethi ye-Unix. Kwangaxeshanye, la mathala eencwadi nawo angangeniswa kwi-system ukuze asebenzise iindibano zangaphandle endaweni yeenketho ezakhelwe ngaphakathi ze-PE.

umthombo: opennet.ru

Yongeza izimvo