Sawise setahun pembangunan lan 26 versi eksperimen, release stabil saka implementasine mbukak saka Win32 API presented - Wine 9.0, kang nggabungake luwih saka 7000 owah-owahan. Prestasi tombol ing versi anyar kalebu implementasine saka arsitektur WoW64 kanggo mbukak program 32-dicokot ing lingkungan 64-dicokot, integrasi driver kanggo ndhukung Wayland, support kanggo arsitektur ARM64, implementasine saka DirectMusic API lan support kanggo kertu pinter.
Program 5336 (5266 setaun kepungkur, 5156 rong taun kepungkur, 5049 telung taun kepungkur) wis dikonfirmasi bisa digunakake kanthi bener ing Wine. WindowsAna 4397 program liyane (4370 setaun kepungkur, 4312 rong taun kepungkur, 4227 telung taun kepungkur) sing bisa digunakake kanthi apik nganggo setelan tambahan lan DLL eksternal. 3943 program (3888 setaun kepungkur, 3813 rong taun kepungkur, 3703 telung taun kepungkur) sing duwe masalah cilik sing ora ngganggu fungsi dhasar aplikasi kasebut.
Inovasi utama ing Wine 9.0:
- Driver winewayland.drv wis ditambahake, saengga Wine bisa digunakake ing lingkungan berbasis Wayland tanpa nggunakake komponen XWayland utawa X11. Pangembangan iki ditujokake kanggo nyedhiyakake lingkungan Wayland murni kanthi dhukungan peluncuran. Windows- aplikasi sing ora mbutuhake instalasi paket sing ana gandhengane karo X11, sing ngidini kinerja lan responsif sing luwih dhuwur ing game kanthi ngilangi lapisan sing ora perlu. Nggunakake lingkungan Wayland murni kanggo Wine uga ngilangi masalah keamanan sing ana ing X11 (contone, game X11 sing ora dipercaya bisa ndelok aplikasi liyane amarga protokol X11 ngidini akses menyang kabeh acara input lan nindakake substitusi keystroke).
Pembalap ditandhani minangka eksperimen lan dikembangake, nanging, nanging, wis duwe dhukungan kanggo akeh fitur, kayata manajemen jendhela, nggarap macem-macem monitor, dhukungan kanggo skala output ing layar Kapadhetan piksel dhuwur (dhuwur DPI), nggarap koordinat relatif nalika nelusuri gerakan mouse lan support kanggo API grafis Vulkan. Kanthi gawan, driver ora aktif lan kanggo ngaktifake sampeyan kudu nambah "wayland" menyang parameter pendaptaran "HKCU\Software\Wine\Drivers" lan priksa manawa variabel lingkungan DISPLAY ora disetel: anggur reg.exe nambah HKCU \ \Software\\Wine\\Drivers /v Graphics /d x11,wayland
- Kabeh modul wis diowahi kanggo antarmuka telpon sistem NT, tinimbang nelpon langsung antarane lapisan PE lan Unix, nandhani completion saka akeh taun karya kanggo ngowahi kabeh DLL kanggo nggunakake format file eksekusi PE (Portable Executable).
- Pangembangan lapisan WoW64 (64-bit) terus ditindakake Windows-ing-Windows), sing ngidini sampeyan mbukak 32-bit Windows- aplikasi ing sistem Unix 64-bit. Kabeh modul sing ngakses perpustakaan Unix nggunakake penerjemah panggilan sistem WoW64 (thunks), sing ngidini modul 32-bit ing format PE ngakses perpustakaan Unix 64-bit.
Mode peluncuran WoW64 anyar wis ditingkatake, saengga kode 32-bit bisa mlaku ing proses 64-bit (ing mode WoW64 lawas, aplikasi 32-bit mlaku ing proses Unix 32-bit). Dhukungan kanggo nggunakake mode WoW64 anyar ing platform wis ditambahake. macOSAmarga mode WoW64 anyar iki nduwé sawetara bug cilik, kaya ta kurang dhukungan 16-bit lan kinerja OpenGL sing suda amarga kurang dhukungan kanggo ekstensi ARB_buffer_storage, mula mode iki durung diaktifake kanthi standar lan mbutuhake perbaikan nganggo opsi "--enable-archs=i386,x86_64" ing skrip konfigurasi.
- Nambahake kemampuan kanggo nglakokake file sing bisa dieksekusi sing wis ana Windows Ing sistem kanthi arsitektur ARM64. Wine saiki bisa digawe kanggo ARM64EC (ARM64 Emulation Compatible) ABI, lan modul ARM64EC bisa dimuat. Modul-modul iki digunakake kanggo nyederhanakake porting aplikasi sing asline ditulis kanggo arsitektur x86_64 menyang sistem ARM64 kanthi ngaktifake eksekusi modul kode x86_64 individu ing lingkungan ARM64 nggunakake emulator. Dhukungan wis ditambahake kanggo format file ARM64X PE, sing ngidini file sing bisa dieksekusi dimuat ing proses x64/Arm64EC lan ARM64. Antarmuka kanggo niru sistem x86 32-bit wis dileksanakake, nanging perpustakaan emulator durung kalebu ing distribusi Wine utama (emulator FEX eksternal bisa digunakake kanggo mbukak kode x86 ing lingkungan ARM64).
- Subsistem grafis
- Driver PostScript wis dirancang ulang kanggo ndhukung file spool ing format Windows, sing nyimpen data babagan tugas cetak. Panggilan langsung menyang driver saka lingkungan Unix ora kalebu.
- Dhukungan mode peteng wis ditambahake menyang tema WinRT. Setelan wis ditambahake menyang WineCfg kanggo ngaktifake desain antarmuka peteng.
- Pembalap kanggo API grafis Vulkan wis nambahake dhukungan kanggo spesifikasi Vulkan 1.3.272 (8.0 didhukung ing Wine 1.3.237).
- Fungsi perpustakaan GdiPlus wis dioptimalake, saéngga nambah kinerja grafis.
- Direct3D
- Parsing stream printah multi-Utas dilereni soko tugas nalika ora ana printah Rendering diproses, kang ngidini ngurangi konsumsi energi kanggo tingkat Processing single-threaded nalika nglakokaké program sing ora Occupy kabeh bandwidth stream printah.
- Direct3D 10 kalebu dhukungan kanggo efek tambahan.
- Nggawe optimasi kinerja kanggo kode WineD3D lan backend nggunakake API grafis Vulkan.
- Kode rendering basis API Vulkan saiki mriksa kemampuan apa sing didhukung piranti lan ngandhani aplikasi apa tingkat fungsionalitas Direct3D sing kasedhiya.
- Fungsi D3DXFillTextureTX lan D3DXFillCubeTextureTX wis dileksanakake.
- Backend shader OpenGL ARB klasik wis nambah dhukungan kanggo nemtokake bayangan nggunakake extension ARB_fragment_program_shadow.
- D3DXLoadMeshHierarchyFromX lan fungsi sing padha wis nambahake dhukungan kanggo ngemot data pangguna nggunakake antarmuka ID3DXLoadUserData.
- Swara lan video
- Implementasi awal DirectMusic API wis diusulake. Ditambahake dhukungan kanggo koleksi, instrumen lan conto swara ing format SoundFont. Ditambahake dhukungan kanggo efek Doppler. Tes wis dileksanakake kanggo verifikasi implementasine sing bener nalika ngoperasikake sequencer dmime lan synthesizer MIDI dmsynth.
- Pustaka FluidSynth dibangun ing DirectMusic API kanggo digunakake.
- Dhukungan kanggo ngunggah font swara (SoundFont - format kanggo sintesis adhedhasar sampel sing digunakake kanggo muter file MIDI) ing format DLS1 lan DLS2, uga ing format SF2 sing digunakake ing Linux.
- Nambahake kemampuan kanggo muter konten MIDI nggunakake perpustakaan dmsynth, nggunakake synthesizer piranti lunak FluidSynth lan DirectSound API kanggo output audio.
- Nambahake decoder kanggo video ing format codec video Indeo IV50.
- Pandhu arah
- Komponen DMO (DirectX Media Object) nganggo dekoder format WMV wis diimplementasikake (Windows MediaVideo).
- Nambahake filter panangkepan audio (DirectShow Audio Capture Filter).
- Saliyane stream audio, MPEG‑1 Stream Splitter (DirectShow MPEG‑1 Stream Splitter) saiki ndhukung stream video lan stream layanan.
- Filter kanggo dekoding video ing format MPEG‑1 (DirectShow MPEG‑1 Video Decoder) wis dileksanakake.
- Piranti input
- DirectInput ndhukung pemetaan aksi, sing ngidini sampeyan ngiket tombol ing pengontrol game menyang tumindak tartamtu ing game.
- Integrasi desktop
- Bindings wis diekspor menyang lingkungan pangguna utama, ngidini aplikasi sing mlaku ing Wine diarani minangka panangan protokol nalika mbukak URL (contone, ngluncurake spotify.exe nalika mbukak link kaya "spotify: user: spotify: playlist: 848218482355482821").
- Dilaksanakake ekstraksi data EDID (Data Identifikasi Tampilan Lengkap) kanthi informasi babagan paramèter monitor sing disambungake, kayata jeneng lan model piranti.
- Sampeyan bisa nutup jendhela desktop sing dipasang ing mode layar wutuh nggunakake tombol "Metu desktop" ing menu "Mulai".
- Ngundhuh
- Dhukungan kanggo IME (Input Method Editors) wis ditambahi. Pakaryan wis ditindakake kanggo njamin kompatibilitas karo aplikasi asli Windows Implementasi IME lan integrasi sing luwih apik karo Linux EMI
- Generasi basis data lokal ing format locale.nls saka database Unicode CLDR (Unicode Common Locale Data Repository) versi 44 wis kasedhiya Dhukungan kanggo lokal tambahan bew-ID, blo-BJ, csw-CA, ie-EE, mic-CA. , prg-PL wis ditambahake , skr-PK, tyv-RU, vmw-MZ, xnr-IN lan za-CN.
- Antarmuka wis diterjemahake menyang Georgia. Terjemahan lengkap kasedhiya kanggo 16 basa, lan terjemahan parsial kanggo 31 basa.
- Tabel karakter Unicode wis dianyari kanggo versi standar 15.1.0. Database zona wektu wis dianyari.
- Kernel (antarmuka kernel) Windows)
- Kaya versi sing diterbitake Windows ditetepake kanthi standar Windows 10.
- Kanggo file eksekusi ing format PE, dhukungan kanggo acak ruang alamat (ASLR) dileksanakake, nanging alamat kanggo ngemot kode menyang memori durung rampung kanthi acak.
- Dhukungan kanggo tumpukan sing pecah banget (LFH, Low Fragmentation Heap) wis dileksanakake, sing nambah kinerja operasi alokasi memori.
- Dhukungan kanggo leladen memori (placeholder) wis ditambahake menyang mekanisme alokasi memori virtual, ngidini aplikasi kanggo cadangan area tartamtu saka memori virtual kanggo nggunakake mangsa.
- Loader 64-bit (loader lan preloader) file lan perpustakaan sing bisa dieksekusi dikompilasi ing format PIE (Position-Independent Executables) kanggo mbebasake bagean saka ruang alamat 32-bit.
- Unwinding tumpukan sing bener diwenehake kanggo telpon sistem NT lan panggilan balik pangguna.
- Fitur jaringan
- Mesin MSHTML ndhukung mekanisme pengumpulan sampah "Koleksi Siklus".
- MSHTML wis nambahake dhukungan kanggo pangolahan sinkron saka panjalukan XMLHttpRequest.
- jscript.dll nambah support kanggo obyek WeakMap kanggo karya karo kumpulan tombol / pasangan Nilai kang tombol iku obyek sing bisa duwe nilai kasepakatan ditempelake menyang. WeakMap.get (), WeakMap.delete (), WeakMap.clear () lan WeakMap.has () cara.
- Mesin browser Gecko wis dianyari kanggo versi 2.47.4.
- Dhukungan kanggo kabar babagan owah-owahan ing kahanan antarmuka jaringan wis dileksanakake.
- Kriptografi lan Keamanan
- Dhukungan kanggo kertu pinter wis ditambahake menyang perpustakaan Winscard.dll, dipun ginakaken liwat perpustakaan sistem PCSClite.
- BCrypt nambahake dhukungan kanggo protokol pertukaran kunci Diffie-Hellman.
- Paket rembugan wis dipun ginakaken, nyediakake lapisan kanggo nggunakake antarmuka SSPI (Security Support Provider Interface) kanggo akses SSP (Security Support Provider) panyedhiya.
- Aplikasi sing dipasang
- Wine Debugger (winedbg) nggunakake perpustakaan Zydis kanggo mbongkar instruksi mesin X86.
- Antarmuka WineCfg wis dianyari kanggo ndhukung versi lawas ing platform 64-bit. Windows (sadurunge XP), sing ngidini sampeyan mbukak aplikasi lawas nggunakake mode WoW64.
- Kabeh aplikasi grafis sing dibangun saiki nampilake informasi kesalahan ing dialog sing kapisah, tinimbang nampilake ing konsol.
- Program systeminfo nyedhiyakake tampilan informasi saka basis data WMI (Windows Instrumentasi Manajemen).
- Nambahake aplikasi klist kanggo nampilake tiket Kerberos.
- Aplikasi taskkill ngetrapake kemampuan kanggo mungkasi proses anak kanthi paksa.
- Nambahake opsi "/ mesin" menyang sarana wiwitan kanggo milih arsitektur sing digunakake nalika nglakokake eksekusi hibrida sing ndhukung x86 lan ARM.
- Umume fungsi program dhaptar tugas wis dileksanakake.
- Nambahake implementasine dhasar saka aplikasi findstr.
- Piranti Pangembangan
- Utilitas WineDump nduweni kemampuan kanggo nampilake isi file registri. Windows (format REGF), uga nampilake data kanggo kabeh arsitektur (x86/ARM64) sing didhukung ing file PE hibrida.
- Compiler IDL wis nambahake dhukungan kanggo atribut "composable", "default_overload", "deprecated" lan "protected".
- Dibusak libwine.so, sing ora digunakake ing Wine 6.0 lan wis suwe ora digunakake ing Wine. Program ing format ELF dibangun ing versi lawas saka Wine (5.0 lan lawas) karo libwine.so mbutuhake rebuilding kanggo mbukak ing Wine 9.0.
- Pustaka sing dibangun lan dependensi eksternal
- Pustaka FluidSynth 2.3.3, Musl 1.2.3 (mung fungsi matematika) lan Zydis 4.0.0 digabungake ing paket kasebut.
- Komponen Vkd3d 1.10, Faudio 23.12, OpenLDAP 2.5.16, LCMS2 2.15, LibMPG123 1.32.2, LibPng 1.6.40, LibTiff 4.6.0, LibXml2 2.11.5, Lib1.1.38.libXslt lan 1.3 wis dianyari versi anyar Mesin Wine Mono kanthi implementasine platform .NET wis dianyari kanggo ngeculake 8.1.0.
- Driver winewayland.drv nggunakake perpustakaan klien Wayland minangka dependensi eksternal, uga perpustakaan xkbcommon lan xkbregistry.
- Kanggo ndhukung kertu pinter, perpustakaan PCSClite eksternal digunakake (ing macOS — PCSC).
- Mbangun file PE ing platform non-i386 saiki mbutuhake cross-compiler kanthi dhukungan kanggo arahan ".seh" kanggo nangani pengecualian.
Source: opennet.ru
