Rilis stabil saka Wine 7.0

Sawise setahun pembangunan lan 30 versi eksperimen, release stabil saka implementasine mbukak saka Win32 API presented - Wine 7.0, kang nggabungake luwih saka 9100 owah-owahan. Prestasi utama versi anyar kalebu terjemahan paling akeh modul Wine menyang format PE, dhukungan kanggo tema, ekspansi tumpukan kanggo joystick lan piranti input kanthi antarmuka HID, lan implementasi arsitektur WoW64 kanggo mbukak program 32-bit ing a Lingkungan 64-bit.

Wine wis dikonfirmasi operasi lengkap 5156 (setaun kepungkur 5049) program kanggo Windows, liyane 4312 (setaun kepungkur 4227) program bisa sampurna karo setelan tambahan lan DLL external. 3813 program (3703 taun kepungkur) duwe masalah operasional cilik sing ora ngganggu panggunaan fungsi utama aplikasi kasebut.

Inovasi utama ing Wine 7.0:

  • Modul ing format PE
    • Meh kabeh DLL wis diowahi kanggo nggunakake format file eksekusi PE (Portable Executable, digunakake ing Windows) tinimbang ELF. Panggunaan PE ngatasi masalah kanthi ndhukung macem-macem skema perlindungan salinan sing verifikasi identitas modul sistem ing disk lan ing memori.
    • Kemampuan kanggo sesambungan modul PE karo perpustakaan Unix nggunakake telpon sistem kernel standar NT wis dipun ginakaken, sing ngijini sampeyan kanggo ndhelikake akses menyang kode Unix saka Windows debuggers lan ngawasi registrasi thread.
    • Dibangun ing DLL saiki dimuat mung yen ana file PE cocog ing disk, preduli saka apa perpustakaan nyata utawa rintisan. Owah-owahan iki ngidini aplikasi tansah ndeleng naleni bener kanggo file PE. Kanggo mateni prilaku iki, sampeyan bisa nggunakake variabel lingkungan WINEBOOTSTRAPMODE.
  • wuh64
    • Arsitektur WoW64 (Windows-on-Windows 64-bit) wis dileksanakake, ngidini sampeyan mbukak aplikasi Windows 32-bit ing proses Unix 64-bit. Dhukungan dileksanakake liwat sambungan saka lapisan sing nerjemahake 32-dicokot NT sistem telpon menyang 64-dicokot telpon kanggo NTDLL.
    • Lapisan WoW64 disiapake kanggo umume perpustakaan Unix lan ngidini modul PE 32-bit ngakses perpustakaan Unix 64-bit. Sawise kabeh modul wis diowahi menyang format PE, iku bakal bisa kanggo mbukak aplikasi Windows 32-dicokot tanpa nginstal perpustakaan Unix 32-dicokot.
  • Tema
    • Dhukungan tema wis ditindakake. Tema desain "Cahya", "Biru" lan "Biru Klasik" kalebu, sing bisa dipilih liwat konfigurasi WineCfg.
    • Nambahake kemampuan kanggo ngatur tampilan kabeh kontrol antarmuka liwat tema. Tampilan unsur dianyari kanthi otomatis sawise ngganti tema desain.
    • Dhukungan tema wis ditambahake menyang kabeh aplikasi Wine sing dibangun. Aplikasi wis diadaptasi menyang layar kanthi kapadhetan piksel dhuwur (DPI Dhuwur).
  • Subsistem grafis
    • A perpustakaan Win32u anyar wis ditambahakΓ©, kang kalebu bagΓ©an saka perpustakaan GDI32 lan USER32 related kanggo Processing grafis lan Manajemen jendhela ing tingkat kernel. Ing mangsa ngarep, karya bakal diwiwiti kanggo porting komponen driver kayata winex32.drv lan winemac.drv menyang Win11u.
    • Pembalap Vulkan ndhukung spesifikasi API grafis Vulkan 1.2.201.
    • Nyedhiyakake dhukungan kanggo ngasilake obyek geometris sing ditetesi liwat Direct2D API, kanthi kemampuan kanggo mriksa apa klik cocog (hit-test).
    • Direct2D API nyedhiyakake dhukungan awal kanggo efek visual sing ditrapake nggunakake antarmuka ID2D1Effect.
    • Direct2D API wis nambah support kanggo antarmuka ID2D1MultiThread, kang digunakake kanggo ngatur akses eksklusif kanggo sumber daya ing aplikasi multi-Utas.
    • Kumpulan perpustakaan WindowsCodecs nyedhiyakake dhukungan kanggo dekoding gambar ing format WMP (Windows Media Photo) lan ngodhe gambar ing format DDS (DirectDraw Surface). Kita ora ndhukung gambar enkoding maneh ing format ICNS (kanggo macOS), sing ora didhukung ing Windows.
  • Direct3D
    • Mesin rendering anyar wis apik banget, nerjemahake telpon Direct3D menyang API grafis Vulkan. Ing sawetara kahanan, tingkat dhukungan kanggo Direct3D 10 lan 11 ing mesin basis Vulkan wis digawa menyang paritas karo mesin basis OpenGL lawas. Kanggo ngaktifake mesin rendering Vulkan, setel variabel registri Direct3D "renderer" dadi "vulkan".
    • Akeh fitur Direct3D 10 lan 11 dileksanakake, kalebu Konteks Ditundha, obyek negara sing beroperasi ing konteks piranti, ngimbangi terus-terusan ing buffer, mbusak tampilan tekstur sing ora cocog, nyalin data antarane sumber daya ing format tanpa jinis (DXGI_FORMAT_BC3_TYPELESS, DXGI_FORMAT_R32G32B32A32), lsp. .
    • Dhukungan ditambahake kanggo konfigurasi multi-monitor, ngidini sampeyan milih monitor kanggo nampilake aplikasi Direct3D ing mode layar wutuh.
    • API DXGI nyedhiyakake koreksi gamma layar, sing bisa digunakake dening aplikasi adhedhasar Direct3D 10 lan 11 kanggo ngganti padhange layar. Aktifake njupuk saka virtual framebuffers counters (SwapChain).
    • Direct3D 12 nambah support kanggo versi 1.1 teken ROOT.
    • Ing kode rendering liwat Vulkan API, efisiensi pangolahan query wis apik nalika sistem ndhukung extension VK_EXT_host_query_reset.
    • Nambahake kemampuan kanggo output framebuffers virtual (SwapChain) liwat GDI yen OpenGL utawa Vulkan ora bisa digunakake kanggo tampilan, Contone, nalika outputting menyang jendhela saka pangolahan beda, contone, ing program adhedhasar CEF (Chromium Embedded Framework) framework.
    • Nalika nggunakake backend shader GLSL, modifier "tepat" wis mesthekake kanggo instruksi shader.
    • DirectDraw API nambahake dhukungan kanggo rendering 3D menyang memori sistem nggunakake piranti lunak kayata "RGB", "MMX" lan "Ramp".
    • AMD Radeon RX 3M, AMD Radeon RX 5500/6800 XT/6800 XT, AMD Van Gogh, Intel UHD Graphics 6900 lan kertu NVIDIA GT 630 wis ditambahake menyang database kertu grafis Direct1030D.
    • Tombol "UseGLSL" wis dibusak saka registri HKEY_CURRENT_USER\Software\Wine\Direct3D, tinimbang sing diwiwiti karo Wine 5.0, sampeyan kudu nggunakake "shader_backend".
    • Kanggo ndhukung Direct3D 12, sampeyan saiki mbutuhake paling ora versi 3 saka perpustakaan vkd1.2d.
  • D3DX
    • Implementasi D3DX 10 wis nambah dhukungan kanggo kerangka efek visual lan nambah dhukungan kanggo format gambar Windows Media Photo (JPEG XR)
    • Nambahake fungsi nggawe tekstur sing kasedhiya ing D3DX10, kayata D3DX10CreateTextureFromMemory ().
    • Antarmuka piranti lunak ID3DX10Sprite lan ID3DX10Font wis dileksanakake sebagian.
  • Swara lan video
    • Tambahan GStreamer kanggo DirectShow lan kerangka Media Foundation digabungake dadi siji backend WineGStreamer umum, sing kudu nyederhanakake pangembangan API dekoding konten anyar.
    • Adhedhasar backend WineGStreamer, obyek Windows Media diimplementasikake kanggo maca sinkron lan ora sinkron.
    • Implementasi kerangka Media Foundation wis luwih ditapis, dhukungan kanggo fungsi IMFPMediaPlayer lan alokasi sampel wis ditambahake, lan dhukungan kanggo buffer rendering EVR lan SAR wis apik.
    • Pustaka wineqtdecoder, sing nyedhiyakake dekoder kanggo format QuickTime, wis dibusak (kabeh codec saiki nggunakake GStreamer).
  • Piranti input
    • Tumpukan kanggo piranti input sing ndhukung protokol HID (Piranti Antarmuka Manungsa) wis apik banget, nyedhiyakake kapabilitas kayata ngurai deskriptor HID, ngolah pesen HID, lan nyedhiyakake driver mini-HID.
    • Ing mburi driver winebus.sys, terjemahan katrangan piranti menyang pesen HID wis apik.
    • Nambahake backend DirectInput anyar kanggo joystick sing ndhukung protokol HID. Kemampuan kanggo nggunakake efek umpan balik ing joysticks wis dileksanakake. Panel kontrol joystick sing luwih apik. Interaksi sing dioptimalake karo piranti sing kompatibel karo XInput. Ing WinMM, dhukungan joystick wis dipindhah menyang DInput, tinimbang nggunakake backend evdev ing Linux lan IOHID ing macOS IOHID. Driver joystick lawas winejoystick.drv wis dibusak.
    • Tes anyar wis ditambahake menyang modul DInput, adhedhasar panggunaan piranti HID virtual lan ora mbutuhake piranti fisik.
  • Teks lan font
    • Added Font Set obyek kanggo DirectWrite.
    • RichEdit ngleksanakake antarmuka TextHost kanthi bener.
  • Kernel (Antarmuka Kernel Windows)
    • Nalika mbukak file eksekusi sing ora dingerteni (kayata 'wine foo.msi') ing Wine, start.exe saiki diarani, sing njaluk panangan sing ana gandhengane karo jinis file kasebut.
    • Dhukungan tambahan kanggo mekanisme sinkronisasi NtAlertThreadByThreadId lan NtWaitForAlertByThreadId, padha karo futexes ing Linux.
    • Dhukungan tambahan kanggo obyek debug NT sing digunakake kanggo debug fungsi kernel.
    • Dhukungan tambahan kanggo kunci pendaptaran dinamis kanggo nyimpen data kinerja.
  • C Runtime
    • Runtime C ngleksanakake set lengkap fungsi matematika, kang utamanΓ© digawa liwat saka perpustakaan Musl.
    • Kabeh platform CPU nyedhiyakake dhukungan sing bener kanggo fungsi floating point.
  • Fitur jaringan
    • Mode kompatibilitas sing luwih apik kanggo Internet Explorer 11 (IE11), sing saiki digunakake minangka standar kanggo ngolah dokumen HTML.
    • Pustaka mshtml ngetrapake mode JavaScript ES6 (ECMAScript 2015), sing nyedhiyakake dhukungan kanggo fitur kayata ekspresi let lan obyek Peta.
    • Instalasi paket MSI kanthi tambahan mesin Gecko menyang direktori kerja Wine saiki wis rampung yen perlu, lan ora sajrone nganyari Wine.
    • Dhukungan ditambahake kanggo protokol DTLS.
    • Layanan NSI (Network Store Interface) wis dileksanakake, nyimpen lan ngirim informasi babagan rute lan antarmuka jaringan ing komputer menyang layanan liyane.
    • Panangan WinSock API kayata setsockopt lan getsockopt wis dipindhah menyang NTDLL lan driver afd.sys kanggo cocog karo arsitektur Windows.
    • File database jaringan Wine dhewe, kayata /etc/protocols lan /etc/networks, saiki wis diinstal ing direktori kerja Wine, tinimbang ngakses database Unix sing padha.
  • Platform alternatif
    • Dhukungan tambahan kanggo peralatan Apple adhedhasar chip M1 ARM (Apple Silicon).
    • Dhukungan kanggo fitur BCrypt lan Secur32 ing macOS saiki mbutuhake instalasi perpustakaan GnuTLS.
    • Eksekusi 32-bit kanggo platform ARM saiki dibangun ing mode Thumb-2, padha karo Windows. Preloader digunakake kanggo mbukak file kasebut.
    • Kanggo platform ARM 32-bit, dhukungan kanggo pengecualian unwinding wis ditindakake.
    • Kanggo FreeBSD, jumlah pitakon sing didhukung kanggo informasi sistem tingkat rendah, kayata status memori lan tingkat pangisian baterei, wis ditambahi.
  • Aplikasi lan alat pangembangan sing dibangun
    • Utilitas reg.exe wis nambah dhukungan kanggo tampilan registri 32- lan 64-bit. Dhukungan tambahan kanggo nyalin kunci registri.
    • Utilitas WineDump wis nambahake dhukungan kanggo mbuwang metadata Windows lan nampilake informasi rinci babagan entri CodeView.
    • Wine Debugger (winedbg) nyedhiyakake kemampuan kanggo debug proses 32-bit saka debugger 64-bit.
    • Kemampuan kanggo mbukak perpustakaan sing dibangun ing file PE wis ditambahake menyang compiler IDL (widl), dhukungan kanggo atribut lan konstruksi khusus WinRT wis diwenehake, lan telusuran perpustakaan khusus platform wis ditindakake.
  • Sistem perakitan
    • Ing direktori khusus arsitektur, perpustakaan saiki disimpen kanthi jeneng sing nggambarake arsitektur lan jinis eksekusi, contone, 'i386-windows' kanggo format PE lan 'x86_64-unix' kanggo perpustakaan unix, ngidini dhukungan kanggo arsitektur sing beda ing a instalasi Wine siji lan nyedhiyakake kompilasi silang Winelib.
    • Kanggo nyetel pilihan ing header file PE sing ngontrol transisi kanggo nggunakake DLL asli, gendera '-pilihan pribumi' wis ditambahake menyang winebuild (pangolahan DLL_WINE_PREATTACH ing DllMain wis mandheg).
    • Dhukungan ditambahake kanggo versi 4 saka format data debug Dwarf, sing saiki digunakake kanthi gawan nalika mbangun perpustakaan Wine.
    • Nambahake opsi mbangun '-enable-build-id' kanggo nyimpen pengenal mbangun unik ing file sing bisa dieksekusi.
    • Dhukungan ditambahake kanggo nggunakake kompiler Clang ing mode kompatibilitas MSVC.
  • Π Π°Π·Π½ΠΎΠ΅
    • Jeneng direktori khas ing cangkang pangguna (Windows Shell) diwenehake menyang skema sing digunakake diwiwiti karo Windows Vista, yaiku. Tinimbang 'Dokumenku', direktori 'Dokumen' saiki digawe, lan umume data disimpen ing direktori 'AppData'.
    • Dhukungan kanggo spesifikasi OpenCL 1.2 wis ditambahake menyang lapisan perpustakaan OpenCL.
    • Pembalap WinSpool wis nambahake dhukungan kanggo ukuran kaca sing beda nalika nyetak.
    • Dhukungan awal ditambahake kanggo MSDASQL, panyedhiya Microsoft OLE DB kanggo driver ODBC.
    • Mesin Wine Mono kanthi implementasi platform .NET wis dianyari kanggo ngeculake 7.0.0.
    • Data Unicode wis dianyari menyang spesifikasi Unicode 14.
    • Wit sumber kalebu perpustakaan Faudio, GSM, LCMS2, LibJPEG, LibJXR, LibMPG123, LibPng, LibTiff, LibXml2, LibXslt lan Zlib, sing disusun ing format PE lan ora mbutuhake versi ing format Unix. Ing wektu sing padha, perpustakaan kasebut uga bisa diimpor saka sistem kanggo nggunakake rakitan eksternal tinimbang opsi PE sing dibangun.

Source: opennet.ru

Add a comment