Stable na release ng Wine 5.0

Pagkatapos ng isang taon ng pag-unlad at 28 pang-eksperimentong bersyon ipinakita matatag na paglabas ng open source na pagpapatupad ng Win32 API — Alak 5.0, na kinabibilangan ng mahigit 7400 pagbabago. Kabilang sa mga pangunahing pagsulong sa bagong bersyon ang paghahatid ng mga built-in na Wine module sa PE format, suporta para sa mga multi-monitor na configuration, isang bagong pagpapatupad ng XAudio2 sound API, at suporta para sa Vulkan 1.1 graphics API.

Sa Alak nakumpirma ganap na gawain ng 4869 (isang taon na ang nakalipas 4737) na mga programa para sa WindowsMay 4136 pang programa (4045 noong isang taon) na gumagana nang maayos gamit ang mga karagdagang setting at mga panlabas na DLL. May 3635 na programa na may maliliit na isyu na hindi nakakasagabal sa pangunahing paggana ng mga aplikasyon.

Susi mga inobasyon Wine 5.0:

  • Mga module sa PE format
    • Gamit ang MinGW compiler, karamihan sa mga Wine module ay naka-built na ngayon sa PE (Portable Executable, na ginagamit sa Windows) sa halip na ELF. Ang paggamit ng PE ay lumulutas sa problema ng pagsuporta sa iba't ibang mga pamamaraan ng proteksyon ng kopya na nagpapatunay sa pagkakakilanlan ng mga module ng system sa disk at sa memorya;
    • Ang mga PE executable ay kinokopya na ngayon sa direktoryong ~/.wine ($WINEPREFIX) sa halip na gumamit ng mga dummy na DLL file, na ginagawang mas katulad ng mga totoong instalasyon ang instalasyon. Windows, kapalit ng pagkonsumo ng karagdagang espasyo sa disk;
    • Ang mga module na na-convert sa format na PE ay maaaring gumamit ng pamantayan wchar C function at constants na may Unicode (halimbawa, L»abc»);
    • Sinusuportahan na ngayon ng Wine C runtime ang pag-link sa mga binary na binuo gamit ang MinGW, na ginagamit bilang default sa halip na ang MinGW runtime kapag gumagawa ng mga DLL;
  • Subsystem ng graphics
    • Idinagdag ang suporta para sa pagtatrabaho sa maraming monitor at graphics adapter, kabilang ang kakayahang dynamic na baguhin ang mga setting;
    • Ang driver para sa Vulkan graphics API ay na-update upang sumunod sa detalye ng Vulkan 1.1.126;
    • Sa library WindowsIpinapatupad ng mga Codec ang kakayahang mag-convert ng mga karagdagang format ng raster, kabilang ang mga format na may naka-index na palette;
  • Direct3D
    • Kapag nagpapatakbo ng mga full-screen na Direct3D na application, ang screen saver na tawag ay naharang;
    • Sinusuportahan na ngayon ng DXGI (DirectX Graphics Infrastructure) ang pagpapaalam sa isang application na ang window nito ay na-minimize, na nagbibigay-daan sa application na bawasan ang dami ng resource-intensive na operasyon na ginagawa kapag ang window ay pinaliit;
    • Para sa mga application na gumagamit ng DXGI, ang kakayahang lumipat sa pagitan ng full-screen at windowed mode gamit ang kumbinasyong Alt+Enter ay ipinatupad;
    • Ang mga kakayahan sa pagpapatupad ng Direct3D 12 ay pinalawak, halimbawa, ang suporta ay idinagdag para sa paglipat sa pagitan ng full-screen at windowed mode, pagpapalit ng mga mode ng screen, output na may scaling, at pagkontrol sa swap interval para sa pag-render ng mga buffer;
    • Pinahusay na pangangasiwa sa iba't ibang edge case, gaya ng paggamit ng mga out-of-range na source value para sa transparency at depth test, pag-render gamit ang mga nakalarawang texture at buffer, at paggamit ng mga di-wastong DirectDraw object gunting, paglikha ng mga Direct3 device para sa mga maling window, gamit ang mga nakikitang lugar na ang pinakamababang halaga ng parameter ay katumbas ng maximum, atbp.
    • Ang Direct3D 8 at 9 ay nagbibigay ng mas tumpak na pagsubaybay.marumi» mga lugar ng load texture;
    • Binawasan ang kinakailangang espasyo ng address kapag naglo-load ng mga 3D na texture na na-compress gamit ang pamamaraang S3TC (sa halip na i-load ang mga ito nang buo, ang mga texture ay nilo-load sa mga tipak).
    • Naipatupad na ang interface ID3D11Multithread upang protektahan ang mga kritikal na seksyon sa mga multithreaded na application;
    • Iba't ibang mga pagpapahusay at pag-aayos na may kaugnayan sa mga kalkulasyon ng ilaw ay ginawa para sa mga mas lumang DirectDraw application;
    • Nagpatupad ng mga karagdagang tawag upang makakuha ng impormasyon ng shader sa API ShaderReflection;
    • Sinusuportahan na ngayon ng Wined3d paltos Nakabatay sa CPU para sa pagproseso ng mga naka-compress na mapagkukunan;
    • Ang database ng mga graphic card na kinikilala sa Direct3D ay pinalawak;
    • Nagdagdag ng mga bagong registry key sa HKEY_CURRENT_USER\Software\Wine\Direct3D: "shader_backend" (backend para sa pagtatrabaho sa mga shader: "glsl" para sa GLSL, "arb" para sa ARB vertex/fragment, at "wala" para hindi paganahin ang suporta sa shader), "strict_shader_math" (0x1) — shader enabler, Direct disabled (0x1) Ang "UseGLSL" na key ay hindi na ginagamit (gamitin ang "shader_backend");
  • D3DX
    • Ipinatupad ang suporta para sa mekanismo ng 3D texture compression ng S3TC (S3 Texture Compression);
    • Nagdagdag ng mga wastong pagpapatupad ng mga pagpapatakbo tulad ng pagpuno ng texture at mga hindi maimapa na ibabaw;
    • Iba't ibang pagpapabuti at pag-aayos ang ginawa sa balangkas ng paglikha visual effect;
  • Kernel (mga interface ng kernel) Windows)
    • Karamihan sa mga function na ginamit sa Kernel32 ay inilipat sa
      KernelBase, kasunod ng mga pagbabago sa arkitektura Windows;
    • Ang kakayahang maghalo ng 32- at 64-bit na DLL sa mga direktoryo na ginagamit para sa paglo-load. Tiniyak na ang mga aklatan na hindi tumutugma sa kasalukuyang bitness (32/64), kung sakaling mas malayo ang landas posible na makahanap ng isang library na tama para sa kasalukuyang bit depth;
    • Pinahusay na kernel object emulation para sa mga driver ng device;
    • Ipinatupad ang mga bagay sa pag-synchronize sa antas ng kernel gaya ng mga spinlock, mabilis na mutex, at mga variable na nauugnay sa mapagkukunan;
    • Tinitiyak na ang mga application ay wastong nalaman ang tungkol sa katayuan ng baterya;
  • User interface at desktop integration
    • Ang mga pinaliit na bintana ay ipinapakita na ngayon gamit ang isang title bar sa halip na isang style icon Windows 3.1;
    • Idinagdag ang mga bagong istilo ng button SplitButton (button na may drop-down na listahan ng mga aksyon) at Mga Link ng Utos (mga link sa mga dialog box na ginamit upang lumipat sa susunod na yugto);
    • Para sa mga folder na 'Downloads' at 'Templates', ang mga simbolikong link ay ginawa na tumuturo sa kaukulang mga direktoryo sa Unix system;
  • Mga aparatong input
    • Sa pagsisimula, ang kinakailangang mga driver ng Plug & Play device ay naka-install at na-load;
    • Pinahusay na suporta para sa mga controller ng laro, kabilang ang switch ng sumbrero, manibela, gas at mga pedal ng preno.
    • Itinigil na ang suporta para sa luma Linux Joystick interaction API na ginagamit sa mga kernel Linux hanggang sa bersyon 2.2;
  • . NET
    • Na-update na ang Mono engine para sa release na 4.9.4 at ngayon ay may kasama nang mga bahagi ng framework. Windows Pundasyon ng Presentasyon (WPF);
    • Nagdagdag ng kakayahang mag-install ng mga add-on sa Mono at Gecko sa isang karaniwang direktoryo sa pamamagitan ng paglalagay ng mga file sa /usr/share/wine hierarchy sa halip na kopyahin ang mga ito sa mga bagong prefix;
  • Mga tampok sa network
    • Ang Wine Gecko browser engine, na ginagamit sa MSHTML library, ay na-update sa bersyon 2.47.1. Naipatupad na ang suporta para sa mga bagong HTML API;
    • Ang MSHTML ay nagpapatupad ng suporta para sa mga elemento ng SVG;
    • Maraming bagong VBScript function ang naidagdag (halimbawa, error at exception handler, Hour, Day, Month, String, LBound, RegExp.Replace, РScriptTypeInfo_* at ScriptTypeComp_Bind* functions, atbp.);
    • Ang pag-save ng code state sa VBScript at JScript (script persistence) ay sinisiguro;
    • Nagdagdag ng paunang pagpapatupad ng serbisyo ng HTTP (WinHTTP) at ang nauugnay na API (HTTPAPI) nito para sa mga application ng kliyente at server na nagpapadala at tumatanggap ng mga kahilingan gamit ang HTTP protocol;
    • Ang kakayahang makakuha ng mga parameter ng pagsasaayos ng HTTP proxy sa pamamagitan ng DHCP ay ipinatupad;
    • Nagdagdag ng suporta para sa pag-redirect ng mga kahilingan sa pagpapatunay sa pamamagitan ng serbisyo ng Microsoft Passport;
  • Cryptography
    • Ipinatupad ang suporta para sa mga elliptic curve cryptographic key (ECC) kapag gumagamit ng GnuTLS;
    • Nagdagdag ng kakayahang mag-import ng mga susi at sertipiko mula sa mga PFX file;
    • Nagdagdag ng suporta para sa PBKDF2 password-based key generation scheme;
  • Teksto at mga font
    • Ang pagpapatupad ng DirectWrite API ay nagdaragdag ng suporta para sa mga tampok na OpenType na nauugnay sa pagpoposisyon ng mga glyph, na pinagana bilang default para sa Latin typeface, kabilang ang kerning;
    • Ang seguridad ng pagpoproseso ng data ng font ay napabuti sa pamamagitan ng pagsuri sa kawastuhan ng iba't ibang mga talahanayan ng data bago gamitin ang mga ito;
    • Ang mga interface ng DirectWrite ay naiayon sa pinakabagong SDK;
  • Tunog at video
    • Ang isang bagong pagpapatupad ng sound API ay iminungkahi XAudio2, na binuo batay sa proyekto FAudioAng paggamit ng FAudio sa Wine ay nagbibigay-daan sa iyo upang makamit ang mas mataas na kalidad ng tunog sa mga laro at samantalahin ang mga tampok tulad ng paghahalo ng volume at mga advanced na sound effect;
    • Malaking bilang ng mga bagong tawag ang naidagdag sa pagpapatupad ng balangkas ng Media Foundation, kabilang ang suporta para sa mga built-in at custom na asynchronous na queu, ang Source Reader API, Media Session, at higit pa.
    • Ang filter ng pagkuha ng video ay inilipat upang gamitin ang v4l2 API sa halip na ang v4l1 API, na nagpalawak ng hanay ng mga sinusuportahang camera;
    • Ang built-in na AVI, MPEG-I at WAVE decoder ay inalis na, at ang system na GStreamer o QuickTime ay ginagamit na ngayon;
    • Nagdagdag ng subset ng mga VMR7 configuration API;
    • Ang suporta para sa pagsasaayos ng dami ng mga indibidwal na channel ay naidagdag sa mga sound driver;
  • Нтернационализация
    • Ang mga talahanayan ng Unicode ay na-update sa bersyon 12.1.0;
    • Ipinatupad ang suporta para sa normalisasyon ng Unicode;
    • Ang awtomatikong setting ng heyograpikong rehiyon (HKEY_CURRENT_USER\Control Panel\International\Geo) batay sa kasalukuyang lokal ay ibinigay;
  • RPC/COM
    • Ang suporta para sa mga kumplikadong istruktura at array ay naidagdag sa typelib;
    • Nagdagdag ng paunang implementasyon ng runtime library Windows Script;
    • Nagdagdag ng paunang pagpapatupad ng library ng ADO (Microsoft ActiveX Data Objects);
  • Mga installer
    • Ang suporta para sa pagbibigay ng mga patch (Patch Files) ay ipinatupad para sa installer ng MSI;
    • Sa utility ng WUSA (Windows Pinapayagan ka na ngayon ng Update Standalone Installer) na mag-install ng mga update sa .MSU na format;
  • ARM platform
    • Para sa arkitektura ng ARM64, ang suporta para sa stack unwinding ay idinagdag sa ntdll. Nagdagdag ng suporta para sa pagkonekta ng mga panlabas na libunwind library;
    • Para sa arkitektura ng ARM64, ang suporta para sa mga stubless na proxy para sa mga interface ng object ay ipinatupad;
  • Mga Tool sa Pag-unlad / Winelib
    • Idinagdag ang kakayahang gamitin ang debugger mula sa Visual Studio upang malayuang i-debug ang mga application na tumatakbo sa Wine;
    • Ang DBGENG (Debug Engine) library ay bahagyang naipatupad;
    • Kinolekta para sa Windows Ang mga executable ay hindi na umaasa sa libwine, na nagpapahintulot sa mga ito na patakbuhin Windows walang karagdagang mga dependency;
    • Ang Resource Compiler at IDL Compiler ay mayroon na ngayong '--sysroot' na opsyon upang tukuyin ang landas patungo sa mga file ng header;
    • Nagdagdag ng mga opsyon na '--target', '--wine-objdir' sa winegcc.
      '--winebuild' at '-fuse-ld', na nagpapasimple sa pag-set up ng kapaligiran para sa cross-compilation;
  • Mga Naka-embed na Application
    • Ang CHCP utility para sa pag-configure ng console encoding ay naipatupad na;
    • Ang MSIDB utility para sa pagmamanipula ng mga database sa MSI format ay ipinatupad;
  • Pag-optimize ng pagganap
    • Ang iba't ibang mga function sa pamamahala ng oras ay inilipat upang gumamit ng mga function ng timer ng system na may mataas na pagganap, na binabawasan ang overhead ng pag-render ng loop sa maraming mga laro;
    • Nagdagdag ng kakayahang gumamit ng Ext4 sa FS rehimen case-insensitive na trabaho;
    • Ang pagganap ng pagproseso ng malaking bilang ng mga elemento sa listahan ng mga output dialog na tumatakbo sa LBS_NODATA mode ay na-optimize;
    • Nagdagdag ng mas mabilis na pagpapatupad ng mga SRW lock (Slim Reader/Writer) para sa Linux, isinalin sa Futex;
  • Mga panlabas na dependency
    • Upang bumuo ng mga module sa PE format, ginagamit ang MinGW-w64 cross-compiler;
    • Ang pagpapatupad ng XAudio2 ay nangangailangan ng FAudio library;
    • Upang subaybayan ang mga pagbabago sa file sa mga BSD system
      Inotify library ay ginagamit;
    • Upang mahawakan ang mga pagbubukod sa platform ng ARM64, kinakailangan ang Unwind library;
    • Sa halip na Video4LinuxKinakailangan na ngayon ng 1 ang library ng Video4Linux2.

Pinagmulan: opennet.ru

Bumili ng maaasahang pagho-host para sa mga site na may proteksyon ng DDoS, mga server ng VPS VDS 🔥 Bumili ng maaasahang website hosting na may proteksyon ng DDoS, VPS VDS servers | ProHoster