Rilis stabil Wine 8.0

Setelah satu tahun pengembangan dan 28 versi eksperimental, rilis stabil implementasi terbuka API Win32 - Wine 8.0, yang menggabungkan lebih dari 8600 perubahan, telah disajikan. Pencapaian utama dalam versi baru ini menandai selesainya pekerjaan menerjemahkan modul Wine ke dalam format.

Wine telah mengonfirmasi pengoperasian penuh program 5266 (setahun lalu 5156, dua tahun lalu 5049) untuk Windows, program 4370 lainnya (setahun lalu 4312, dua tahun lalu 4227) bekerja sempurna dengan pengaturan tambahan dan DLL eksternal. 3888 program (3813 tahun lalu, 3703 dua tahun lalu) memiliki masalah operasional kecil yang tidak mengganggu penggunaan fungsi utama aplikasi.

Inovasi utama dalam Wine 8.0:

  • Modul dalam format PE
    • Setelah empat tahun bekerja, konversi semua perpustakaan DLL untuk menggunakan format file yang dapat dieksekusi PE (Portable Executable, digunakan di Windows) telah selesai. Penggunaan PE memungkinkan penggunaan debugger yang tersedia untuk Windows dan memecahkan masalah dengan mendukung berbagai skema perlindungan salinan yang memverifikasi identitas modul sistem pada disk dan memori. Masalah menjalankan aplikasi 32-bit pada host 64-bit dan aplikasi x86 pada sistem ARM juga telah teratasi. Di antara sisa tugas yang direncanakan untuk diselesaikan dalam rilis eksperimental Wine 8.x berikutnya, terdapat transisi modul ke antarmuka panggilan sistem NT alih-alih melakukan panggilan langsung antara lapisan PE dan Unix.
    • Manajer panggilan sistem khusus telah diterapkan, digunakan untuk menerjemahkan panggilan dari perpustakaan PE ke Unix untuk mengurangi overhead dalam menjalankan panggilan sistem NT penuh. Misalnya, pengoptimalan memungkinkan pengurangan penurunan kinerja saat menggunakan perpustakaan OpenGL dan Vulkan.
    • Aplikasi Winelib mempertahankan kemampuan untuk menggunakan campuran pustaka ELF (.dll.so) Windows/Unix, tetapi aplikasi tersebut tanpa pustaka 32-bit tidak akan mendukung fungsionalitas yang tersedia melalui antarmuka panggilan sistem NT, seperti WoW64.
  • WoW64
    • Lapisan WoW64 (Windows-on-Windows 64-bit) disediakan untuk semua perpustakaan Unix, memungkinkan modul 32-bit dalam format PE untuk mengakses perpustakaan Unix 64-bit, yang, setelah menghilangkan panggilan PE/Unix langsung, akan membuatnya mungkin untuk menjalankan aplikasi Windows 32-bit bit tanpa menginstal perpustakaan Unix 32-bit.
    • Dengan tidak adanya pemuat Wine 32-bit, aplikasi 32-bit dapat berjalan dalam mode WoW64 eksperimental baru seperti Windows, di mana kode 32-bit berjalan dalam proses 64-bit. Mode ini diaktifkan saat membuat Wine dengan opsi '—enable-archs'.
  • Subsistem grafis
    • Konfigurasi default menggunakan tema terang (“Light”). Anda dapat mengubah tema menggunakan utilitas WineCfg.
      Rilis stabil Wine 8.0
    • Driver grafis (winex11.drv, winemac.drv, wineandroid.drv) dikonversi untuk menjalankan panggilan sistem di tingkat Unix dan mengakses driver melalui perpustakaan Win32u.
      Rilis stabil Wine 8.0
    • Arsitektur Prosesor Cetak telah diterapkan, yang digunakan untuk menghilangkan panggilan langsung antara level PE dan Unix pada driver printer.
    • Direct2D API sekarang mendukung efek.
    • Direct2D API telah menambahkan kemampuan untuk merekam dan memutar daftar perintah.
    • Driver untuk API grafis Vulkan telah menambahkan dukungan untuk spesifikasi Vulkan 1.3.237 (Vulkan 7 didukung di Wine 1.2).
  • Direct3D
    • Menambahkan kompiler shader baru untuk HLSL (Bahasa Shader Tingkat Tinggi), yang diimplementasikan berdasarkan perpustakaan vkd3d-shader. Juga berdasarkan vkd3d-shader, disassembler HLSL dan praprosesor HLSL telah disiapkan.
    • Antarmuka Thread Pump yang diperkenalkan di D3DX 10 telah diimplementasikan.
    • Efek Direct3D 10 menambahkan dukungan untuk banyak ekspresi baru.
    • Pustaka dukungan untuk D3DX 9 sekarang mendukung proyeksi tekstur Cubemap.
  • Suara dan video
    • Berdasarkan kerangka GStreamer, dukungan filter untuk decoding audio dalam format MPEG-1 telah diterapkan.
    • Menambahkan filter untuk membaca streaming audio dan video dalam format ASF (Advanced Systems Format).
    • Lapisan perpustakaan perantara OpenAL32.dll telah dihapus, sebagai gantinya perpustakaan Windows asli OpenAL32.dll, yang disertakan dengan aplikasi, sekarang digunakan.
    • Media Foundation Player telah meningkatkan deteksi tipe konten.
    • Kemampuan untuk mengontrol kecepatan transfer data (Rate control) telah diterapkan.
    • Peningkatan dukungan untuk mixer dan presenter default di Enhanced Video Renderer (EVR).
    • Menambahkan implementasi awal Writer Encoding API.
    • Dukungan pemuat topologi yang ditingkatkan.
  • Perangkat input
    • Dukungan yang ditingkatkan secara signifikan untuk hot plugging pada pengontrol.
    • Peningkatan implementasi kode untuk menentukan roda kemudi permainan, yang dibangun berdasarkan perpustakaan SDL, diusulkan.
    • Peningkatan dukungan untuk efek umpan balik Force saat menggunakan roda gaming.
    • Menerapkan kemampuan mengendalikan motor getaran kiri dan kanan menggunakan spesifikasi HID Haptic.
    • Mengubah desain panel kontrol joystick.
    • Dukungan untuk pengontrol Sony DualShock dan DualSense disediakan melalui penggunaan backend hidraw.
    • Modul WinRT Windows.Gaming.Input diusulkan dengan implementasi antarmuka perangkat lunak untuk mengakses gamepad, joystick, dan roda permainan. Untuk API baru, antara lain, dukungan untuk pemberitahuan hot plugging pada perangkat, efek sentuhan dan getaran diterapkan.
  • Penginternasionalan
    • Pembuatan database lokal yang benar dalam format locale.nls dari repositori Unicode CLDR (Unicode Common Locale Data Repository) dipastikan.
    • Fungsi perbandingan string Unicode telah dipindahkan untuk menggunakan database dan algoritma Sortkey Windows daripada algoritma Unicode Collation, sehingga membawa perilaku lebih dekat ke Windows.
    • Sebagian besar fitur telah menambahkan dukungan untuk rentang kode Unicode atas (bidang).
    • Dimungkinkan untuk menggunakan UTF-8 sebagai pengkodean ANSI.
    • Tabel karakter telah diperbarui ke spesifikasi Unicode 15.0.0.
  • Teks dan font
    • Penautan font telah diaktifkan untuk sebagian besar font sistem, memecahkan masalah hilangnya mesin terbang pada sistem dengan lokal China, Korea, dan Jepang.
    • Penggantian font fallback yang dikerjakan ulang di DirectWrite.
  • Kernel (Antarmuka Kernel Windows)
    • Basis data ApiSetSchema telah diimplementasikan, yang menggantikan modul api-ms-* dan mengurangi konsumsi ruang disk dan alamat.
    • Atribut file DOS disimpan pada disk dalam format yang kompatibel dengan Samba menggunakan atribut FS yang diperluas.
  • Fitur jaringan
    • Menambahkan dukungan untuk OCSP (Online Certificate Status Protocol), yang digunakan untuk memeriksa sertifikat yang dicabut.
    • Kisaran fitur EcmaScript yang tersedia dalam mode kepatuhan standar JavaScript telah diperluas.
    • Menerapkan pengumpul sampah untuk JavaScript.
    • Paket mesin Gecko mencakup fitur untuk penyandang disabilitas.
    • MSHTML menambahkan dukungan untuk Web Storage API, objek Performance, dan objek tambahan untuk penanganan kejadian.
  • Aplikasi Tertanam
    • Semua aplikasi bawaan telah dikonversi untuk menggunakan perpustakaan Common Controls 6, dengan dukungan untuk tema desain dan rendering dengan mempertimbangkan layar dengan kepadatan piksel tinggi.
    • Peningkatan kemampuan untuk men-debug thread di Wine Debugger (winedbg).
    • Utilitas registri (REGEDIT dan REG) sekarang mendukung tipe QWORD.
    • Notepad telah menambahkan bilah status dengan informasi tentang posisi kursor dan fungsi Goto Line untuk melompat ke nomor baris tertentu
    • Konsol internal menyediakan keluaran data di halaman kode OEM.
    • Perintah 'query' telah ditambahkan ke utilitas sc.exe (Service Control).
  • Sistem perakitan
    • Kemampuan untuk membuat file yang dapat dieksekusi dalam format PE untuk beberapa arsitektur telah disediakan (misalnya, '—enable-archs=i386,x86_64').
    • Pada semua platform dengan tipe panjang 32-bit, tipe data yang didefinisikan sebagai long di Windows kini didefinisikan ulang sebagai 'long', bukan 'int' di Wine. Di Winelib, perilaku ini dapat dinonaktifkan melalui definisi WINE_NO_LONG_TYPES.
    • Menambahkan kemampuan untuk menghasilkan perpustakaan tanpa menggunakan dlltool (diaktifkan dengan mengatur opsi '—tanpa-dlltool' di winebuild).
    • Untuk meningkatkan efisiensi pemuatan dan mengurangi ukuran pustaka tanpa kode dan hanya sumber daya, winegcc mengimplementasikan opsi '--data-only'.
  • Miscellanea
    • Versi terbaru dari pustaka bawaan Faudio 22.11, LCMS2 2.14, LibJPEG 9e, LibMPG123 1.31.1, LibPng 1.6.39, LibTiff 4.4.0, LibXml2 2.10.3, LibXslt 1.1.37, Zlib 1.2.13.
    • Mesin Wine Mono dengan implementasi platform .NET telah diperbarui ke rilis 7.4.
    • Dukungan untuk enkripsi berdasarkan algoritma RSA dan tanda tangan digital RSA-PSS telah diterapkan.
    • Menambahkan versi awal API Otomatisasi UI.
    • Pohon sumber mencakup pustaka LDAP dan vkd3d, yang dikompilasi dalam format PE, sehingga menghilangkan kebutuhan untuk menyediakan rakitan Unix pada pustaka ini.
    • Perpustakaan OpenAL telah dihentikan.

Sumber: opennet.ru

Tambah komentar