Stable nga pagpagawas sa Wine 5.0

Pagkahuman sa usa ka tuig nga pag-uswag ug 28 nga mga bersyon sa eksperimento gipresentar lig-on nga pagpagawas sa bukas nga pagpatuman sa Win32 API - Alak 5.0, nga naglakip sa kapin sa 7400 ka kausaban. Ang yawe nga mga nahimo sa bag-ong bersyon naglakip sa paghatud sa mga built-in nga Wine modules sa PE format, suporta alang sa multi-monitor configurations, usa ka bag-ong pagpatuman sa XAudio2 audio API ug suporta alang sa Vulkan 1.1 graphics API.

Sa Bino nakumpirma bug-os nga operasyon sa 4869 (usa ka tuig na ang milabay 4737) nga mga programa alang sa Windows, laing 4136 (usa ka tuig na ang milabay 4045) nga mga programa nga hingpit nga nagtrabaho uban sa dugang nga mga setting ug eksternal nga mga DLL. Ang 3635 nga mga programa adunay ginagmay nga mga isyu sa performance nga dili makabalda sa paggamit sa mga batakang aplikasyon nga mga gimbuhaton.

yawe mga inobasyon Bino 5.0:

  • Mga module sa PE format
    • Uban sa MinGW compiler, kadaghanan sa mga module sa Wine karon gitukod sa PE (Portable Executable, gigamit sa Windows) executable file format imbes sa ELF. Ang paggamit sa PE nagsulbad sa mga problema sa pagsuporta sa nagkalain-laing mga kopya sa proteksyon nga mga laraw nga nagpamatuod sa pagkatawo sa sistema modules sa disk ug sa panumduman;
    • Ang PE executables karon gikopya ngadto sa ~/.wine ($WINEPREFIX) directory imbes nga gamiton ang dummy DLL files, nga naghimo sa mga butang nga mas susama sa tinuod nga Windows installations, sa gasto sa pagkonsumo sa dugang nga disk space;
    • Ang mga module nga nabag-o sa format sa PE mahimong magamit nga sumbanan wchar C functions ug constants sa Unicode (pananglitan, L"abc");
    • Ang Wine C runtime adunay dugang nga suporta alang sa pag-link sa mga binary nga gitukod sa MinGW, nga gigamit sa default imbes sa MinGW runtime sa pagtukod sa mga DLL;
  • Mga graphic subsystem
    • Gidugang nga suporta alang sa pagtrabaho sa daghang mga monitor ug mga adapter sa graphic, lakip ang abilidad sa dinamikong pagbag-o sa mga setting;
    • Ang drayber alang sa Vulkan graphics API gi-update aron sa pagtuman sa Vulkan 1.1.126 nga detalye;
    • Ang librarya sa WindowsCodecs naghatag ug katakus sa pag-convert sa dugang nga mga format sa raster, lakip ang mga format nga adunay gi-index nga palette;
  • Direct3D
    • Kung nagpadagan sa full-screen nga Direct3D nga mga aplikasyon, ang tawag sa screen saver gibabagan;
    • Ang DXGI (DirectX Graphics Infrastructure) adunay dugang nga suporta alang sa pagpahibalo sa usa ka aplikasyon kung ang bintana niini giminusan, nga nagtugot sa aplikasyon nga makunhuran ang paghimo sa mga operasyon nga kusog sa kapanguhaan kung gipamubu ang bintana;
    • Alang sa mga aplikasyon nga naggamit sa DXGI, posible na nga magbalhin tali sa full-screen ug windowed mode gamit ang kombinasyon nga Alt+Enter;
    • Ang mga kapabilidad sa pagpatuman sa Direct3D 12 gipalapdan, pananglitan, aduna nay suporta alang sa pagbalhin tali sa full-screen ug windowed modes, pag-usab sa screen modes, scaling output ug pagdumala sa rendering buffer replacement interval (swap interval);
    • Gipauswag nga pagdumala sa lainlaing mga kahimtang sa borderline, sama sa paggamit sa out-of-range nga mga kantidad sa input alang sa transparency ug giladmon nga mga pagsulay, paghubad nga adunay gipakita nga mga texture ug buffer, ug ang paggamit sa dili husto nga DirectDraw nga mga butang clip, paghimo sa Direct3 nga mga aparato alang sa dili husto nga mga bintana, gamit ang makita nga mga lugar kansang minimum nga mga kantidad sa parameter parehas sa labing kadaghan, ug uban pa.
    • Ang Direct3D 8 ug 9 naghatag og mas tukma nga pagsubay "hugawΒ» mga lugar nga puno sa mga texture;
    • Ang gidak-on sa gikinahanglan nga address space sa dihang nag-load sa 3D textures nga gi-compress gamit ang S3TC nga pamaagi gipakunhod (imbes nga bug-os nga loading, ang mga texture gikarga sa mga tipak).
    • Gipatuman ang interface ID3D11Multithread aron mapanalipdan ang mga kritikal nga seksyon sa multi-threaded nga mga aplikasyon;
    • Nagkalain-laing mga pag-ayo ug pag-ayo nga may kalabutan sa mga kalkulasyon sa suga ang gihimo alang sa mas karaan nga mga aplikasyon sa DirectDraw;
    • Nagpatuman og dugang nga mga tawag aron makakuha og impormasyon bahin sa mga shader sa API ShaderReflection;
    • Ang wined3d karon nagsuporta blitter CPU-based alang sa pagproseso sa compressed resources;
    • Ang database sa mga graphics card nga giila sa Direct3D gipalapdan;
    • Gidugang bag-ong mga yawe sa registry HKEY_CURRENT_USER\Software\Wine\Direct3D: "shader_backend" (backend alang sa pagtrabaho uban sa mga shaders: "glsl" alang sa GLSL, "arb" alang sa ARB vertex / fragment ug "wala" aron dili ma-disable ang suporta sa shader), "strict_shader_math" ( 0x1 - pagpagana, 0x0 - pag-disable sa Direct3D shader conversion). Giwagtang ang "UseGLSL" nga yawe (kinahanglan gamiton ang "shader_backend");
  • D3DX
    • Ang suporta alang sa 3D texture compression nga mekanismo S3TC (S3 Texture Compression) gipatuman;
    • Gidugang ang husto nga pagpatuman sa mga operasyon sama sa pagpuno sa texture ug dili ma-mapa nga mga ibabaw;
    • Nagkalainlain nga mga pag-ayo ug pag-ayo ang nahimo sa balangkas sa paglalang biswal nga mga epekto;
  • Kernel (mga interface sa kernel sa Windows)
    • Kadaghanan sa mga gimbuhaton nga gigamit sa Kernel32 gibalhin sa
      KernelBase, pagsunod sa mga pagbag-o sa arkitektura sa Windows;

    • Abilidad sa pagsagol sa 32- ug 64-bit nga mga DLL sa mga direktoryo nga gigamit sa pagkarga. Pagsiguro nga ang mga librarya nga dili motakdo sa kasamtangan nga bit depth dili tagdon (32/64), sa kaso sa dugang pa sa dalan posible nga makit-an ang usa ka librarya nga husto alang sa kasamtangan nga bit depth;
    • Alang sa mga drayber sa aparato, ang pag-emulasyon sa mga butang sa kernel gipauswag;
    • Gipatuman nga mga butang sa pag-synchronize nga nagtrabaho sa lebel sa kernel, sama sa mga spin lock, paspas nga mutex ug mga variable nga gilakip sa usa ka kapanguhaan;
    • Pagsiguro nga ang mga aplikasyon husto nga nahibal-an bahin sa kahimtang sa baterya;
  • Interface sa Gumagamit ug Paghiusa sa Desktop
    • Ang gipagamay nga mga bintana gipakita na karon gamit ang title bar kay sa usa ka icon sa estilo sa Windows 3.1;
    • Gidugang bag-ong mga istilo sa butones SplitButton (button nga adunay drop-down list sa mga aksyon) ug Command Links (mga link sa mga dialog box nga gigamit sa pagbalhin ngadto sa sunod nga yugto);
    • Ang simbolikong mga link gihimo para sa 'Downloads' ug 'Templates' nga mga folder, nga nagpunting sa katugbang nga mga direktoryo sa Unix system;
  • Mga Input Devices
    • Sa pagsugod, ang gikinahanglan nga Plug & Play device drivers gi-install ug gikarga;
    • Gipauswag nga suporta alang sa mga tigkontrol sa dula, lakip ang usa ka mini-joystick (switch sa kalo), manibela, gas ug mga pedal sa preno.
    • Ang suporta para sa daan nga Linux joystick API nga gigamit sa Linux kernels sa wala pa ang bersyon 2.2 gihunong na;
  • .NET
    • Ang Mono engine gi-update aron buhian ang 4.9.4 ug karon naglakip sa mga bahin sa Windows Presentation Foundation (WPF) framework;
    • Gidugang ang abilidad sa pag-instalar sa mga add-on sa Mono ug Gecko sa usa ka komon nga direktoryo, pagbutang sa mga file sa /usr/share/wine hierarchy imbes nga kopyahon kini ngadto sa bag-ong mga prefix;
  • Mga bahin sa network
    • Ang Wine Gecko browser engine, nga gigamit sa MSHTML library, gi-update aron buhian ang 2.47.1. Gipatuman ang suporta alang sa bag-ong HTML API;
    • Ang MSHTML karon nagsuporta sa mga elemento sa SVG;
    • Nagdugang ug daghang bag-ong VBScript functions (pananglitan, error ug exception handlers, Hour, Day, Month, String, LBound, RegExp.Replace, Π ScriptTypeInfo_* ug ScriptTypeComp_Bind* functions, etc.);
    • Naghatag pagpreserbar sa estado sa code sa VBScript ug JScript (pagpadayon sa script);
    • Gidugang ang inisyal nga pagpatuman sa serbisyo sa HTTP (WinHTTP) ug ang kaubang API (HTTPAPI) para sa mga aplikasyon sa kliyente ug server nga nagpadala ug nakadawat og mga hangyo gamit ang HTTP protocol;
    • Gipatuman ang abilidad sa pagkuha sa HTTP proxy settings pinaagi sa DHCP;
    • Gidugang nga suporta alang sa pag-redirect sa mga hangyo sa pag-authenticate pinaagi sa serbisyo sa Microsoft Passport;
  • Kriptograpiya
    • Gipatuman nga suporta alang sa elliptic curve cryptographic keys (ECC) sa paggamit sa GnuTLS;
    • Gidugang ang abilidad sa pag-import sa mga yawe ug mga sertipiko gikan sa mga file sa format nga PFX;
    • Gidugang nga suporta alang sa key generation scheme base sa PBKDF2 password;
  • Teksto ug mga font
    • Ang pagpatuman sa DirectWrite API nagdugang suporta alang sa mga bahin sa OpenType nga may kalabutan sa glyph positioning, nga gipalihok pinaagi sa default alang sa Latin nga estilo, lakip ang kerning;
    • Gipauswag nga seguridad alang sa pagproseso sa datos sa font pinaagi sa pagsusi sa katukma sa lainlaing mga lamesa sa datos sa wala pa kini gamiton;
    • Ang mga interface sa DirectWrite gipahiuyon sa pinakabag-o nga SDK;
  • Tingog ug video
    • Usa ka bag-ong pagpatuman sa sound API ang gisugyot XAudio2, gitukod base sa proyekto FAudio. Ang paggamit sa FAudio sa Wine nagtugot kanimo sa pagkab-ot sa mas taas nga kalidad sa tunog sa mga dula ug paggamit sa mga bahin sama sa volume mixing ug advanced sound effects;
    • Daghang bag-ong mga tawag ang gidugang sa pagpatuman sa Media Foundation framework, lakip ang suporta alang sa built-in ug custom asynchronous queues, Source Reader API, Media Session, ug uban pa.
    • Ang video capture filter gibalhin sa paggamit sa v4l2 API imbes sa v4l1 API, nga nagpalapad sa han-ay sa gisuportahan nga mga kamera;
    • Ang built-in nga AVI, MPEG-I ug WAVE decoder gikuha na, imbes nga ang sistema GStreamer o QuickTime gigamit na karon;
    • Gidugang ang usa ka subset sa VMR7 configuration API;
    • Gidugang nga suporta alang sa pag-adjust sa gidaghanon sa indibidwal nga mga channel sa sound driver;
  • НтСрнационализация
    • Ang mga lamesa sa Unicode nga gi-update sa bersyon 12.1.0;
    • Gipatuman nga suporta alang sa Unicode normalization;
    • Gihatag ang awtomatik nga pag-instalar sa geographic nga rehiyon (HKEY_CURRENT_USER\Control Panel\International\Geo) base sa kasamtangang lokal;
  • RPC/COM
    • Gidugang nga suporta alang sa mga komplikado nga istruktura ug mga arrays sa typelib;
    • Gidugang inisyal nga pagpatuman sa Windows Script runtime library;
    • Gidugang inisyal nga pagpatuman sa ADO (Microsoft ActiveX Data Objects) library;
  • Mga installer
    • Ang suporta alang sa paghatud sa mga patch (Patch Files) gipatuman alang sa MSI installer;
    • Ang WUSA (Windows Update Standalone Installer) utility karon adunay katakus sa pag-instalar sa mga update sa .MSU nga format;
  • ARM nga plataporma
    • Alang sa ARM64 nga arkitektura, ang suporta alang sa stack unwinding gidugang sa ntdll. Gidugang nga suporta alang sa pagkonektar sa gawas nga libunwind nga mga librarya;
    • Alang sa arkitektura sa ARM64, ang suporta alang sa mga seamless nga proxy gipatuman alang sa mga interface sa butang;
  • Mga Himan sa Pag-uswag / Winelib
    • Gidugang ang abilidad sa paggamit sa debugger gikan sa Visual Studio sa layo nga pag-debug sa mga aplikasyon nga nagdagan sa Wine;
    • Ang librarya sa DBGENG (Debug Engine) partially gipatuman;
    • Ang mga binary nga gihugpong para sa Windows wala na magdepende sa libwine, nga nagtugot kanila sa pagdagan sa Windows nga walay dugang nga dependency;
    • Gidugang ang '--sysroot' nga kapilian sa Resource Compiler ug IDL Compiler aron mahibal-an ang agianan alang sa mga file sa header;
    • Gidugang ang 'β€”target', 'β€”wine-objdir' nga mga kapilian sa winegcc
      'β€”winebuild' ug '-fuse-ld', nga nagpasayon ​​sa pagpahimutang sa palibot alang sa cross-compilation;

  • Gi-embed nga mga Aplikasyon
    • Nag-implementar og CHCP utility aron ma-configure ang console encoding;
    • Ang MSIDB utility alang sa pagmaniobra sa mga database sa MSI format gipatuman;
  • Pag-optimize sa kahimoan
    • Nagkalain-laing mga function sa timing ang migrate aron sa paggamit sa high-performance nga sistema sa timer function, pagkunhod sa overhead sa render loop sa daghang mga dula;
    • Gidugang ang abilidad sa paggamit sa Ext4 sa FS rehimen pagtrabaho nga walay case sensitivity;
    • Ang pasundayag sa pagproseso sa daghang gidaghanon sa mga elemento sa listahan sa mga diyalogo sa display nga naglihok sa LBS_NODATA mode na-optimize;
    • Gidugang ang mas paspas nga pagpatuman sa mga kandado sa SRW (Slim Reader/Writer) para sa Linux, gihubad sa Futex;
  • Mga eksternal nga pagsalig
    • Sa pag-assemble sa mga module sa PE format, ang MinGW-w64 cross-compiler gigamit;
    • Ang pagpatuman sa XAudio2 nagkinahanglan sa FAudio library;
    • Aron masubay ang mga pagbag-o sa file sa mga sistema sa BSD
      ang Inotify library gigamit;

    • Aron madumala ang mga eksepsiyon sa ARM64 nga plataporma, gikinahanglan ang Unwind library;
    • Imbis sa Video4Linux1, gikinahanglan na ang Video4Linux2 library.

Source: opennet.ru

Idugang sa usa ka comment