Kutulutsidwa kokhazikika kwa Wine 7.0

Pambuyo pa chaka cha chitukuko ndi mitundu yoyesera ya 30, kumasulidwa kokhazikika kwa kukhazikitsidwa kwa Win32 API kunaperekedwa - Wine 7.0, yomwe inaphatikizapo zosintha za 9100. Zopindulitsa zazikulu za mtundu watsopanowu ndi monga kumasulira kwa ma module ambiri a Wine mu mtundu wa PE, kuthandizira mitu, kukulitsa thumba lachisangalalo ndi zida zolowetsa zokhala ndi mawonekedwe a HID, komanso kukhazikitsa kamangidwe ka WoW64 poyendetsa mapulogalamu a 32-bit mu a. 64-bit chilengedwe.

Vinyo watsimikizira kugwira ntchito kwathunthu kwa 5156 (chaka chapitacho 5049) mapulogalamu a Windows, mapulogalamu ena 4312 (chaka chapitacho 4227) amagwira ntchito bwino ndi zoikamo zowonjezera ndi ma DLL akunja. Mapulogalamu a 3813 (zaka 3703 zapitazo) ali ndi mavuto ang'onoang'ono ogwira ntchito omwe samasokoneza kugwiritsa ntchito ntchito zazikuluzikulu za ntchito.

Zatsopano zazikulu mu Wine 7.0:

  • Ma modules mu mtundu wa PE
    • Pafupifupi ma DLL onse atembenuzidwa kuti agwiritse ntchito PE (Portable Executable, yogwiritsidwa ntchito pa Windows) mawonekedwe a fayilo m'malo mwa ELF. Kugwiritsiridwa ntchito kwa PE kumathetsa mavuto pothandizira njira zosiyanasiyana zotetezera makope zomwe zimatsimikizira kuti ndi ndani ma modules pa disk ndi kukumbukira.
    • Kutha kulumikizana ndi ma module a PE ndi malaibulale a Unix pogwiritsa ntchito kuyimba kwa NT kernel system kwakhazikitsidwa, komwe kumakupatsani mwayi wobisa ma code a Unix kuchokera ku Windows debugger ndikuwunika kulembetsa ulusi.
    • Ma DLL omangidwa tsopano amanyamulidwa pokhapokha ngati pali fayilo yofanana ya PE pa disk, mosasamala kanthu kuti ndi laibulale yeniyeni kapena stub. Kusintha kumeneku kumapangitsa kuti pulogalamuyo izitha kuwona zonse zolondola kumafayilo a PE. Kuti mulepheretse izi, mutha kugwiritsa ntchito WINEBOOTSTRAPMODE kusintha kwa chilengedwe.
  • uwu 64
    • Zomangamanga za WoW64 (64-bit Windows-on-Windows) zakhazikitsidwa, kukulolani kuyendetsa mapulogalamu a Windows 32-bit mu njira za 64-bit Unix. Thandizo limakhazikitsidwa kudzera mu kulumikizana kwa wosanjikiza womwe umatanthawuza kuyimba kwa 32-bit NT kukhala mafoni a 64-bit kupita ku NTDLL.
    • Magawo a WoW64 amakonzedwera malaibulale ambiri a Unix ndipo amalola ma module a 32-bit PE kupeza malaibulale a 64-bit Unix. Ma module onse akasinthidwa kukhala mtundu wa PE, zitheka kugwiritsa ntchito Windows 32-bit popanda kukhazikitsa malaibulale a 32-bit Unix.
  • Mitu
    • Thandizo lamutu lakhazikitsidwa. Mitu yopangira "Kuwala", "Blue" ndi "Classic Blue" ikuphatikizidwa, yomwe ingasankhidwe kudzera pa WineCfg configurator.
    • Adawonjezera kuthekera kosintha mawonekedwe amitundu yonse yamawonekedwe kudzera mumitu. Maonekedwe azinthu amasinthidwa okha mutasintha mutu wapangidwe.
    • Thandizo lamutu lawonjezedwa ku mapulogalamu onse a Wine omwe adamangidwa. Mapulogalamu adasinthidwa kukhala zowonera zokhala ndi kachulukidwe kakang'ono ka pixel (High DPI).
  • Graphics subsystem
    • Laibulale yatsopano ya Win32u yawonjezedwa, yomwe ili ndi magawo a malaibulale a GDI32 ndi USER32 okhudzana ndi kukonza zithunzi ndi kasamalidwe ka zenera pamlingo wa kernel. M'tsogolomu, ntchito idzayamba kunyamula zida zoyendetsa galimoto monga winex32.drv ndi winemac.drv kupita ku Win11u.
    • Dalaivala wa Vulkan amathandizira mawonekedwe a Vulkan API 1.2.201.
    • Anapereka chithandizo chotulutsa zinthu za geometric zomwe zasinthidwa kudzera pa Direct2D API, ndikutha kuwona ngati kugunda kwagunda (kugunda-kuyesa).
    • Direct2D API imapereka chithandizo choyambirira pazowoneka zogwiritsidwa ntchito pogwiritsa ntchito mawonekedwe a ID2D1Effect.
    • Direct2D API yawonjezera chithandizo cha mawonekedwe a ID2D1MultiThread, omwe amagwiritsidwa ntchito kukonza mwayi wopezeka kuzinthu zamapulogalamu amitundu yambiri.
    • Ma laibulale a WindowsCodecs amapereka chithandizo chojambula zithunzi mumtundu wa WMP (Windows Media Photo) ndi ma encoding amtundu wa DDS (DirectDraw Surface). Sitithandiziranso zithunzi za ICNS (za macOS), zomwe sizimagwiritsidwa ntchito pa Windows.
  • Direct3D
    • Injini yatsopano yomasulira yasinthidwa kwambiri, kumasulira mafoni a Direct3D ku Vulkan graphics API. Nthawi zambiri, mulingo wa chithandizo cha Direct3D 10 ndi 11 mu injini yochokera ku Vulkan wabweretsedwa mofanana ndi injini yakale ya OpenGL. Kuti mutsegule injini ya Vulkan, ikani kusintha kwa registry ya Direct3D "renderer" kukhala "vulkan".
    • Zinthu zambiri za Direct3D 10 ndi 11 zimayikidwa, kuphatikiza Ma Deferred Contexts, zinthu zomwe zimagwira ntchito pazida zomwe zimagwiritsidwa ntchito pazida, zosinthika mosalekeza muzotchinga, kuchotsa mawonekedwe akunja kwadongosolo, kukopera deta pakati pazamitundu yopanda mtundu (DXGI_FORMAT_BC3_TYPELESS, DXGI_FORMAT_R32G32B32B). .
    • Thandizo lowonjezera pamasinthidwe amitundu yambiri, kukulolani kuti musankhe chowunikira kuti chiwonetse pulogalamu ya Direct3D pamawonekedwe athunthu.
    • DXGI API imapereka kuwongolera kwa gamma pazenera, zomwe zitha kugwiritsidwa ntchito ndi Direct3D 10 ndi mapulogalamu 11 kuti asinthe kuwala kwa skrini. Yathandizira kubwezanso zowerengera za ma framebuffers (SwapChain).
    • Direct3D 12 imawonjezera chithandizo cha siginecha ya mizu 1.1.
    • Mu kachidindo ka Vulkan API, kuwongolera kwamafunso kwawongoleredwa pomwe makina amathandizira VK_EXT_host_query_reset extension.
    • Anawonjezera kuthekera kotulutsa ma framebuffers (SwapChain) kudzera pa GDI ngati OpenGL kapena Vulkan sangathe kugwiritsidwa ntchito powonetsera, mwachitsanzo, potulutsa zenera kuchokera kuzinthu zosiyanasiyana, mwachitsanzo, m'mapulogalamu opangidwa ndi CEF (Chromium Embedded Framework).
    • Mukamagwiritsa ntchito GLSL shader backend, chosinthira "cholondola" chimatsimikiziridwa kuti chikhale ndi malangizo a shader.
    • DirectDraw API imawonjezera chithandizo cha 3D yoperekera kukumbukira kwamakina pogwiritsa ntchito zida zamapulogalamu monga "RGB", "MMX" ndi "Ramp".
    • AMD Radeon RX 3M, AMD Radeon RX 5500/6800 XT/6800 XT, AMD Van Gogh, Intel UHD Graphics 6900 ndi NVIDIA GT 630 makadi awonjezedwa ku database ya Direct1030D graphics card.
    • Chinsinsi cha "UseGLSL" chachotsedwa ku registry ya HKEY_CURRENT_USERSoftwareWineDirect3D, m'malo mwake, kuyambira ndi Wine 5.0, muyenera kugwiritsa ntchito "shader_backend".
    • Kuti muthandizire Direct3D 12, tsopano mufunika mtundu 3 wa laibulale ya vkd1.2d.
  • D3DX
    • Kukhazikitsa kwa D3DX 10 kwathandizira kuthandizira mawonekedwe owoneka bwino ndikuwonjezera chithandizo cha mawonekedwe azithunzi za Windows Media Photo (JPEG XR)
    • Ntchito zopangira zowonjezeredwa zoperekedwa mu D3DX10, monga D3DX10CreateTextureFromMemory().
    • Mapulogalamu a ID3DX10Sprite ndi ID3DX10Font akhazikitsidwa pang'ono.
  • Nyimbo ndi kanema
    • Zowonjezera za GStreamer za DirectShow ndi chimango cha Media Foundation zimaphatikizidwa kukhala WineGStreamer backend imodzi, yomwe ikuyenera kufewetsa chitukuko cha ma API omasulira zatsopano.
    • Kutengera WineGStreamer backend, Windows Media zinthu zimakhazikitsidwa kuti ziwerengedwe molumikizana komanso mosagwirizana.
    • Kukhazikitsidwa kwa chimango cha Media Foundation kwakonzedwanso, kuthandizira magwiridwe antchito a IMFPMediaPlayer ndi ogawa zitsanzo zawonjezedwa, ndipo kuthandizira kwa EVR ndi SAR kuperekera ma buffers kwawongoleredwa.
    • Laibulale ya wineqtdecoder, yomwe imapereka decoder ya mtundu wa QuickTime, yachotsedwa (ma codec onse tsopano akugwiritsa ntchito GStreamer).
  • Zida zolowetsa
    • Kuchulukana kwa zida zolowetsa zomwe zimathandizira protocol ya HID (Human Interface Devices) zakonzedwa bwino, kumapereka maluso monga kugawa zofotokozera za HID, kukonza mauthenga a HID, ndikupereka madalaivala a mini-HID.
    • Kumbuyo kwa dalaivala wa winebus.sys, kumasulira kwa mafotokozedwe a chipangizo mu mauthenga a HID kwakonzedwa bwino.
    • Onjezani kumbuyo kwatsopano kwa DirectInput pazosangalatsa zomwe zimathandizira protocol ya HID. Kuthekera kogwiritsa ntchito mayankho muzosangalatsa zakhazikitsidwa. Kupititsa patsogolo joystick control panel. Kulumikizana kokwanitsidwa ndi zida zofananira za XInput. Ku WinMM, thandizo lachisangalalo lasamutsidwa ku DInput, m'malo mogwiritsa ntchito evdev backend pa Linux ndi IOHID pa macOS IOHID. Dalaivala wakale wa joystick winejoystick.drv wachotsedwa.
    • Mayesero atsopano awonjezedwa ku gawo la DInput, pogwiritsa ntchito zipangizo zamakono za HID komanso osafuna chipangizo chakuthupi.
  • Malemba ndi mafonti
    • Chowonjezera cha Font Set ku DirectWrite.
    • RichEdit imagwiritsa ntchito mawonekedwe a TextHost.
  • Kernel (Windows Kernel Interfaces)
    • Mukamagwiritsa ntchito fayilo yosadziwika (monga 'wine foo.msi') mu Wine, start.exe imatchedwa tsopano, yomwe imayitanitsa ogwira ntchito omwe amagwirizana ndi mtundu wa fayilo.
    • Thandizo lowonjezera pamakina olumikizirana NtAlertThreadByThreadId ndi NtWaitForAlertByThreadId, ofanana ndi futexes mu Linux.
    • Thandizo lowonjezera la zinthu za NT zomwe zimagwiritsidwa ntchito kuthetsa ntchito za kernel.
    • Thandizo lowonjezera la makiyi a registry osintha kuti musunge deta yogwira ntchito.
  • C Runtime
    • Nthawi yothamanga ya C imagwiritsa ntchito masamu ambiri, omwe amatengedwa kuchokera ku laibulale ya Musl.
    • Mapulatifomu onse a CPU amapereka chithandizo choyenera pazigawo zoyandama.
  • Zolemba pamaneti
    • Mawonekedwe ogwirizana a Internet Explorer 11 (IE11), omwe tsopano amagwiritsidwa ntchito mosakhazikika pokonza zolemba za HTML.
    • Laibulale ya mshtml imagwiritsa ntchito ES6 JavaScript mode (ECMAScript 2015), yomwe imapereka chithandizo pazinthu monga let expression ndi Map object.
    • Kuyika kwa mapaketi a MSI okhala ndi zowonjezera pa injini ya Gecko mu bukhu la Wine ntchito tsopano kwachitika pakafunika, osati pakusintha kwa Vinyo.
    • Thandizo lowonjezera la protocol ya DTLS.
    • Ntchito ya NSI (Network Store Interface) yakhazikitsidwa, kusunga ndi kutumiza zidziwitso zokhudzana ndi mayendedwe ndi ma netiweki pakompyuta kupita kuzinthu zina.
    • WinSock API handlers monga setsockopt ndi getsockopt zasamutsidwira ku NTDLL ndi afd.sys driver kuti agwirizane ndi kamangidwe ka Windows.
    • Mafayilo a database a Wine, monga /etc/protocols ndi/etc/networks, tsopano aikidwa mu bukhu logwira ntchito la Wine, m'malo mopeza nkhokwe zofananira za Unix.
  • Njira zina
    • Thandizo lowonjezera la zida za Apple zochokera ku M1 ARM chips (Apple Silicon).
    • Kuthandizira kwazinthu za BCrypt ndi Secur32 pa macOS tsopano kukufunika kukhazikitsa laibulale ya GnuTLS.
    • Zothandizira 32-bit zamapulatifomu a ARM tsopano zamangidwa mu Thumb-2 mode, yofanana ndi Windows. A preloader amagwiritsidwa ntchito kutsegula mafayilo otere.
    • Pamapulatifomu a 32-bit ARM, chithandizo chochotserako chinakhazikitsidwa.
    • Kwa FreeBSD, kuchuluka kwa mafunso othandizidwa pazidziwitso zamakina otsika, monga kukumbukira kukumbukira ndi kuchuluka kwa batire, kwakulitsidwa.
  • Zopangira zomangidwira ndi zida zachitukuko
    • Ntchito ya reg.exe yawonjezera chithandizo cha 32- ndi 64-bit registry view. Zowonjezera zothandizira kukopera makiyi olembetsa.
    • Pulogalamu ya WineDump yawonjezera thandizo pakutaya metadata ya Windows ndikuwonetsa zambiri zazolemba za CodeView.
    • Wine Debugger (winedbg) imapereka kuthekera kosintha njira za 32-bit kuchokera pa 64-bit debugger.
    • Kutha kutsitsa malaibulale omwe amamangidwa mu mafayilo a PE awonjezedwa ku IDL compiler (widl), kuthandizira kwa mawonekedwe a WinRT ndi zomanga zaperekedwa, ndipo kusaka kwa library papulatifomu kwakhazikitsidwa.
  • Assembly dongosolo
    • M'makalata okhudzana ndi zomangamanga, malaibulale tsopano amasungidwa ndi mayina omwe amawonetsa kamangidwe ndi mtundu wa zomwe zingatheke, mwachitsanzo, 'i386-windows' ya mtundu wa PE ndi 'x86_64-unix' ya malaibulale a unix, kulola kuthandizira kwa zomangamanga zosiyanasiyana. Kuyika kwa Wine kamodzi ndikupereka kuphatikiza kwa Winelib.
    • Kuti muyike kusankha pamitu ya mafayilo a PE omwe amawongolera kusintha kogwiritsa ntchito ma DLL achilengedwe, mbendera ya '-prefer-native option' yawonjezedwa ku winebuild (DLL_WINE_PREATTACH processing mu DllMain wayimitsidwa).
    • Thandizo lowonjezera la mtundu 4 wamtundu wa data wa Dwarf debug, womwe tsopano umagwiritsidwa ntchito mwachisawawa pomanga malaibulale a Wine.
    • Njira yowonjezera yopangira '-enable-build-id' kuti musunge zozindikiritsa zapadera m'mafayilo omwe angathe kuchitika.
    • Thandizo lowonjezera pakugwiritsa ntchito komputala wa Clang mumayendedwe ofananira a MSVC.
  • Π Π°Π·Π½ΠΎΠ΅
    • Mayina am'ndandanda wanthawi zonse mu chipolopolo cha ogwiritsa ntchito (Windows Shell) amaperekedwa ku dongosolo lomwe limagwiritsidwa ntchito kuyambira ndi Windows Vista, i.e. M'malo mwa 'Zolemba Zanga', chikwatu cha 'Documents' tsopano chapangidwa, ndipo zambiri zasungidwa ku bukhu la 'AppData'.
    • Thandizo pamafotokozedwe a OpenCL 1.2 awonjezedwa ku laibulale ya OpenCL.
    • Woyendetsa WinSpool wawonjezera chithandizo chamasamba osiyanasiyana akamasindikiza.
    • Thandizo loyamba la MSDASQL, wopereka Microsoft OLE DB kwa oyendetsa ODBC.
    • Injini ya Wine Mono ndi kukhazikitsidwa kwa nsanja ya .NET yasinthidwa kuti itulutse 7.0.0.
    • Zambiri za Unicode zasinthidwa ku Unicode 14.
    • Mtengo woyambira umaphatikizapo mabuku a Faudio, GSM, LCMS2, LibJPEG, LibJXR, LibMPG123, LibPng, LibTiff, LibXml2, LibXslt ndi Zlib, omwe amapangidwa mumtundu wa PE ndipo safuna mtundu wa Unix. Nthawi yomweyo, malaibulalewa amathanso kutumizidwa kuchokera kudongosolo kuti agwiritse ntchito misonkhano yakunja m'malo mwa zosankha za PE zomangidwa.

Source: opennet.ru

Kuwonjezera ndemanga