Selepas setahun pembangunan dan 29 versi percubaan, keluaran stabil pelaksanaan terbuka Win32 API - Wine 10.0, yang menggabungkan lebih daripada 6000 perubahan, telah dibentangkan. Pencapaian utama dalam versi baharu termasuk sokongan penuh untuk seni bina ARM64EC, penskalaan pada skrin dengan ketumpatan piksel tinggi, kemasukan pemacu Wayland secara lalai, pelaksanaan panel untuk menyediakan skrin dan kayu bedik, bahagian belakang multimedia alternatif berdasarkan FFmpeg, Bluetooth pemandu, sokongan Vulkan 1.4, keupayaan emulasi menukar mod video.
5372 program telah disahkan berfungsi dengan betul dalam Wine Windows (5336 setahun yang lalu, 5266 dua tahun yang lalu, 5156 tiga tahun yang lalu), 4435 program lagi (4397 setahun yang lalu, 4370 dua tahun yang lalu, 4312 tiga tahun yang lalu) berfungsi dengan baik dengan tetapan tambahan dan DLL luaran. 4020 program (3943 setahun yang lalu, 3888 dua tahun yang lalu, 3813 tiga tahun yang lalu) mempunyai masalah kecil yang tidak mengganggu penggunaan fungsi teras aplikasi.
Inovasi utama dalam Wine 10.0:
- ARM64
- Sokongan penuh disediakan untuk seni bina ARM64EC (ARM64 Emulation Compatible), tahap sokongan dalam Wine yang telah mencapai pariti dengan seni bina ARM64. Seni bina ARM64EC direka bentuk untuk memudahkan pemindahan aplikasi yang asalnya ditulis untuk sistem x64_86 ke sistem ARM64, dan membenarkan modul kod x64_86 individu dijalankan dalam persekitaran ARM64 menggunakan emulator.
- Sokongan penuh telah dilaksanakan untuk format fail ARM64X PE, yang membolehkan anda menggabungkan kod untuk seni bina ARM64EC dan ARM64 dalam satu fail boleh laku. Untuk membina Wine dalam format ARM64X, anda perlu memasang LLVM daripada Git (fungsi yang diperlukan akan disertakan dalam keluaran LLVM 20) dan apabila menjalankan skrip "configure", nyatakan pilihan "-enable-archs=arm64ec,aarch64" .
- Antara muka untuk meniru sistem x64 86-bit telah dilaksanakan. Apabila menggunakan ARM64EC, Wain itu sendiri berjalan seperti sedia ada, dan emulasi hanya digunakan pada kod aplikasi x86-64. Pustaka dengan emulator belum lagi disertakan dalam pakej Wine utama, tetapi untuk menjalankan kod x86-64 dalam persekitaran ARM64, anda boleh menggunakan emulator FEX luaran yang dibina dengan sokongan ARM64EC.
- ΠΠ»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ARM64 Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ ΡΡΡΠ°Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ 4ΠΠ, ΠΊΠ°ΠΊ ΡΠΎΠ³ΠΎ ΡΡΠ΅Π±ΡΠ΅Ρ ABI Windows (Π·Π°ΠΏΡΡΠΊ Π² ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡΡ Ρ ΡΠ΄ΡΠ°ΠΌΠΈ Linux, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠΌΠΈ ΡΡΡΠ°Π½ΠΈΡΡ ΠΏΠ°ΠΌΡΡΠΈ 16K ΠΈΠ»ΠΈ 64K ΠΏΠΎΠΊΠ° Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ).
- Subsistem grafik
- Melaksanakan penskalaan yang lebih tepat pada skrin dengan ketumpatan piksel tinggi (DPI Tinggi). Sokongan untuk mod Kesedaran DPI telah disediakan untuk mengatur paparan aplikasi pada skrin dengan ketumpatan piksel yang tinggi, dengan mengambil kira sama ada aplikasi itu menyokong penyesuaian kepada perubahan DPI atau tidak (aplikasi yang tidak mengambil kira DPI diskalakan secara automatik). Pilihan tambahan untuk mengatasi sokongan DPI Tinggi untuk aplikasi individu atau awalan Wain.
- Sokongan untuk spesifikasi Vulkan 1.4 telah ditambahkan pada pemacu untuk API grafik Vulkan (Vulkan 9.0 telah disokong dalam Wine 1.3.272). Menambah sokongan untuk sambungan Vulkan untuk pengekodan dan penyahkodan video.
- Apabila menggunakan bahagian belakang X11, keupayaan untuk memaparkan tetingkap anak Vulkan untuk aplikasi yang menggunakan tetingkap sedemikian untuk memaparkan kandungan 3D telah dilaksanakan (sebelum ini, ciri sedemikian hanya tersedia untuk OpenGL).
- Sokongan untuk mekanisme pemautan fon telah ditambahkan pada pustaka GdiPlus, yang membolehkan anda menggunakan beberapa fon apabila memaparkan teks jika tiada fon yang merangkumi semua aksara yang terdapat dalam teks secara berasingan.
- Wayland
- Π ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°Π½ Π΄ΡΠ°ΠΉΠ²Π΅Ρ winewayland.drv, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Wine Π² ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡΡ Π½Π° Π±Π°Π·Π΅ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° Wayland Π±Π΅Π· ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ XWayland ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² X11. Wine Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π½Π° Wayland Π½Π°ΠΏΡΡΠΌΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΅ΡΠ»ΠΈ XWayland Π½Π΅Π΄ΠΎΡΡΡΠΏΠ΅Π½, Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π·Π°ΠΏΡΡΠΊ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ XWayland ΠΎΡΡΠ°ΡΡΡΡ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ½ΡΠΌ. ΠΠ»Ρ ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Wayland ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ DISPLAY, Π»ΠΈΠ±ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΊΠ»ΡΡ Π² ΡΠ΅Π΅ΡΡΡ, ΡΠΎΠ·Π΄Π°Π² ΡΠ°ΠΉΠ» file.reg: Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\Wine\Drivers] Β«GraphicsΒ»=Β»waylandΒ» ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠ² Π΅Π³ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ: $ WINEPREFIX=/ΠΏΡΡΡ/Π΄ΠΎ/ΠΏΡΠ΅ΡΠΈΠΊΡΠ° wine regedit /ΠΏΡΡΡ/Π΄ΠΎ/file.reg
- Menambahkan sokongan untuk OpenGL dan penampan piksel (pBuffer) pada pemacu winewayland.drv.
- Menyelesaikan isu dengan kedudukan tetingkap timbul dalam persekitaran berasaskan Wayland.
- Apabila menggunakan Wayland, sokongan untuk auto-ulang menekan sambil menahan kekunci dilaksanakan.
- Penyepaduan desktop
- Menambahkan mekanisme emulasi "penyesuaian mod" percubaan yang membolehkan anda meniru menukar mod video tanpa benar-benar menukar tetapan skrin. Keterlihatan menukar resolusi skrin tanpa menukar mod video dicipta dengan mengembangkan dan menskalakan tetingkap.
- Applet Panel Kawalan Desktop baharu (desk.cpl) telah ditambah dengan pelaksanaan antara muka untuk mengurus tetapan paparan (contohnya, anda boleh menukar resolusi maya desktop atau mengkonfigurasi parameter paparan yang dicontohi).
- Menambahkan keupayaan untuk menetapkan semula tetapan skrin kepada nilai lalai jika mustahil untuk memulihkan keadaan selepas ranap proses.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠΎΠΊΠ°Π·Π° ΠΏΠΈΠΊΡΠΎΠ³ΡΠ°ΠΌΠΌ Π² ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΌ Π»ΠΎΡΠΊΠ΅ (Π² Β«HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\ExplorerΒ» ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠΊΠ°Π·Π°ΡΡ Β«NoTrayItemsDisplay=1Β»).
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΎΠ±ΠΎΠ»ΠΎΡΠ΅ΠΊ (Shell launcher) Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ Π΄Π΅ΡΠΊΡΠΎΠΏΠ° (Π² Β«HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\ExplorerΒ» ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠΊΠ°Π·Π°ΡΡ Β«NoDesktop=1Β»).
- Direct3D
- Rendering dengan OpenGL kini memerlukan sokongan untuk GLSL 1.20, serta EXT_framebuffer_object dan ARB_texture_non_power_of_two sambungan. Sokongan untuk bahagian belakang shader ARB lama dan tetapan OffscreenRenderingMode telah dihentikan.
- Untuk Direct3D 9 dan lebih lama, saluran paip grafik fungsi tetap telah ditambahkan (Direct3D lama hanya menyediakan operasi grafik pratakrif yang tidak boleh diubah), dilaksanakan menggunakan bahasa pelorek HLSL dan membenarkan emulasi fungsi tetap apabila memaparkan melalui API Vulkan atau OpenGL.
- Perenderan dengan Vulkan menggunakan sambungan Vulkan untuk menukar keadaan saluran grafik secara dinamik, mengurangkan kegagapan dalam permainan.
- Menambahkan bahagian belakang glsl-vkd3d alternatif untuk peneduh GLSL, menggunakan vkd3d-shader.
- Menyediakan sokongan awal untuk menyusun kesan Direct3D menggunakan vkd3d-shader.
- Pustaka D3DX9 melaksanakan keupayaan untuk menjana tekstur MIP (MipMap) apabila memuatkan tekstur volumetrik. Menambah sokongan untuk format perwakilan warna RGBA 64bpp dan 48bpp RGB dalam imej PNG, serta format X8L8V8U8, A2W10V10U10, A8P8, V16U16 dan Q16W16V16U16.
- Bunyi dan video
- Sebagai alternatif kepada bahagian belakang berasaskan GStreamer, bahagian belakang multimedia baharu telah dilaksanakan, berdasarkan penggunaan FFmpeg dan sesuai untuk menjalankan rangka kerja Yayasan Media. Untuk mendayakan bahagian belakang alternatif, anda harus menentukan "DisableGstByteStreamHandler=1" dalam bahagian pendaftaran "HKCU\Software\Wine\MediaFoundation".
- Pelaksanaan API Yayasan Media telah dipertingkatkan untuk menampung aplikasi yang lebih baik yang bergantung pada komponen penyahmultipleksan dan penyahkodan.
- DirectMusic API telah menambah sokongan untuk memuatkan fail MIDI.
- Peranti input
- Menambah versi awal pemacu Bluetooth.
- Menambah applet Panel Kawalan Kayu Bedik (joy.cpl) dengan pelaksanaan tetapan untuk kayu bedik.
- ΠΠ½Π΅ΡΠ΅Π½Ρ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΡΡΡΡΠΎΠΉΡΡΠ²Π°ΠΌΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΌ (ΡΠ°ΡΠΏΠ°Π΄Ρ, ΠΌΡΡΠΈ), ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠΌΠΈ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» HID (Human Interface Device). ΠΠΎΠ±Π°Π²Π»Π΅Π½ Π΄ΡΠ°ΠΉΠ²Π΅Ρ mouhid.sys Π΄Π»Ρ HID-ΡΡΡΡΠΎΠΉΡΡΠ². Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠΉ ΡΠ°Π·Π±ΠΎΡ ΡΠΎΡΡΠ°Π²Π½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ² Π²Π²ΠΎΠ΄Π° ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½Π° ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ Π½ΠΈΡ Π² Windows-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠ°ΠΊ ΠΎ ΡΠ°Π·Π΄Π΅Π»ΡΠ½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π°Ρ .
- Untuk bahagian belakang X11, sokongan untuk skrin sentuh telah ditambah dan keupayaan untuk menggunakan mod berbilang sentuhan melalui pemprosesan mesej WM_POINTER* (WM_POINTERENTER, WM_POINTERLEAVE, dll.) telah dilaksanakan.
- Meletakkan beberapa struktur dalaman pustaka user32 dalam memori kongsi yang dilaksanakan, yang meningkatkan prestasi dan mengurangkan beban pada Pelayan Wain.
- Winex11 menambah sokongan untuk memproses acara XInput2 berhubung dengan tingkap individu.
- Melaksanakan sokongan yang betul untuk papan kekunci dengan reka letak Dvorak.
- Kernel (antara muka kernel Windows)
- Sokongan tambahan untuk peningkatan keistimewaan proses (proses yang pada mulanya berjalan sebagai pengguna standard boleh diberikan keistimewaan pentadbir). Apabila mencipta proses pelayan (pelayan tindakan msi), serta proses yang memanggil fungsi RtlCreateUserProcess() dan CreateProcessInternal(), token pentadbir terhad didayakan secara lalai.
- Apabila mendapatkan maklumat tentang label cakera, apabila boleh, mengakses perkhidmatan sistem melalui DBus kini digunakan, bukannya cuba mengakses peranti secara terus.
- ΠΠ΄Π½ΠΎΠ½Π°ΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΠΌΠ΅ΠΆΠΏΡΠΎΡΠ΅ΡΡΠ½ΠΎΠ³ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ (IPC) Mailslots ΡΠ΅ΠΏΠ΅ΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π² Wine server, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ Π΄ΠΎΠ±ΠΈΡΡΡΡ ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΡΠ΅ΠΌΠ°Π½ΡΠΈΠΊΠΈ Windows.
- Dilaksanakan menunggu acara port bersiri dalam mod tak segerak.
- Menambah sokongan penuh untuk sambungan pemproses XSTATE dalam konteks benang, membenarkan penggunaan sambungan vektor baharu seperti AVX-512.
- Aplikasi Terbenam
- Enjin pemprosesan data input yang digunakan dalam penterjemah arahan cmd.exe telah ditulis semula. Menambahkan sokongan untuk operasi "||" pada cmd.exe Dan "&&".
- Utiliti findstr telah menambah sokongan untuk ungkapan biasa dan carian tidak sensitif huruf besar-besaran.
- Keupayaan untuk mendaftarkan modul ARM32EC telah ditambahkan pada utiliti regsvr32 dan rundll64.
- Utiliti tambahan: isihan untuk mengisih data input, fc untuk membandingkan fail dan tempat untuk mencari fail.
- Aplikasi wmic melaksanakan mod operasi interaktif.
- Explorer telah menambah sokongan pilihan untuk menu mula dan bar alat. Mendayakan pelancaran explorer.exe dengan hak akses yang dikurangkan.
- Alat Pembangunan
- Menambahkan pilihan "-marm64x" pada winebuild untuk menjana perpustakaan hibrid ARM64X.
- Menambahkan pilihan "-marm64x" pada winegcc untuk membolehkan pembinaan untuk ARM64X.
- Fail yang dijana menggunakan Bahasa Definisi Antara Muka (IDL) menggunakan komponen yang menyokong sepenuhnya pelaksanaan dalam mod tafsiran.
- Sokongan untuk menjana perpustakaan jenis (TypeLib) dalam format lama (SLTG) telah ditambahkan pada pengkompil IDL (Interface Definition Language).
- Utiliti winedump telah menambah sokongan untuk menyimpan lambakan jadual minidump, maklumat pengecualian C++ dan sumber typelib.
- Macam-macam
- Sokongan yang lebih baik untuk protokol pertukaran kunci Diffie-Hellman (DH). Menambah keupayaan untuk mengkonfigurasi dan menerima parameter DH. Pengendali yang dilaksanakan untuk mencipta pasangan kunci awam dan peribadi.
- Penggunaan padding incremental OAEP (Optimal Asymmetric Encryption Padding) bersama-sama dengan algoritma RSA disediakan.
- DirectPlay API menyokong sesi rangkaian.
- Pengendalian keadaan input/output tak segerak yang dipertingkatkan apabila bekerja dalam mod WoW64 (64-bit) Windows-on-Windows), yang membolehkan anda menjalankan 32-bit Windows-aplikasi pada sistem Unix 64-bit.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π·Π°Π³ΡΡΠ·ΠΊΠΈ ODBC-Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ² ΠΊ Π‘Π£ΠΠ, ΡΠΎΠ±ΡΠ°Π½Π½ΡΡ Π΄Π»Ρ Windows.
- Untuk platform ARM, sokongan penuh untuk RPC/COM, C++ RTTI (Run-Time Type Information) dan pengecualian C++ dilaksanakan.
- Dalam masa jalan C, fungsi ANSI melaksanakan sokongan untuk pengekodan UTF-8.
- Keupayaan enjin MSHTML telah diperluaskan. Menambah sokongan untuk prototaip dan pembina objek. Antara muka mengikat objek baharu untuk MSHTML telah ditambahkan pada enjin JavaScript. Fungsi terbina dalam MSHTML telah ditukar kepada objek JavaScript yang sah. Pengumpulan sampah JavaScript yang dipertingkatkan untuk merangkumi semua konteks pelaksanaan skrip dalam urutan. Menambah sokongan untuk objek JavaScript ArrayBuffer dan DataView.
- Sokongan untuk analisis statik menggunakan laporan ujian Clang dan JUnit telah ditambahkan pada sistem penyepaduan berterusan berasaskan Gitlab.
- Pustaka Capstone 5.0.3 dibina ke dalam pakej, yang melaluinya pembongkaran dilaksanakan dalam penyahpepijat WineDb.
- Komponen dikemas kini kepada versi baharu: Vkd3d 1.14, Faudio 24.10, FluidSynth 2.4.0, LDAP 2.5.18, LCMS2 2.16, LibJpeg 9f, LibMPG123 1.32.9, LibPng 1.6.44, LibTiff 4.7.0ml 2, LibXslt 2.12.8 dan Zlib 1.1.42.
Sumber: opennet.ru
