Μετά από ένα χρόνο ανάπτυξης και 29 πειραματικές εκδόσεις, παρουσιάστηκε μια σταθερή έκδοση της ανοιχτής υλοποίησης του Win32 API - Wine 10.0, που ενσωμάτωσε περισσότερες από 6000 αλλαγές. Τα βασικά επιτεύγματα στη νέα έκδοση περιλαμβάνουν πλήρη υποστήριξη για την αρχιτεκτονική ARM64EC, κλιμάκωση σε οθόνες με υψηλή πυκνότητα pixel, συμπερίληψη του προγράμματος οδήγησης Wayland από προεπιλογή, εφαρμογή πάνελ για προσαρμογή της οθόνης και το joystick, ένα εναλλακτικό σύστημα υποστήριξης πολυμέσων βασισμένο σε FFmpeg, Bluetooth πρόγραμμα οδήγησης, υποστήριξη Vulkan 1.4, δυνατότητα εξομοίωσης εναλλαγή λειτουργιών βίντεο.
В Wine подтверждена полноценная работа 5372 программ для Windows (год назад 5336, два года назад 5266, три года назад 5156), ещё 4435 программ (год назад 4397, два года назад 4370, три года назад 4312) прекрасно работают при дополнительных настройках и внешних DLL. У 4020 программ (год назад 3943, два года назад 3888, три года назад 3813) наблюдаются небольшие проблемы в работе, которые не мешают использованию основных функций приложений.
Βασικές καινοτομίες στο Wine 10.0:
- ARM64
- Παρέχεται πλήρης υποστήριξη για την αρχιτεκτονική ARM64EC (ARM64 Emulation Compatible), το επίπεδο υποστήριξης στο Wine για το οποίο έχει φτάσει στο ίδιο επίπεδο με την αρχιτεκτονική ARM64. Η αρχιτεκτονική ARM64EC έχει σχεδιαστεί για να απλοποιεί τη μεταφορά εφαρμογών που γράφτηκαν αρχικά για συστήματα x64_86 σε συστήματα ARM64 και επιτρέπει μεμονωμένες μονάδες κώδικα x64_86 να εκτελούνται στο περιβάλλον ARM64 χρησιμοποιώντας έναν εξομοιωτή.
- Έχει υλοποιηθεί πλήρης υποστήριξη για τη μορφή αρχείου ARM64X PE, η οποία σας επιτρέπει να συνδυάσετε κώδικα για τις αρχιτεκτονικές ARM64EC και ARM64 σε ένα εκτελέσιμο αρχείο. Για να δημιουργήσετε το Wine σε μορφή ARM64X, πρέπει να εγκαταστήσετε το LLVM από το Git (η απαραίτητη λειτουργικότητα θα συμπεριληφθεί στην κυκλοφορία του LLVM 20) και κατά την εκτέλεση του σεναρίου "configure", καθορίστε την επιλογή "-enable-archs=arm64ec,aarch64" .
- Έχει υλοποιηθεί μια διεπαφή για την εξομοίωση συστημάτων 64-bit x86. Όταν χρησιμοποιείτε το ARM64EC, το ίδιο το Wine εκτελείται ως έχει και η εξομοίωση εφαρμόζεται μόνο στον κώδικα εφαρμογής x86-64. Η βιβλιοθήκη με τον εξομοιωτή δεν περιλαμβάνεται ακόμη στο κύριο πακέτο Wine, αλλά για να εκτελέσετε τον κώδικα x86-64 στο περιβάλλον ARM64, μπορείτε να χρησιμοποιήσετε τον εξωτερικό εξομοιωτή FEX που έχει κατασκευαστεί με υποστήριξη ARM64EC.
- Для поддержки ARM64 необходимо использование в системе страниц памяти размером 4КБ, как того требует ABI Windows (запуск в окружениях с ядрами Linux, использующими страницы памяти 16K или 64K пока не поддерживается).
- Υποσύστημα γραφικών
- Εφαρμόστηκε ακριβέστερη κλιμάκωση σε οθόνες με υψηλή πυκνότητα pixel (High-DPI). Έχει παρασχεθεί υποστήριξη για τη λειτουργία DPI Awareness για την οργάνωση της εμφάνισης εφαρμογών σε οθόνες με υψηλή πυκνότητα pixel, λαμβάνοντας υπόψη εάν η εφαρμογή υποστηρίζει προσαρμογή σε αλλαγές DPI ή όχι (οι εφαρμογές που δεν λαμβάνουν υπόψη το DPI κλιμακώνονται αυτόματα). Προστέθηκαν επιλογές για παράκαμψη υποστήριξης υψηλού DPI για μεμονωμένες εφαρμογές ή προθέματα Wine.
- Η υποστήριξη για την προδιαγραφή Vulkan 1.4 έχει προστεθεί στο πρόγραμμα οδήγησης για το API γραφικών Vulkan (το Vulkan 9.0 υποστηρίχτηκε στο Wine 1.3.272). Προστέθηκε υποστήριξη για επεκτάσεις Vulkan για κωδικοποίηση και αποκωδικοποίηση βίντεο.
- Κατά τη χρήση του συστήματος υποστήριξης X11, έχει εφαρμοστεί η δυνατότητα απόδοσης θυγατρικών παραθύρων Vulkan για εφαρμογές που χρησιμοποιούν τέτοια παράθυρα για την εμφάνιση τρισδιάστατου περιεχομένου (παλαιότερα, μια τέτοια δυνατότητα ήταν διαθέσιμη μόνο για το OpenGL).
- Στη βιβλιοθήκη GdiPlus προστέθηκε υποστήριξη για τον μηχανισμό σύνδεσης γραμματοσειρών, η οποία σας επιτρέπει να χρησιμοποιείτε πολλές γραμματοσειρές κατά την εμφάνιση κειμένου, εάν δεν υπάρχουν γραμματοσειρές που να καλύπτουν ξεχωριστά όλους τους χαρακτήρες που βρίσκονται στο κείμενο.
- 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
- Προστέθηκε υποστήριξη για OpenGL και pixel buffer (pBuffer) στο πρόγραμμα οδήγησης winewayland.drv.
- Επιλύθηκαν ζητήματα με την τοποθέτηση αναδυόμενων παραθύρων σε περιβάλλοντα που βασίζονται στο Wayland.
- Όταν χρησιμοποιείτε το Wayland, εφαρμόζεται υποστήριξη για αυτόματη επανάληψη κατά το πάτημα πλήκτρων.
- Ενοποίηση επιφάνειας εργασίας
- Προστέθηκε ένας πειραματικός μηχανισμός εξομοίωσης "modesetting" που σας επιτρέπει να προσομοιώνετε την εναλλαγή λειτουργιών βίντεο χωρίς να αλλάξετε πραγματικά τις ρυθμίσεις οθόνης. Η ορατότητα της αλλαγής ανάλυσης οθόνης χωρίς εναλλαγή της λειτουργίας βίντεο δημιουργείται μέσω της επέκτασης και της κλιμάκωσης των παραθύρων.
- Προστέθηκε μια νέα μικροεφαρμογή του Πίνακα Ελέγχου Επιτραπέζιου υπολογιστή (desk.cpl) με την υλοποίηση μιας διεπαφής για τη διαχείριση ρυθμίσεων οθόνης (για παράδειγμα, μπορείτε να αλλάξετε την εικονική ανάλυση της επιφάνειας εργασίας ή να διαμορφώσετε παραμέτρους προσομοίωσης οθόνης).
- Προστέθηκε η δυνατότητα επαναφοράς των ρυθμίσεων οθόνης στις προεπιλεγμένες τιμές, εάν είναι αδύνατη η επαναφορά της κατάστασης μετά από ένα σφάλμα διεργασίας.
- Добавлена поддержка отключения показа пиктограмм в системном лотке (в «HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer» следует указать «NoTrayItemsDisplay=1»).
- Добавлена поддержка отключения оболочек (Shell launcher) в режиме десктопа (в «HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer» следует указать «NoDesktop=1»).
- Direct3D
- Η απόδοση με το OpenGL απαιτεί πλέον υποστήριξη για το GLSL 1.20, καθώς και τις επεκτάσεις EXT_framebuffer_object και ARB_texture_non_power_of_two. Η υποστήριξη για το παλιό backend του shader ARB και τη ρύθμιση OffscreenRenderingMode έχει διακοπεί.
- Για το Direct3D 9 και παλαιότερες, έχει προστεθεί μια διοχέτευση γραφικών σταθερής λειτουργίας (το παλαιότερο Direct3D παρείχε μόνο προκαθορισμένες λειτουργίες γραφικών που δεν μπορούσαν να αλλάξουν), υλοποιήθηκε με χρήση της γλώσσας shader HLSL και επιτρέποντας την εξομοίωση σταθερών λειτουργιών κατά την απόδοση μέσω του Vulkan ή του OpenGL API.
- Η απόδοση με το Vulkan χρησιμοποιεί επεκτάσεις Vulkan για να αλλάξει δυναμικά την κατάσταση του αγωγού γραφικών, μειώνοντας τον τραυλισμό στα παιχνίδια.
- Προστέθηκε εναλλακτικό backend glsl-vkd3d για shaders GLSL, χρησιμοποιώντας vkd3d-shader.
- Παρείχε αρχική υποστήριξη για τη μεταγλώττιση εφέ Direct3D με χρήση vkd3d-shader.
- Η βιβλιοθήκη D3DX9 υλοποιεί τη δυνατότητα δημιουργίας υφών MIP (MipMap) κατά τη φόρτωση ογκομετρικών υφών. Προστέθηκε υποστήριξη για μορφές χρωματικής αναπαράστασης RGBA 64 bpp και 48 bpp RGB σε εικόνες PNG, καθώς και μορφές X8L8V8U8, A2W10V10U10, A8P8, V16U16 και Q16W16V16U16.
- Ήχος και βίντεο
- Ως εναλλακτική λύση στο backend που βασίζεται στο GStreamer, υλοποιείται ένα νέο backend πολυμέσων, που βασίζεται στη χρήση του FFmpeg και είναι κατάλληλο για τη λειτουργία του πλαισίου του Media Foundation. Για να ενεργοποιήσετε ένα εναλλακτικό backend, θα πρέπει να καθορίσετε το "DisableGstByteStreamHandler=1" στην ενότητα μητρώου "HKCU\Software\Wine\MediaFoundation".
- Η εφαρμογή του Media Foundation API έχει βελτιωθεί για να εξυπηρετεί καλύτερα τις εφαρμογές που εξαρτώνται από τα στοιχεία αποπολυπλεξίας και αποκωδικοποίησης.
- Προστέθηκε υποστήριξη για τη φόρτωση αρχείων MIDI στο DirectMusic API.
- Συσκευές εισόδου
- Προστέθηκε η αρχική έκδοση του προγράμματος οδήγησης Bluetooth.
- Προστέθηκε η μικροεφαρμογή Joystick Control Panel (joy.cpl) με υλοποίηση ρυθμίσεων για το joystick.
- Внесены улучшения, связанные с устройствами управления указателем (тачпады, мыши), использующими протокол HID (Human Interface Device). Добавлен драйвер mouhid.sys для HID-устройств. Реализован корректный разбор составных устройств ввода и обеспечена передача информации о них в Windows-приложения, как о раздельных устройствах.
- Για το backend X11, έχει προστεθεί υποστήριξη για οθόνες αφής και έχει εφαρμοστεί η δυνατότητα χρήσης λειτουργίας πολλαπλής αφής μέσω επεξεργασίας μηνυμάτων WM_POINTER* (WM_POINTERENTER, WM_POINTERLEAVE, κ.λπ.).
- Υλοποιήθηκε η τοποθέτηση κάποιων εσωτερικών δομών της βιβλιοθήκης user32 σε κοινόχρηστη μνήμη, η οποία αύξησε την απόδοση και μείωσε το φόρτο του Wine Server.
- Το Winex11 πρόσθεσε υποστήριξη για την επεξεργασία συμβάντων XInput2 σε σχέση με μεμονωμένα παράθυρα.
- Εφαρμόστηκε σωστή υποστήριξη για πληκτρολόγια με διάταξη Dvorak.
- Πυρήνας (διεπαφές πυρήνα Windows)
- Προστέθηκε υποστήριξη για την κλιμάκωση των δικαιωμάτων διεργασίας (μια διαδικασία που εκτελείται αρχικά ως τυπικός χρήστης μπορεί να λάβει δικαιώματα διαχειριστή). Κατά τη δημιουργία διεργασιών διακομιστή (διακομιστής ενεργειών msi), καθώς και διεργασιών που καλούν τις συναρτήσεις RtlCreateUserProcess() και CreateProcessInternal(), ένα περιορισμένο διακριτικό διαχειριστή είναι ενεργοποιημένο από προεπιλογή.
- Κατά τη λήψη πληροφοριών σχετικά με τις ετικέτες των δίσκων, όποτε είναι δυνατόν, χρησιμοποιείται πλέον η πρόσβαση σε υπηρεσίες συστήματος μέσω DBus, αντί να επιχειρείται απευθείας πρόσβαση στη συσκευή.
- Однонаправленный механизм межпроцессного взаимодействия (IPC) Mailslots теперь реализован непосредственно в Wine server, что позволило добиться полной поддержки семантики Windows.
- Εφαρμόστηκε αναμονή για συμβάντα σειριακής θύρας σε ασύγχρονη λειτουργία.
- Προστέθηκε πλήρης υποστήριξη για επεκτάσεις επεξεργαστή XSTATE σε περιβάλλοντα νημάτων, επιτρέποντας τη χρήση νέων διανυσματικών επεκτάσεων όπως το AVX-512.
- Ενσωματωμένες εφαρμογές
- Η μηχανή επεξεργασίας δεδομένων εισόδου που χρησιμοποιείται στον διερμηνέα εντολών cmd.exe έχει ξαναγραφτεί. Προστέθηκε υποστήριξη για λειτουργίες "||" στο cmd.exe Και "&&".
- Το βοηθητικό πρόγραμμα findstr έχει προσθέσει υποστήριξη για κανονικές εκφράσεις και αναζητήσεις χωρίς διάκριση πεζών-κεφαλαίων.
- Η δυνατότητα εγγραφής μονάδων ARM32EC έχει προστεθεί στα βοηθητικά προγράμματα regsvr32 και rundll64.
- Προστέθηκαν βοηθητικά προγράμματα: ταξινόμηση για ταξινόμηση δεδομένων εισόδου, fc για σύγκριση αρχείων και πού για αναζήτηση αρχείων.
- Η εφαρμογή wmic εφαρμόζει έναν διαδραστικό τρόπο λειτουργίας.
- Ο Explorer έχει προσθέσει προαιρετική υποστήριξη για το μενού έναρξης και τη γραμμή εργαλείων. Ενεργοποιήθηκε η εκκίνηση του explorer.exe με μειωμένα δικαιώματα πρόσβασης.
- Εργαλεία ανάπτυξης
- Προστέθηκε η επιλογή "-marm64x" στο winebuild για τη δημιουργία υβριδικών βιβλιοθηκών ARM64X.
- Προστέθηκε η επιλογή "-marm64x" στο winegcc για να επιτρέπεται η κατασκευή για ARM64X.
- Τα αρχεία που δημιουργούνται χρησιμοποιώντας τη γλώσσα ορισμού διεπαφής (IDL) χρησιμοποιούν στοιχεία που υποστηρίζουν πλήρως την εκτέλεση σε λειτουργία ερμηνείας.
- Η υποστήριξη για τη δημιουργία βιβλιοθηκών τύπων (TypeLib) στην παλιά μορφή (SLTG) έχει προστεθεί στον μεταγλωττιστή IDL (Γλώσσα ορισμού διεπαφής).
- Το βοηθητικό πρόγραμμα winedump έχει προσθέσει υποστήριξη για αποθήκευση αποτυπώσεων πινάκων minidump, πληροφοριών εξαιρέσεων C++ και πόρων typelib.
- Ποικίλος
- Βελτιωμένη υποστήριξη για το πρωτόκολλο ανταλλαγής κλειδιών Diffie-Hellman (DH). Προστέθηκε η δυνατότητα διαμόρφωσης και λήψης παραμέτρων DH. Εφαρμοσμένοι χειριστές για τη δημιουργία ζευγών δημόσιων και ιδιωτικών κλειδιών.
- Παρέχεται η χρήση αυξητικής συμπλήρωσης OAEP (Optimal Asymmetric Encryption Padding) μαζί με τον αλγόριθμο RSA.
- Το DirectPlay API υποστηρίζει συνεδρίες δικτύου.
- Βελτιωμένος χειρισμός ασύγχρονων καταστάσεων εισόδου/εξόδου κατά την εργασία σε λειτουργία WoW64 (64-bit) Windows-επί-Windows), το οποίο σας επιτρέπει να εκτελέσετε 32-bit Windows-εφαρμογές σε συστήματα Unix 64-bit.
- Добавлена поддержка загрузки ODBC-драйверов к СУБД, собранных для Windows.
- Για την πλατφόρμα ARM, υλοποιείται πλήρης υποστήριξη για εξαιρέσεις RPC/COM, C++ RTTI (Run-Time Type Information) και C++.
- Στο χρόνο εκτέλεσης C, οι συναρτήσεις ANSI υλοποιούν υποστήριξη για κωδικοποίηση UTF-8.
- Οι δυνατότητες της μηχανής MSHTML έχουν επεκταθεί. Προστέθηκε υποστήριξη για πρωτότυπα και κατασκευαστές αντικειμένων. Μια νέα διεπαφή δέσμευσης αντικειμένων για MSHTML προστέθηκε στη μηχανή JavaScript. Οι ενσωματωμένες συναρτήσεις MSHTML έχουν μετατραπεί σε έγκυρα αντικείμενα JavaScript. Βελτιωμένη συλλογή σκουπιδιών JavaScript για την κάλυψη όλων των πλαισίων εκτέλεσης σεναρίου σε ένα νήμα. Προστέθηκε υποστήριξη για αντικείμενα ArrayBuffer και DataView JavaScript.
- Υποστήριξη για στατική ανάλυση χρησιμοποιώντας αναφορές δοκιμών Clang και JUnit έχει προστεθεί στο σύστημα συνεχούς ενοποίησης που βασίζεται στο Gitlab.
- Η βιβλιοθήκη Capstone 5.0.3 είναι ενσωματωμένη στο πακέτο, μέσω της οποίας υλοποιείται η αποσυναρμολόγηση στον εντοπισμό σφαλμάτων WineDb.
- Στοιχεία που ενημερώθηκαν σε νέες εκδόσεις: Vkd3d 1.14, Faudio 24.10, FluidSynth 2.4.0, LDAP 2.5.18, LCMS2 2.16, LibJpeg 9f, LibMPG123 1.32.9, LibP1.6.44, LibPng, LibPng 4.7.0. 2, LibXslt 2.12.8 και Zlib 1.1.42.
Πηγή: opennet.ru
