Kutulutsidwa kokhazikika kwa Wine 5.0

Pambuyo pa chaka cha chitukuko ndi mitundu 28 yoyesera zoperekedwa kumasulidwa kokhazikika kwa kukhazikitsa kwa Win32 API - Vinyo 5.0, zomwe zinaphatikizapo zosintha zoposa 7400. Zopindulitsa zazikulu za mtundu watsopanowu zikuphatikiza kubweretsa ma module a Wine omangidwa mumtundu wa PE, kuthandizira masanjidwe amitundu yambiri, kukhazikitsa kwatsopano kwa XAudio2 audio API ndikuthandizira API ya zithunzi za Vulkan 1.1.

Mu Vinyo anatsimikizira ntchito zonse za 4869 (chaka chapitacho 4737) mapulogalamu a Windows, mapulogalamu ena 4136 (chaka chapitacho 4045) amagwira ntchito bwino ndi makonda owonjezera ndi ma DLL akunja. Mapulogalamu 3635 ali ndi zovuta zazing'ono zomwe sizimasokoneza kugwiritsa ntchito ntchito zoyambira.

Chinsinsi zatsopano Vinyo 5.0:

  • Ma modules mu mtundu wa PE
    • Ndi MinGW compiler, ma modules ambiri a Vinyo tsopano amamangidwa mu PE (Portable Executable, yomwe imagwiritsidwa ntchito pa Windows) mafayilo amafayilo otheka m'malo mwa ELF. Kugwiritsiridwa ntchito kwa PE kumathetsa mavuto ndikuthandizira njira zosiyanasiyana zotetezera makope zomwe zimatsimikizira kuti ndi ndani ma modules pa disk ndi kukumbukira;
    • Zochita za PE tsopano zikukopera ku ~/.wine ($WINEPREFIX) m'malo mogwiritsa ntchito mafayilo a dummy DLL, kupanga zinthu zofanana kwambiri ndi mawindo enieni a Windows, pamtengo wowononga malo owonjezera a disk;
    • Ma module osinthidwa kukhala mawonekedwe a PE amatha kugwiritsa ntchito muyezo wchar C ntchito ndi zokhazikika ndi Unicode (mwachitsanzo, L "abc");
    • Nthawi yothamanga ya Wine C yawonjezera chithandizo cholumikizira ndi ma binaries omangidwa ku MinGW, omwe amagwiritsidwa ntchito mwachisawawa m'malo mwa nthawi yothamanga ya MinGW pomanga ma DLL;
  • Graphics subsystem
    • Thandizo lowonjezera logwira ntchito ndi oyang'anira angapo ndi ma adapter ojambula, kuphatikiza kuthekera kosintha makonda;
    • Dalaivala wa API ya zithunzi za Vulkan wasinthidwa kuti azitsatira ndondomeko ya Vulkan 1.1.126;
    • Laibulale ya WindowsCodecs imapereka kuthekera kosintha mawonekedwe owonjezera a raster, kuphatikiza mawonekedwe okhala ndi indexed palette;
  • Direct3D
    • Mukamagwiritsa ntchito pulogalamu ya Direct3D yokhala ndi skrini yonse, kuyimba kwa skrini kumatsekedwa;
    • DXGI (DirectX Graphics Infrastructure) yawonjezera chithandizo chodziwitsira ntchito pamene zenera lake likucheperachepera, zomwe zimathandiza kuti ntchitoyo ichepetse ntchito zogwiritsa ntchito kwambiri pochepetsa zenera;
    • Pamapulogalamu ogwiritsira ntchito DXGI, tsopano ndi kotheka kusinthana pakati pa mawonekedwe a zenera ndi mazenera pogwiritsa ntchito kuphatikiza kwa Alt+Enter;
    • Kuthekera kwa kukhazikitsidwa kwa Direct3D 12 kwakulitsidwa, mwachitsanzo, tsopano pali chithandizo chosinthira pakati pamitundu yonse yazenera ndi mazenera, kusintha mawonekedwe azithunzi, kutulutsa makulitsidwe ndikuwongolera nthawi yosinthira buffer (nthawi yosinthira);
    • Kuwongolera magwiridwe antchito osiyanasiyana am'malire, monga kugwiritsa ntchito zida zakunja zoyesera poyera komanso zozama, zowonetsa mawonekedwe ndi ma buffers, komanso kugwiritsa ntchito zinthu zolakwika za DirectDraw. chojambula, kupanga zida za Direct3 zamawindo olakwika, pogwiritsa ntchito madera owoneka omwe ma parameter awo ochepera amafanana ndi kuchuluka kwake, ndi zina zambiri.
    • Direct3D 8 ndi 9 imapereka kutsatira kolondola kwambiri "zakudaΒ» madera odzaza mawonekedwe;
    • Kukula kwa malo ofunikira adilesi pokweza mawonekedwe a 3D oponderezedwa pogwiritsa ntchito njira ya S3TC kwachepetsedwa (m'malo motsitsa kwathunthu, mawonekedwe amalowetsedwa mu chunks).
    • Chiyankhulo chakhazikitsidwa ID3D11Multithread kuteteza magawo ofunikira pamapulogalamu amitundu yambiri;
    • Kusintha ndi kukonza kosiyanasiyana kokhudzana ndi kuwerengera kwa kuyatsa kwapangidwa pamapulogalamu akale a DirectDraw;
    • Anakhazikitsa mafoni owonjezera kuti mudziwe zambiri za shader mu API ShaderReflection;
    • wined3d tsopano imathandizira chiwonongeko CPU-based pokonza zinthu zoponderezedwa;
    • Malo osungiramo makadi ojambula odziwika mu Direct3D awonjezedwa;
    • Anawonjezera makiyi olembetsa atsopano HKEY_CURRENT_USER\Software\Wine\Direct3D: "shader_backend" (backend for work with shaders: "glsl" for GLSL, "arb" for ARB vertex/fragment and "none" to disable shader support), "strict_shader_math" ( 0x1 - yambitsani, 0x0 - zimitsani kutembenuka kwa Direct3D shader). Adatsitsa kiyi ya "UseGLSL" (iyenera kugwiritsa ntchito "shader_backend");
  • D3DX
    • Thandizo la 3D texture compression mechanism S3TC (S3 Texture Compression) yakhazikitsidwa;
    • onjezerani machitidwe olondola a ntchito monga kudzaza mawonekedwe ndi malo osatheka;
    • Zosintha ndi zosintha zosiyanasiyana zapangidwa pamapangidwe opanga zowoneka;
  • Kernel (Windows Kernel Interfaces)
    • Zambiri zomwe zimagwiritsidwa ntchito mu Kernel32 zasunthidwa
      KernelBase, kutsatira kusintha kwa kamangidwe ka Windows;

    • Kutha kusakaniza ma 32- ndi 64-bit DLL m'madongosolo omwe amagwiritsidwa ntchito potsitsa. Imawonetsetsa kuti malaibulale omwe sagwirizana ndi kuya kwaposachedwa akunyalanyazidwa (32/64), ngati kupitilira panjira ndizotheka kupeza laibulale yomwe ili yolondola pakuzama pang'ono;
    • Kwa oyendetsa zida, kutengera zinthu za kernel kwasinthidwa;
    • Zinthu zogwirizanirana zomwe zimagwira ntchito pamlingo wa kernel, monga ma spin lock, ma mutexes othamanga ndi zosintha zomwe zimalumikizidwa ndi gwero;
    • Imawonetsetsa kuti mapulogalamu adziwitsidwa molondola za momwe batire ilili;
  • Mawonekedwe Ogwiritsa Ntchito ndi Kuphatikiza pa Desktop
    • Mawindo ocheperako tsopano akuwonetsedwa pogwiritsa ntchito bar yamutu m'malo mwa mawonekedwe a Windows 3.1;
    • Adawonjezera mabatani atsopano SplitButton (batani lokhala ndi mndandanda wotsitsa wa zochita) ndi Command Links (malumikizidwe m'mabokosi a zokambirana omwe amagwiritsidwa ntchito kupita ku gawo lotsatira);
    • Maulalo ophiphiritsa adapangidwira mafoda a 'Downloads' ndi 'Templates', akulozera kumayendedwe ofananirako pamakina a Unix;
  • Zida zolowetsa
    • Poyambira, madalaivala ofunikira a Plug & Play amayikidwa ndikuyikidwa;
    • Thandizo lowongolera kwa owongolera masewera, kuphatikiza mini-joystick (chipewa chosinthira), chiwongolero, gasi ndi ma brake pedals.
    • Thandizo la Linux joystick API yakale yomwe imagwiritsidwa ntchito mu ma kernels a Linux isanakhale mtundu 2.2 yathetsedwa;
  • .NET
    • Injini ya Mono yasinthidwa kuti itulutse 4.9.4 ndipo tsopano ikuphatikiza magawo a Windows Presentation Foundation (WPF) chimango;
    • Anawonjezera kuthekera koyika zowonjezera ndi Mono ndi Gecko mu bukhu limodzi lodziwika bwino, ndikuyika mafayilo mu /usr/share/vinyo wolamulira m'malo mowakopera kuma prefixes atsopano;
  • Zolemba pamaneti
    • Injini ya msakatuli ya Wine Gecko, yomwe imagwiritsidwa ntchito mulaibulale ya MSHTML, yasinthidwa kuti itulutse 2.47.1. Thandizo la ma API atsopano a HTML lakhazikitsidwa;
    • MSHTML tsopano imathandizira zinthu za SVG;
    • Anawonjezera ntchito zambiri zatsopano za VBScript (mwachitsanzo, zolakwika ndi zosiyana, Ola, Tsiku, Mwezi, String, LBound, RegExp.Replace, Π ScriptTypeInfo_* ndi ScriptTypeComp_Bind * ntchito, etc.);
    • Anapereka kusungidwa kwa code code mu VBScript ndi JScript (script persistence);
    • Anawonjezera kukhazikitsa koyambirira kwa ntchito ya HTTP (WinHTTP) ndi API yogwirizana (HTTPAPI) kwa kasitomala ndi mapulogalamu a seva omwe amatumiza ndi kulandira zopempha pogwiritsa ntchito protocol ya HTTP;
    • Kukhazikitsa kuthekera kopeza makonda a HTTP a proxy kudzera pa DHCP;
    • Thandizo lowonjezera lolozeranso zopempha zotsimikizira kudzera mu ntchito ya Microsoft Passport;
  • Zithunzi zolaula
    • Kuthandizira kwa makiyi a elliptic curve cryptographic (ECC) mukamagwiritsa ntchito GnuTLS;
    • Anawonjezera kuthekera kolowetsa makiyi ndi ziphaso kuchokera kumafayilo amtundu wa PFX;
    • Thandizo lowonjezera lachiwembu chachikulu chothandizira kutengera mawu achinsinsi a PBKDF2;
  • Malemba ndi mafonti
    • Kukhazikitsa kwa DirectWrite API kwawonjezera chithandizo pazinthu za OpenType zokhudzana ndi mawonekedwe a glyph, zomwe zimayatsidwa mwachisawawa pamayendedwe achilatini, kuphatikiza kerning;
    • Kupititsa patsogolo chitetezo pokonza deta ya font powona kulondola kwamatebulo osiyanasiyana a data musanawagwiritse ntchito;
    • Mawonekedwe a DirectWrite aphatikizidwa ndi SDK yaposachedwa;
  • Nyimbo ndi kanema
    • Kukhazikitsa kwatsopano kwa API yomveka kwaperekedwa XAudio2, yomangidwa pamaziko a ntchitoyo FAudio. Kugwiritsa ntchito FAudio mu Vinyo kumakupatsani mwayi wopeza mawu apamwamba kwambiri pamasewera ndikugwiritsa ntchito zinthu monga kusakanikirana kwa voliyumu ndi zomveka zapamwamba;
    • Mafoni ambiri atsopano awonjezedwa pakukhazikitsa dongosolo la Media Foundation, kuphatikiza kuthandizira mizere yokhazikika komanso yokhazikika, Source Reader API, Media Session, ndi zina zambiri.
    • Fyuluta yojambula mavidiyo yasinthidwa kuti igwiritse ntchito v4l2 API m'malo mwa v4l1 API, yomwe yawonjezera makamera osiyanasiyana othandizira;
    • Ma decoders omangidwa a AVI, MPEG-I ndi WAVE achotsedwa, m'malo mwake GStreamer kapena QuickTime tsopano akugwiritsidwa ntchito;
    • Anawonjezera kagawo kakang'ono ka VMR7 kasinthidwe APIs;
    • Thandizo lowonjezera pakusintha kuchuluka kwa ma tchanelo amodzi kukhala ma driver amawu;
  • Kumayiko ena
    • Matebulo a Unicode asinthidwa kukhala mtundu 12.1.0;
    • Kuthandizira kwa Unicode normalization;
    • Anapereka kukhazikitsidwa kwachidziwitso cha dera (HKEY_CURRENT_USER \ Control Panel \ International \ Geo) kutengera komwe kulipo;
  • RPC/COM
    • Thandizo lowonjezera lazomangamanga zovuta ndi ma arrays kuti typelib;
    • Anawonjezera kukhazikitsa koyamba kwa Windows Script runtime library;
    • Kukhazikitsa koyamba kwa library ya ADO (Microsoft ActiveX Data Objects);
  • Okhazikitsa
    • Thandizo loperekera zigamba (Patch Files) lakhazikitsidwa kwa okhazikitsa MSI;
    • WUSA (Windows Update Standalone Installer) tsopano ili ndi mphamvu yoyika zosintha mu .MSU format;
  • Pulogalamu ya ARM
    • Pamamangidwe a ARM64, kuthandizira kwa stack unwinding wawonjezedwa ku ntdll. Thandizo lowonjezera lolumikizira malaibulale akunja a libunwind;
    • Pazomangamanga za ARM64, kuthandizira kwa ma proxies opanda msoko kwakhazikitsidwa pazolumikizana ndi zinthu;
  • Zida Zachitukuko / Winelib
    • Anawonjezera kuthekera kogwiritsa ntchito debugger kuchokera ku Visual Studio kuti muchotse zolakwika patali zomwe zikuyenda mu Vinyo;
    • Laibulale ya DBGENG (Debug Engine) yakhazikitsidwa pang'ono;
    • Ma Binaries opangidwa ndi Windows sadaliranso libwine, kuwalola kuti aziyenda pa Windows popanda zodalira zina;
    • Njira yowonjezera ya '--sysroot' ku Resource Compiler ndi IDL Compiler kuti mudziwe njira yamafayilo amutu;
    • Zosankha zowonjezera '-target', '-wine-objdir', '-wine-objdir' ku winegcc
      β€˜β€”winebuild’ ndi β€˜-fuse-ld’, zomwe zimathandizira kukhazikitsa chilengedwe chophatikizana;

  • Mapulogalamu Ophatikizidwa
    • Anakhazikitsa zofunikira za CHCP kukonza kabisidwe ka console;
    • Ntchito ya MSIDB yosinthira nkhokwe mumtundu wa MSI yakhazikitsidwa;
  • Kukhathamiritsa magwiridwe antchito
    • Ntchito zosiyanasiyana zowerengera nthawi zasamutsidwa kuti zigwiritse ntchito magwiridwe antchito anthawi yayitali, kuchepetsa kuchuluka kwamasewera ambiri;
    • Anawonjezera kuthekera kogwiritsa ntchito Ext4 mu FS boma ntchito popanda vuto tilinazo;
    • Ntchito yokonza zinthu zambiri muzokambirana zowonetsera mndandanda zomwe zikugwira ntchito mu LBS_NODATA zakonzedwa;
    • Anawonjezera kukhazikitsa kwachangu kwa maloko a SRW (Slim Reader/Writer) a Linux, otanthauziridwa ku Futex;
  • Zodalira kunja
    • Kuti asonkhanitse ma module mu mtundu wa PE, MinGW-w64 cross-compiler imagwiritsidwa ntchito;
    • Kukhazikitsa XAudio2 kumafuna laibulale ya FAudio;
    • Kutsata kusintha kwamafayilo pamakina a BSD
      laibulale ya Inotify imagwiritsidwa ntchito;

    • Kuti mugwiritse ntchito zosiyana pa nsanja ya ARM64, laibulale ya Unwind ikufunika;
    • M'malo mwa Video4Linux1, laibulale ya Video4Linux2 ikufunika tsopano.

Source: opennet.ru

Kuwonjezera ndemanga