Pelepasan stabil tina Anggur 7.0

Saatos sataun pamekaran sareng 30 versi ékspérimén, sékrési stabil tina palaksanaan kabuka tina Win32 API dibere - Anggur 7.0, anu kalebet langkung ti 9100 parobihan. Pencapaian konci vérsi énggal kalebet tarjamahan seueur modul Wine kana format PE, dukungan pikeun téma, ékspansi tumpukan pikeun joysticks sareng alat input kalayan antarmuka HID, sareng palaksanaan arsitektur WoW64 pikeun ngajalankeun program 32-bit dina a 64-bit lingkungan.

Anggur geus dikonfirmasi operasi pinuh ku 5156 (sataun katukang 5049) program pikeun Windows, 4312 séjén (sataun katukang 4227) program gawéna sampurna kalawan setélan tambahan sarta DLLs éksternal. 3813 program (3703 sababaraha taun ka pengker) gaduh masalah operasional minor anu henteu ngaganggu panggunaan fungsi utama aplikasi.

Inovasi konci dina Wine 7.0:

  • Modul dina format PE
    • Ampir kabéh DLLs geus dirobah ngagunakeun pe (Portable Executable, dipaké dina Windows) format file laksana tinimbang ELF. Pamakéan pe ngarengsekeun masalah sareng ngadukung rupa-rupa skéma panyalindungan salinan anu marios identitas modul sistem dina disk sareng mémori.
    • Kamampuhan pikeun berinteraksi modul pe jeung perpustakaan Unix ngagunakeun standar NT kernel Sistim panggero geus dilaksanakeun, nu ngidinan Anjeun pikeun nyumputkeun aksés ka kode Unix ti debuggers Windows jeung ngawas pendaptaran thread.
    • Diwangun-di DLLs ayeuna dimuat ngan lamun aya file pe pakait dina disk, paduli naha éta téh perpustakaan nyata atawa taratas a. Parobihan ieu ngamungkinkeun aplikasi pikeun ningali beungkeutan anu leres kana file PE. Pikeun nganonaktipkeun kabiasaan ieu, anjeun tiasa nganggo variabel lingkungan WINEBOOTSTRAPMODE.
  • wah64
    • Arsitéktur WoW64 (Windows-on-Windows 64-bit) parantos dilaksanakeun, ngamungkinkeun anjeun ngajalankeun aplikasi Windows 32-bit dina prosés Unix 64-bit. Rojongan dilaksanakeun ngaliwatan sambungan lapisan nu narjamahkeun 32-bit NT Sistim nelepon kana 64-bit nelepon ka NTDLL.
    • Lapisan WoW64 disiapkeun pikeun kalolobaan perpustakaan Unix sareng ngamungkinkeun modul PE 32-bit pikeun ngaksés perpustakaan Unix 64-bit. Sakali sadaya modul parantos dirobih kana format PE, éta bakal tiasa ngajalankeun aplikasi Windows 32-bit tanpa masang perpustakaan Unix 32-bit.
  • Téma
    • Pangrojong téma parantos dilaksanakeun. Téma desain "Cahaya", "Biru" sareng "Biru Klasik" kalebet, anu tiasa dipilih ngalangkungan konfigurator WineCfg.
    • Ditambahkeun kamampuan pikeun ngaropea penampilan sadaya kadali antarmuka ngaliwatan téma. Penampilan elemen sacara otomatis diropéa saatos ngarobih téma desain.
    • Pangrojong téma parantos ditambah kana sadaya aplikasi Anggur anu diwangun. Aplikasi geus diadaptasi kana layar kalawan kapadetan piksel luhur (High DPI).
  • Subsistem grafik
    • A perpustakaan Win32u anyar geus ditambahkeun, nu ngawengku bagian tina perpustakaan GDI32 na USER32 patali jeung ngolah grafis jeung manajemén jandela di tingkat kernel. Dina mangsa nu bakal datang, karya bakal dimimitian dina porting komponén supir kayaning winex32.drv na winemac.drv mun Win11u.
    • Supir Vulkan ngadukung spésifikasi API grafik Vulkan 1.2.201.
    • Disadiakeun rojongan pikeun kaluaran objék geometri diarsir via Direct2D API, kalawan kamampuhan pikeun pariksa naha hiji klik hits (hit-test).
    • Direct2D API nyadiakeun pangrojong awal pikeun éfék visual dilarapkeun maké panganteur ID2D1Effect.
    • Direct2D API geus ditambahkeun rojongan pikeun panganteur ID2D1MultiThread, nu dipaké pikeun ngatur aksés ekslusif kana sumberdaya dina aplikasi multi-threaded.
    • Kumpulan WindowsCodecs perpustakaan nyadiakeun rojongan pikeun decoding gambar dina format WMP (Windows Media Photo) jeung encoding gambar dina format DDS (DirectDraw Surface). Kami henteu deui ngadukung encoding gambar dina format ICNS (pikeun macOS), anu henteu dirojong dina Windows.
  • Direct3D
    • Mesin rendering énggal parantos ningkat sacara signifikan, narjamahkeun sauran Direct3D ka API grafik Vulkan. Dina kalolobaan kaayaan, tingkat pangrojong Direct3D 10 jeung 11 dina mesin basis Vulkan geus dibawa ka parity jeung mesin basis OpenGL heubeul. Pikeun ngaktipkeun mesin rendering Vulkan, setel variabel pendaptaran Direct3D "renderer" ka "vulkan".
    • Seueur fitur tina Direct3D 10 sareng 11 dilaksanakeun, kalebet Konteks Tertunda, objék kaayaan anu beroperasi dina kontéks alat, offset pengkuh dina panyangga, ngabersihkeun tampilan tékstur anu kaluar-urutan, nyalin data antara sumber-sumber dina format tanpa tipe (DXGI_FORMAT_BC3_TYPELESS, DXGI_FORMAT_R32G32B32A32A), jsb .
    • Ditambahkeun dukungan pikeun konfigurasi multi-monitor, ngamungkinkeun anjeun milih monitor pikeun nunjukkeun aplikasi Direct3D dina modeu layar pinuh.
    • API DXGI nyadiakeun koréksi gamma layar, nu bisa dipaké ku Direct3D 10 jeung 11 aplikasi dumasar kana kacaangan layar robah. Diaktipkeun dimeunangkeun of virtual framebuffers counters (SwapChain).
    • Direct3D 12 nambihan dukungan pikeun vérsi 1.1 tanda tangan akar.
    • Dina kode rendering via Vulkan API, efisiensi pamrosésan query geus ningkat nalika sistem ngarojong extension VK_EXT_host_query_reset.
    • Ditambahkeun kamampuhan pikeun kaluaran framebuffers virtual (SwapChain) via GDI lamun OpenGL atanapi Vulkan teu bisa dipaké pikeun tampilan, Contona, nalika outputting kana jandela tina prosés béda, contona, dina program dumasar kana CEF (Chromium Embedded Framework) kerangka.
    • Nalika nganggo backend shader GLSL, modifier "tepat" dipastikeun pikeun petunjuk shader.
    • DirectDraw API nambihan dukungan pikeun rendering 3D kana mémori sistem nganggo alat parangkat lunak sapertos "RGB", "MMX" sareng "Ramp".
    • AMD Radeon RX 3M, AMD Radeon RX 5500/6800 XT/6800 XT, AMD Van Gogh, Intel UHD Graphics 6900 jeung kartu NVIDIA GT 630 geus ditambahkeun kana databés kartu grafik Direct1030D.
    • The "UseGLSL" konci geus dihapus tina HKEY_CURRENT_USER \ Software \ Anggur \ Direct3D pendaptaran, tinimbang nu, dimimitian ku Anggur 5.0, anjeun kudu make "shader_backend".
    • Pikeun ngarojong Direct3D 12, ayeuna anjeun peryogi sahenteuna vérsi 3 perpustakaan vkd1.2d.
  • D3DX
    • Palaksanaan D3DX 10 parantos ningkatkeun dukungan pikeun kerangka épék visual sareng nambihan dukungan pikeun format gambar Windows Media Photo (JPEG XR)
    • Ditambahkeun fungsi kreasi tékstur disadiakeun dina D3DX10, kayaning D3DX10CreateTextureFromMemory ().
    • Antarmuka parangkat lunak ID3DX10Sprite sareng ID3DX10Font parantos dilaksanakeun sawaréh.
  • Sora jeung video
    • tambihan GStreamer pikeun DirectShow sareng kerangka Media Foundation digabungkeun kana hiji backend WineGStreamer umum, anu kedah nyederhanakeun pamekaran API decoding kontén énggal.
    • Dumasar kana backend WineGStreamer, objék Windows Media dilaksanakeun pikeun maca sinkron sareng asinkron.
    • Palaksanaan kerangka Media Yayasan geus salajengna disampurnakeun, rojongan pikeun fungsionalitas IMFPMediaPlayer sarta allocator sampel geus ditambahkeun, sarta rojongan pikeun EVR na SAR rendering buffers geus ningkat.
    • Perpustakaan wineqtdecoder, nu nyadiakeun decoder pikeun format QuickTime, geus dihapus (sadayana codec ayeuna make GStreamer).
  • Alat input
    • Tumpukan pikeun alat input anu ngadukung protokol HID (Alat Antarmuka Manusa) parantos ningkat sacara signifikan, nyayogikeun kamampuan sapertos nga-parsing deskriptor HID, ngolah pesen HID, sareng nyayogikeun supir mini-HID.
    • Dina tonggong supir winebus.sys, tarjamahan déskripsi alat kana pesen HID parantos ningkat.
    • Ditambahkeun backend DirectInput anyar pikeun joysticks nu ngarojong protokol HID. Kamampuhan pikeun ngagunakeun épék eupan balik dina joysticks parantos dilaksanakeun. Ningkatkeun panel kontrol joystick. Interaksi dioptimalkeun sareng alat anu cocog sareng XInput. Dina WinMM, rojongan joystick geus dipindahkeun ka DInput, tinimbang ngagunakeun backend evdev on Linux Ubuntu jeung IOHID on macOS IOHID. Supir joystick heubeul winejoystick.drv geus dihapus.
    • Tés anyar geus ditambahkeun kana modul DInput, dumasar kana pamakéan alat HID maya jeung teu merlukeun alat fisik.
  • Téks jeung fon
    • Ditambahkeun obyék Font Set kana DirectWrite.
    • RichEdit leres ngalaksanakeun antarmuka TextHost.
  • Kernel (Antarmuka Windows Kernel)
    • Nalika ngajalankeun file executable unidentified (sapertos 'wine foo.msi') dina Wine, start.exe ayeuna disebut, nu invokes pawang pakait sareng tipe file.
    • Ditambahkeun dukungan pikeun mékanisme singkronisasi NtAlertThreadByThreadId sareng NtWaitForAlertByThreadId, sami sareng futexes di Linux.
    • Ditambahkeun dukungan pikeun objék debug NT anu dianggo pikeun debug fungsi kernel.
    • Ditambahkeun dukungan pikeun konci pendaptaran dinamis pikeun nyimpen data kinerja.
  • C Runtime
    • The C runtime implements set pinuh fungsi matematik, nu utamana dibawa leuwih ti perpustakaan Musl.
    • Sadaya platform CPU nyayogikeun dukungan anu leres pikeun fungsi titik ngambang.
  • Fitur jaringan
    • Modeu kasaluyuan ningkat pikeun Internet Explorer 11 (IE11), anu ayeuna dianggo sacara standar pikeun ngolah dokumén HTML.
    • Perpustakaan mshtml nerapkeun modeu JavaScript ES6 (ECMAScript 2015), anu nyayogikeun dukungan pikeun fitur sapertos ekspresi hayu sareng objek Peta.
    • Pamasangan bungkusan MSI sareng tambahan kana mesin Gecko kana diréktori kerja Anggur ayeuna dilakukeun nalika diperyogikeun, sareng henteu salami update Anggur.
    • Ditambahkeun dukungan pikeun protokol DTLS.
    • Layanan NSI (Network Store Interface) parantos dilaksanakeun, nyimpen sareng ngirimkeun inpormasi ngeunaan rute sareng antarmuka jaringan dina komputer ka jasa anu sanés.
    • WinSock pawang API kayaning setsockopt na getsockopt geus dipindahkeun ka NTDLL jeung supir afd.sys pikeun akur jeung arsitektur Windows.
    • File database jaringan Wine sorangan, sapertos /etc/protocols sareng /etc/networks, ayeuna dipasang dina diréktori kerja Wine, sanés ngaksés database Unix anu sami.
  • platform alternatif
    • Ditambahkeun dukungan pikeun alat Apple dumasar kana chip M1 ARM (Apple Silicon).
    • Rojongan pikeun fitur BCrypt sareng Secur32 dina macOS ayeuna peryogi pamasangan perpustakaan GnuTLS.
    • Eksekusi 32-bit pikeun platform ARM ayeuna diwangun dina modeu Thumb-2, mirip sareng Windows. Preloader dianggo pikeun ngamuat file sapertos kitu.
    • Pikeun platform ARM 32-bit, pangrojong pikeun pengecualian unwinding parantos dilaksanakeun.
    • Pikeun FreeBSD, jumlah patarosan anu dirojong pikeun inpormasi sistem tingkat handap, sapertos status mémori sareng tingkat ngeusi batre, parantos dilegaan.
  • Diwangun-di aplikasi tur parabot ngembangkeun
    • Utilitas reg.exe parantos nambihan dukungan pikeun tampilan pendaptaran 32- sareng 64-bit. Ditambahkeun dukungan pikeun nyalin konci pendaptaran.
    • Utilitas WineDump parantos nambihan dukungan pikeun ngabuang metadata Windows sareng ningalikeun inpormasi lengkep ngeunaan éntri CodeView.
    • The Wine Debugger (winedbg) nyadiakeun kamampuhan pikeun debug prosés 32-bit ti debugger 64-bit.
    • Kamampuhan pikeun ngamuat perpustakaan diwangun kana file pe geus ditambahkeun kana kompiler IDL (widl), rojongan pikeun atribut WinRT-spésifik jeung constructs geus disadiakeun, sarta pilarian perpustakaan platform-spésifik geus dilaksanakeun.
  • Sistim assembly
    • Dina diréktori khusus arsitéktur, perpustakaan ayeuna disimpen kalayan nami anu ngagambarkeun arsitektur sareng jinis anu tiasa dieksekusi, sapertos 'i386-windows' kanggo format PE sareng 'x86_64-unix' kanggo perpustakaan unix, ngamungkinkeun dukungan pikeun arsitéktur anu béda dina Wine tunggal. instalasi tur nyadiakeun cross-kompilasi Winelib.
    • Pikeun nyetel hiji pilihan dina header file PE nu ngatur transisi ngagunakeun DLLs asli, bendera '--prefer-native option' geus ditambahkeun kana winebuild (prosés DLL_WINE_PREATTACH di DllMain geus dieureunkeun).
    • Ditambahkeun dukungan pikeun versi 4 tina format data debug Dwarf, anu ayeuna dianggo sacara standar nalika ngawangun perpustakaan Anggur.
    • Ditambahkeun pilihan ngawangun '-enable-build-id' pikeun ngahemat idéntifikasi ngawangun unik dina file anu tiasa dieksekusi.
    • Ditambahkeun dukungan pikeun ngagunakeun kompiler Clang dina modeu kasaluyuan MSVC.
  • Разное
    • Ngaran diréktori has dina cangkang pamaké (Windows Shell) dibikeun ka skéma dipaké dimimitian ku Windows Vista, i.e. Gantina 'Dokumén Kuring', diréktori 'Dokumén' ayeuna dijieun, sarta lolobana data disimpen dina diréktori 'AppData'.
    • Rojongan pikeun spésifikasi OpenCL 1.2 geus ditambahkeun kana lapisan perpustakaan OpenCL.
    • Supir WinSpool parantos nambihan dukungan pikeun ukuran halaman anu béda nalika nyitak.
    • Ditambahkeun dukungan awal pikeun MSDASQL, panyadia Microsoft OLE DB pikeun supir ODBC.
    • Mesin Wine Mono sareng palaksanaan platform .NET parantos diropéa pikeun ngaleupaskeun 7.0.0.
    • Data Unicode parantos diropéa kana spésifikasi Unicode 14.
    • Tangkal sumber kalebet perpustakaan Faudio, GSM, LCMS2, LibJPEG, LibJXR, LibMPG123, LibPng, LibTiff, LibXml2, LibXslt sareng Zlib, anu disusun dina format PE sareng henteu peryogi versi dina format Unix. Dina waktos anu sami, perpustakaan ieu ogé tiasa diimpor tina sistem pikeun ngagunakeun rakitan éksternal tibatan pilihan pe anu diwangun.

sumber: opennet.ru

Tambahkeun komentar