Pelepasan stabil tina Anggur 5.0

Sanggeus sataun ngembangkeun sarta 28 versi eksperimen ditepikeun sékrési stabil tina palaksanaan kabuka tina Win32 API - anggur 5.0, nu ngawengku leuwih ti 7400 parobahan. Pencapaian konci vérsi énggal kalebet pangiriman modul Anggur anu diwangun dina format pe, dukungan pikeun konfigurasi multi-monitor, palaksanaan énggal XAudio2 API audio sareng dukungan pikeun API grafik Vulkan 1.1.

Dina Anggur negeskeun operasi pinuh ku 4869 (sataun katukang 4737) program pikeun Windows, nu sejen 4136 (sataun katukang 4045) program jalan sampurna kalawan setélan tambahan sarta DLLs éksternal. 3635 program gaduh masalah kinerja minor nu teu ngaganggu pamakéan fungsi aplikasi dasar.

konci inovasi Anggur 5.0:

  • Modul dina format PE
    • Kalayan kompiler MinGW, seueur modul Wine ayeuna diwangun dina format file executable pe (Portable Executable, dipaké dina Windows) tinimbang ELF. Pamakéan pe solves masalah kalayan ngarojong rupa skéma panyalindungan salinan nu pariksa idéntitas modul sistem dina disk jeung dina mémori;
    • executables pe ayeuna disalin kana ~ / .wine ($ WINEPREFIX) diréktori tinimbang ngagunakeun file DLL dummy, sahingga barang leuwih sarupa pamasangan Windows nyata, dina biaya consuming spasi disk tambahan;
    • Modul anu dirobih kana format PE tiasa nganggo standar wchar Fungsi C sareng konstanta sareng Unicode (contona, L "abc");
    • Wine C runtime parantos nambihan dukungan pikeun ngaitkeun binari anu diwangun dina MinGW, anu dianggo sacara standar tibatan runtime MinGW nalika ngawangun DLL;
  • Subsistem grafik
    • Ditambahkeun dukungan pikeun damel sareng sababaraha monitor sareng adaptor grafik, kalebet kamampuan ngarobih setélan sacara dinamis;
    • Supir pikeun API grafik Vulkan geus diropéa pikeun minuhan Vulkan 1.1.126 spésifikasi;
    • Perpustakaan WindowsCodecs nyadiakeun kamampuhan pikeun ngarobah format raster tambahan, kaasup format kalawan palette indéks;
  • Direct3D
    • Nalika ngajalankeun aplikasi Direct3D layar pinuh, telepon screen saver diblokir;
    • DXGI (DirectX Graphics Infrastructure) parantos nambihan dukungan pikeun ngawartosan aplikasi nalika jandelana ngaminimalkeun, anu ngamungkinkeun aplikasi pikeun ngirangan kinerja operasi intensif sumberdaya nalika ngaminimalkeun jandela;
    • Pikeun aplikasi anu nganggo DXGI, ayeuna tiasa ngalih antara mode layar pinuh sareng windowsed nganggo kombinasi Alt + Enter;
    • Kamampuhan palaksanaan Direct3D 12 geus dimekarkeun, contona, ayeuna aya rojongan pikeun pindah antara layar pinuh sarta mode windowed, ngarobah mode layar, kaluaran skala jeung ngatur interval ngagantian panyangga Rendering (interval swap);
    • Ningkatkeun penanganan rupa-rupa kaayaan wates, sapertos pamakean nilai input di luar jangkauan pikeun tes transparansi sareng jero, rendering kalayan tékstur sareng panyangga anu dicerminkeun, sareng panggunaan objék DirectDraw anu salah. clipper, nyiptakeun alat Direct3 pikeun jandéla anu salah, nganggo daérah anu katingali anu nilai parameter minimumna sami sareng maksimal, jsb.
    • Direct3D 8 sareng 9 nyayogikeun tracking anu langkung akurat "kotor» wewengkon tékstur dimuat;
    • Ukuran spasi alamat diperlukeun nalika loading tékstur 3D dikomprés ngagunakeun métode S3TC geus ngurangan (tinimbang loading sagemblengna, tékstur dimuat dina sakumpulan).
    • Interface dilaksanakeun ID3D11Multithread ngajaga bagian kritis dina aplikasi multi-threaded;
    • Rupa-rupa perbaikan sareng perbaikan anu aya hubunganana sareng itungan cahaya parantos dilakukeun pikeun aplikasi DirectDraw anu langkung lami;
    • Dilaksanakeun panggero tambahan pikeun ménta inpo ngeunaan shaders di API ShaderReflection;
    • wined3d ayeuna ngadukung blitter basis CPU pikeun ngolah sumberdaya dikomprés;
    • Database kartu grafik anu dipikawanoh dina Direct3D geus dimekarkeun;
    • Nambahkeun konci pendaptaran anyar HKEY_CURRENT_USER \ Software \ Anggur \ Direct3D: "shader_backend" (backend pikeun gawé bareng shaders: "glsl" pikeun GLSL, "arb" pikeun ARB vertex / fragmen jeung "euweuh" pikeun nganonaktipkeun rojongan shader), "strict_shader_math" ( 0x1 - aktipkeun, 0x0 - nganonaktipkeun konvérsi shader Direct3D). Deprecated konci "UseGLSL" (kedah nganggo "shader_backend");
  • D3DX
    • Rojongan pikeun mékanisme komprési tékstur 3D S3TC (S3 Texture Compression) parantos dilaksanakeun;
    • Ditambahkeun palaksanaan operasi anu leres sapertos ngeusian tékstur sareng permukaan anu teu tiasa dipetakeun;
    • Rupa-rupa perbaikan sareng perbaikan parantos dilakukeun pikeun kerangka kreasi épék visual;
  • Kernel (Antarmuka Windows Kernel)
    • Kaseueuran fungsi anu dianggo dina Kernel32 parantos dipindahkeun ka
      KernelBase, nuturkeun parobahan dina arsitektur Windows;

    • Kamampuhan pikeun nyampur DLL 32- sareng 64-bit dina diréktori anu dianggo pikeun ngamuat. Mastikeun yén perpustakaan anu henteu cocog sareng jero bit ayeuna teu dipaliré (32/64), bisi salajengna sapanjang jalur kasebut nyaéta dimungkinkeun pikeun manggihan perpustakaan anu bener keur bit jero ayeuna;
    • Pikeun supir alat, emulation objék kernel geus ningkat;
    • Objék sinkronisasi anu dilaksanakeun dina tingkat kernel, sapertos konci spin, mutex gancang sareng variabel anu dipasang dina sumber daya;
    • Mastikeun yén aplikasi leres terang ngeunaan status batré;
  • Interface pamaké sarta Integrasi Desktop
    • Jandéla anu diminimalkeun ayeuna dipintonkeun nganggo bar judul tinimbang ikon gaya Windows 3.1;
    • Ditambahkeun gaya tombol anyar Tombol Pisah (tombol kalawan daptar turun-handap lampah) jeung Paréntah Tumbu (Tumbu dina kotak dialog dipaké pikeun pindah ka tahap salajengna);
    • Tumbu simbolis geus dijieun pikeun polder 'Unduh' jeung 'Citakan', ngarah ka directories pakait dina sistem Unix;
  • Alat input
    • Dina ngamimitian, supir alat Colokkeun & Puter anu diperyogikeun dipasang sareng dimuat;
    • Ningkatkeun dukungan pikeun pangendali kaulinan, kalebet mini joystick (saklar topi), setir, pedal gas sareng rem.
    • Rojongan pikeun API joystick Linux anu lami dianggo dina kernel Linux sateuacan versi 2.2 parantos dileungitkeun;
  • .NET
    • Mesin Mono parantos diropéa pikeun ngaleupaskeun 4.9.4 sareng ayeuna kalebet bagian tina kerangka Windows Presentation Foundation (WPF);
    • Ditambahkeun kamampuan pikeun masang tambihan sareng Mono sareng Gecko dina hiji diréktori umum, nempatkeun file dina hierarki /usr/share/wine tinimbang nyalin kana awalan anyar;
  • Fitur jaringan
    • Mesin browser Wine Gecko, anu dianggo dina perpustakaan MSHTML, parantos diropéa pikeun ngaleupaskeun 2.47.1. Rojongan pikeun API HTML anyar geus dilaksanakeun;
    • MSHTML ayeuna ngarojong elemen SVG;
    • Ditambahkeun loba fungsi VBScript anyar (Contona, kasalahan jeung pawang iwal, jam, poé, bulan, string, LBound, RegExp.Replace, РScriptTypeInfo_ * jeung ScriptTypeComp_Bind * fungsi, jsb);
    • Disadiakeun pelestarian kaayaan kode dina VBScript jeung JScript (script persistence);
    • Ditambahkeun hiji palaksanaan awal tina jasa HTTP (WinHTTP) jeung API pakait (HTTPAPI) pikeun klien tur aplikasi server nu ngirim jeung nampa requests maké protokol HTTP;
    • Dilaksanakeun kamampuhan pikeun ménta setélan proxy HTTP via DHCP;
    • Ditambahkeun dukungan pikeun alihan pamundut auténtikasi ngaliwatan layanan Microsoft Passport;
  • Kriptografi
    • Dilaksanakeun dukungan pikeun konci kriptografi kurva elliptic (ECC) nalika nganggo GnuTLS;
    • Ditambahkeun kamampuan pikeun ngimpor konci sareng sertipikat tina file dina format PFX;
    • Ditambahkeun dukungan pikeun skéma generasi konci dumasar kana sandi PBKDF2;
  • Téks jeung fon
    • Palaksanaan DirectWrite API parantos nambihan dukungan pikeun fitur OpenType anu aya hubunganana posisi glyph, nu diaktipkeun sacara standar pikeun gaya Latin, kaasup kerning;
    • Ningkatkeun kaamanan pikeun ngolah data font ku mariksa kabeneran sababaraha tabel data sateuacan dianggo;
    • Interfaces DirectWrite geus dibawa kana garis kalawan SDK panganyarna;
  • Sora jeung video
    • A palaksanaan anyar API sora geus diajukeun XAudio2, diwangun dina dasar proyék FAudio. Ngagunakeun FAudio dina Anggur ngidinan Anjeun pikeun ngahontal kualitas sora nu leuwih luhur dina kaulinan sarta ngagunakeun fitur kayaning volume campur kode jeung épék sora canggih;
    • Sajumlah badag telepon anyar geus ditambahkeun kana palaksanaan kerangka Media Foundation, kaasup rojongan pikeun diwangun-di na antrian Asynchronous custom, Source Reader API, Media Session, jsb.
    • Filter video newak geus switched ngagunakeun v4l2 API tinimbang v4l1 API, nu geus dimekarkeun rentang kaméra dirojong;
    • Diwangun-di AVI, MPEG-I jeung decoders WAVE geus dihapus, tinimbang nu sistem GStreamer atawa QuickTime ayeuna dipaké;
    • Ditambahkeun sawaréh tina API konfigurasi VMR7;
    • Ditambahkeun dukungan pikeun nyaluyukeun volume saluran individu pikeun supir sora;
  • Нтернационализация
    • tabél Unicode diropéa kana versi 12.1.0;
    • Dilaksanakeun dukungan pikeun normalisasi Unicode;
    • Disadiakeun pamasangan otomatis wewengkon géografis (HKEY_CURRENT_USER\Control Panel\International\Geo) dumasar kana lokal nu ayeuna;
  • RPC/COM
    • Ditambahkeun dukungan pikeun struktur rumit sareng susunan pikeun typelib;
    • Ditambahkeun palaksanaan awal Windows Script runtime perpustakaan;
    • Ditambahkeun palaksanaan awal perpustakaan ADO (Microsoft ActiveX Data Objects);
  • Pamasang
    • Rojongan pikeun pangiriman patch (Patch Files) geus dilaksanakeun pikeun installer MSI;
    • Utiliti WUSA (Windows Update Standalone Installer) ayeuna gaduh kamampuan masang apdet dina format .MSU;
  • platform ARM
    • Pikeun arsitéktur ARM64, dukungan pikeun tumpukan unwinding parantos ditambah kana ntdll. Ditambahkeun dukungan pikeun nyambungkeun perpustakaan libunwind éksternal;
    • Pikeun arsitéktur ARM64, rojongan pikeun proxy seamless geus dilaksanakeun pikeun interfaces objék;
  • Parabot Pangwangunan / Winelib
    • Ditambahkeun kamampuhan pikeun ngagunakeun debugger ti Visual Studio mun jarak jauh debug aplikasi ngajalankeun di Anggur;
    • Perpustakaan DBGENG (Debug Engine) parantos dilaksanakeun sawaréh;
    • Binari anu disusun pikeun Windows henteu deui gumantung kana libwine, ngamungkinkeun aranjeunna ngajalankeun Windows tanpa katergantungan tambahan;
    • Ditambahkeun pilihan '--sysroot' ka Resource Compiler sareng IDL Compiler pikeun nangtukeun jalur pikeun file header;
    • Ditambahkeun pilihan '-target', '-wine-objdir', '-wine-objdir' kana winegcc
      '-winebuild' jeung '-fuse-ld', nu simplify nyetel lingkungan pikeun cross-kompilasi;

  • Aplikasi Embedded
    • Ngalaksanakeun utiliti CHCP pikeun ngonpigurasikeun encoding konsol;
    • Utilitas MSIDB pikeun ngamanipulasi pangkalan data dina format MSI parantos dilaksanakeun;
  • Ngaoptimalkeun kinerja
    • Rupa-rupa fungsi timing geus hijrah ngagunakeun-kinerja tinggi fungsi sistem timer, ngurangan overhead dina loop ngajadikeun loba kaulinan;
    • Ditambahkeun kamampuan ngagunakeun Ext4 di FS réjim gawé tanpa sensitipitas hal;
    • Kinerja ngolah sajumlah ageung elemen dina daptar dialog tampilan anu beroperasi dina modeu LBS_NODATA parantos dioptimalkeun;
    • Ditambahkeun palaksanaan gancang tina konci SRW (Slim Reader / Writer) pikeun Linux Ubuntu, ditarjamahkeun kana Futex;
  • kagumantungan éksternal
    • Pikeun ngumpul modul dina format pe, MinGW-w64 cross-compiler dipaké;
    • Ngalaksanakeun XAudio2 merlukeun perpustakaan FAudio;
    • Pikeun ngalacak parobahan file dina sistem BSD
      perpustakaan Inotify dipaké;

    • Pikeun nanganan pengecualian dina platform ARM64, perpustakaan Unwind diperyogikeun;
    • Gantina Video4Linux1, perpustakaan Video4Linux2 ayeuna diperyogikeun.

sumber: opennet.ru

Tambahkeun komentar