Σταθερή κυκλοφορία του Wine 8.0

Μετά από ένα χρόνο ανάπτυξης και 28 πειραματικές εκδόσεις, παρουσιάστηκε μια σταθερή έκδοση της ανοιχτής υλοποίησης του Win32 API - Wine 8.0, που ενσωμάτωσε περισσότερες από 8600 αλλαγές. Το βασικό επίτευγμα στη νέα έκδοση σηματοδοτεί την ολοκλήρωση των εργασιών για τη μετάφραση των μονάδων Wine στη μορφή.

Η Wine επιβεβαίωσε την πλήρη λειτουργία 5266 (πριν ένα χρόνο 5156, πριν δύο χρόνια 5049) προγράμματα για Windows, άλλα 4370 (πριν ένα χρόνο 4312, πριν δύο χρόνια 4227) λειτουργούν άψογα με πρόσθετες ρυθμίσεις και εξωτερικά DLL. 3888 προγράμματα (3813 πριν από ένα χρόνο, 3703 πριν από δύο χρόνια) έχουν μικρά λειτουργικά προβλήματα που δεν παρεμβαίνουν στη χρήση των κύριων λειτουργιών των εφαρμογών.

Βασικές καινοτομίες στο Wine 8.0:

  • Ενότητες σε μορφή PE
    • Μετά από τέσσερα χρόνια εργασίας, ολοκληρώθηκε η μετατροπή όλων των βιβλιοθηκών DLL για χρήση της μορφής εκτελέσιμου αρχείου PE (Portable Executable, που χρησιμοποιείται στα Windows). Η χρήση του PE επιτρέπει τη χρήση προγραμμάτων εντοπισμού σφαλμάτων που είναι διαθέσιμα για Windows και επιλύει προβλήματα με την υποστήριξη διαφόρων σχημάτων προστασίας αντιγραφής που επαληθεύουν την ταυτότητα των μονάδων συστήματος στο δίσκο και στη μνήμη. Επιλύθηκαν επίσης ζητήματα με την εκτέλεση εφαρμογών 32 bit σε κεντρικούς υπολογιστές 64 bit και εφαρμογές x86 σε συστήματα ARM. Μεταξύ των υπόλοιπων εργασιών που σχεδιάζεται να επιλυθούν σε επόμενες πειραματικές εκδόσεις του Wine 8.x, υπάρχει μια μετάβαση των μονάδων στη διεπαφή κλήσεων συστήματος NT αντί για απευθείας κλήσεις μεταξύ των επιπέδων PE και Unix.
    • Έχει υλοποιηθεί ένας ειδικός διαχειριστής κλήσεων συστήματος, ο οποίος χρησιμοποιείται για τη μετάφραση κλήσεων από βιβλιοθήκες PE σε βιβλιοθήκες Unix, προκειμένου να μειωθεί η επιβάρυνση της εκτέλεσης μιας πλήρους κλήσης συστήματος NT. Για παράδειγμα, η βελτιστοποίηση κατέστησε δυνατή τη μείωση της υποβάθμισης της απόδοσης κατά τη χρήση των βιβλιοθηκών OpenGL και Vulkan.
    • Οι εφαρμογές Winelib διατηρούν τη δυνατότητα χρήσης μικτών συγκροτημάτων Windows/Unix βιβλιοθηκών ELF (.dll.so), αλλά τέτοιες εφαρμογές χωρίς βιβλιοθήκες 32 bit δεν θα υποστηρίζουν λειτουργίες που είναι διαθέσιμες μέσω της διεπαφής κλήσης συστήματος NT, όπως το WoW64.
  • WoW64
    • Τα επίπεδα WoW64 (64-bit Windows-on-Windows) παρέχονται για όλες τις βιβλιοθήκες Unix, επιτρέποντας σε μονάδες 32-bit σε μορφή PE να έχουν πρόσβαση σε βιβλιοθήκες Unix 64-bit, οι οποίες, αφού απαλλαγούν από άμεσες κλήσεις PE/Unix, θα το κάνουν είναι δυνατή η εκτέλεση εφαρμογών Windows 32 bit χωρίς εγκατάσταση βιβλιοθηκών Unix 32 bit.
    • Ελλείψει ενός Wine loader 32 bit, οι εφαρμογές 32 bit μπορούν να εκτελούνται στη νέα πειραματική λειτουργία WoW64 που μοιάζει με Windows, στην οποία ο κώδικας 32 bit εκτελείται μέσα σε μια διαδικασία 64 bit. Η λειτουργία είναι ενεργοποιημένη κατά τη δημιουργία του Wine με την επιλογή «--enable-archs».
  • Υποσύστημα γραφικών
    • Η προεπιλεγμένη διαμόρφωση χρησιμοποιεί το φωτεινό θέμα ("Light"). Μπορείτε να αλλάξετε το θέμα χρησιμοποιώντας το βοηθητικό πρόγραμμα WineCfg.
      Σταθερή κυκλοφορία του Wine 8.0
    • Τα προγράμματα οδήγησης γραφικών (winex11.drv, winemac.drv, wineandroid.drv) μετατρέπονται για να εκτελούν κλήσεις συστήματος σε επίπεδο Unix και έχουν πρόσβαση στα προγράμματα οδήγησης μέσω της βιβλιοθήκης Win32u.
      Σταθερή κυκλοφορία του Wine 8.0
    • Έχει εφαρμοστεί η αρχιτεκτονική του επεξεργαστή εκτύπωσης, η οποία χρησιμοποιείται για την εξάλειψη των άμεσων κλήσεων μεταξύ των επιπέδων PE και Unix στο πρόγραμμα οδήγησης του εκτυπωτή.
    • Το Direct2D API υποστηρίζει πλέον εφέ.
    • Το Direct2D API έχει προσθέσει τη δυνατότητα εγγραφής και αναπαραγωγής λιστών εντολών.
    • Το πρόγραμμα οδήγησης για το API γραφικών Vulkan έχει προσθέσει υποστήριξη για την προδιαγραφή Vulkan 1.3.237 (το Vulkan 7 υποστηρίχτηκε στο Wine 1.2).
  • Direct3D
    • Προστέθηκε ένας νέος μεταγλωττιστής shader για τη HLSL (High-Level Shader Language), που υλοποιήθηκε με βάση τη βιβλιοθήκη vkd3d-shader. Επίσης, με βάση το vkd3d-shader, έχει προετοιμαστεί ένας αποσυναρμολογητής HLSL και ένας προεπεξεργαστής HLSL.
    • Η διεπαφή Thread Pump που παρουσιάστηκε στο D3DX 10 έχει υλοποιηθεί.
    • Τα εφέ Direct3D 10 προσθέτουν υποστήριξη για πολλές νέες εκφράσεις.
    • Η βιβλιοθήκη υποστήριξης για το D3DX 9 υποστηρίζει πλέον την προβολή υφής Cubemap.
  • Ήχος και βίντεο
    • Με βάση το πλαίσιο GStreamer, έχει υλοποιηθεί υποστήριξη για φίλτρα για αποκωδικοποίηση ήχου σε μορφή MPEG-1.
    • Προστέθηκε ένα φίλτρο για την ανάγνωση ροής ήχου και βίντεο σε μορφή ASF (Advanced Systems Format).
    • Το ενδιάμεσο επίπεδο βιβλιοθήκης OpenAL32.dll έχει καταργηθεί, αντί του οποίου χρησιμοποιείται πλέον η εγγενής βιβλιοθήκη των Windows OpenAL32.dll, που παρέχεται με εφαρμογές.
    • Το Media Foundation Player έχει βελτιώσει τον εντοπισμό τύπων περιεχομένου.
    • Έχει εφαρμοστεί η δυνατότητα ελέγχου του ρυθμού μεταφοράς δεδομένων (Rate control).
    • Βελτιωμένη υποστήριξη για τον προεπιλεγμένο μίκτη και παρουσιαστή στο Βελτιωμένο Video Renderer (EVR).
    • Προστέθηκε η αρχική υλοποίηση του Writer Encoding API.
    • Βελτιωμένη υποστήριξη φορτωτή τοπολογίας.
  • Συσκευές εισόδου
    • Σημαντικά βελτιωμένη υποστήριξη για θερμή πρίζα ελεγκτών.
    • Προτείνεται μια βελτιωμένη εφαρμογή του κώδικα για τον προσδιορισμό των τιμονιών του παιχνιδιού, που έχει δημιουργηθεί με βάση τη βιβλιοθήκη SDL.
    • Βελτιωμένη υποστήριξη για το εφέ ανατροφοδότησης Force κατά τη χρήση τροχών παιχνιδιών.
    • Εφαρμόστηκε η δυνατότητα ελέγχου αριστερών και δεξιών κινητήρων δόνησης χρησιμοποιώντας την προδιαγραφή HID Haptic.
    • Άλλαξε η σχεδίαση του πίνακα ελέγχου του joystick.
    • Η υποστήριξη για τους ελεγκτές Sony DualShock και DualSense παρέχεται μέσω της χρήσης του backend hidraw.
    • Η μονάδα WinRT Windows.Gaming.Input προτείνεται με την υλοποίηση μιας διεπαφής λογισμικού για πρόσβαση σε χειριστήρια παιχνιδιών, χειριστήρια και τροχούς παιχνιδιών. Για το νέο API, μεταξύ άλλων, υλοποιείται υποστήριξη για ειδοποίηση θερμής πρίζας συσκευών, εφέ αφής και δόνησης.
  • Διεθνοποίηση
    • Εξασφαλίζεται η δημιουργία της σωστής βάσης δεδομένων τοπικών ρυθμίσεων στη μορφή locale.nls από το αποθετήριο Unicode CLDR (Unicode Common Locale Data Repository).
    • Οι συναρτήσεις σύγκρισης συμβολοσειρών Unicode έχουν μετακινηθεί για να χρησιμοποιούν τη βάση δεδομένων και τον αλγόριθμο Windows Sortkey αντί για τον αλγόριθμο Unicode Collation, φέρνοντας τη συμπεριφορά πιο κοντά στα Windows.
    • Οι περισσότερες δυνατότητες έχουν προσθέσει υποστήριξη για ανώτερα εύρη κωδικών Unicode (επίπεδα).
    • Είναι δυνατό να χρησιμοποιηθεί το UTF-8 ως κωδικοποίηση ANSI.
    • Οι πίνακες χαρακτήρων έχουν ενημερωθεί στην προδιαγραφή Unicode 15.0.0.
  • Κείμενο και γραμματοσειρές
    • Η σύνδεση γραμματοσειρών έχει ενεργοποιηθεί για τις περισσότερες γραμματοσειρές συστήματος, επιλύοντας το πρόβλημα της έλλειψης γλυφών σε συστήματα με κινεζικές, κορεατικές και ιαπωνικές τοπικές ρυθμίσεις.
    • Επανασχεδιασμένη εναλλακτική εναλλακτική γραμματοσειρά στο DirectWrite.
  • Πυρήνας (Διεπαφές πυρήνα των Windows)
    • Έχει υλοποιηθεί η βάση δεδομένων ApiSetSchema, η οποία αντικατέστησε τις μονάδες api-ms-* και μείωσε την κατανάλωση χώρου στο δίσκο και τις διευθύνσεις.
    • Τα χαρακτηριστικά του αρχείου DOS αποθηκεύονται στο δίσκο σε μορφή συμβατή με Samba χρησιμοποιώντας εκτεταμένα χαρακτηριστικά FS.
  • Δυνατότητες δικτύωσης
    • Προστέθηκε υποστήριξη για το OCSP (Online Certificate Status Protocol), που χρησιμοποιείται για τον έλεγχο των ανακληθέντων πιστοποιητικών.
    • Η γκάμα των δυνατοτήτων EcmaScript που είναι διαθέσιμες στη λειτουργία συμμόρφωσης με τα πρότυπα JavaScript έχει επεκταθεί.
    • Εφάρμοσε έναν συλλέκτη σκουπιδιών για JavaScript.
    • Το πακέτο κινητήρα Gecko περιλαμβάνει λειτουργίες για άτομα με αναπηρία.
    • Το MSHTML προσθέτει υποστήριξη για το Web Storage API, το αντικείμενο Performance και πρόσθετα αντικείμενα για χειρισμό συμβάντων.
  • Ενσωματωμένες εφαρμογές
    • Όλες οι ενσωματωμένες εφαρμογές έχουν μετατραπεί για να χρησιμοποιούν τη βιβλιοθήκη Common Controls 6, με υποστήριξη για θέματα σχεδίασης και απόδοση λαμβάνοντας υπόψη οθόνες με υψηλή πυκνότητα pixel.
    • Βελτιωμένες δυνατότητες για τον εντοπισμό σφαλμάτων των νημάτων στο Wine Debugger (winedbg).
    • Τα βοηθητικά προγράμματα μητρώου (REGEDIT και REG) υποστηρίζουν πλέον τον τύπο QWORD.
    • Το Σημειωματάριο έχει προσθέσει μια γραμμή κατάστασης με πληροφορίες σχετικά με τη θέση του δρομέα και μια λειτουργία Μετάβασης γραμμής για μετάβαση σε έναν καθορισμένο αριθμό γραμμής
    • Η ενσωματωμένη κονσόλα παρέχει έξοδο δεδομένων στην κωδικοσελίδα OEM.
    • Η εντολή 'query' έχει προστεθεί στο βοηθητικό πρόγραμμα sc.exe (Service Control).
  • Σύστημα συναρμολόγησης
    • Παρέχεται η δυνατότητα δημιουργίας εκτελέσιμων αρχείων σε μορφή PE για διάφορες αρχιτεκτονικές (για παράδειγμα, '—enable-archs=i386,x86_64').
    • Σε όλες τις πλατφόρμες με τον τύπο μεγάλου μήκους 32 bit, οι τύποι δεδομένων που ορίζονται ως long στα Windows επαναπροσδιορίζονται πλέον ως "long" αντί για "int" στο Wine. Στο Winelib, αυτή η συμπεριφορά μπορεί να απενεργοποιηθεί μέσω του ορισμού WINE_NO_LONG_TYPES.
    • Προστέθηκε η δυνατότητα δημιουργίας βιβλιοθηκών χωρίς τη χρήση dlltool (ενεργοποιήθηκε ορίζοντας την επιλογή «--without-dlltool» στο winebuild).
    • Για να βελτιώσει την αποτελεσματικότητα φόρτωσης και να μειώσει το μέγεθος των βιβλιοθηκών χωρίς κώδικα και μόνο με πόρους, το winegcc εφαρμόζει την επιλογή «--μόνο δεδομένων».
  • Ποικίλος
    • Ενημερωμένες εκδόσεις των ενσωματωμένων βιβλιοθηκών Faudio 22.11, LCMS2 2.14, LibJPEG 9e, LibMPG123 1.31.1, LibPng 1.6.39, LibTiff 4.4.0, LibXml2 2.10.3, 1.1.37.
    • Η μηχανή Wine Mono με την εφαρμογή της πλατφόρμας .NET ενημερώθηκε για να κυκλοφορήσει την έκδοση 7.4.
    • Έχει υλοποιηθεί υποστήριξη για κρυπτογράφηση με βάση τον αλγόριθμο RSA και τις ψηφιακές υπογραφές RSA-PSS.
    • Προστέθηκε η αρχική έκδοση του UI Automation API.
    • Το δέντρο προέλευσης περιλαμβάνει τις βιβλιοθήκες LDAP και vkd3d, οι οποίες έχουν μεταγλωττιστεί σε μορφή PE, εξαλείφοντας την ανάγκη παροχής συγκροτημάτων Unix αυτών των βιβλιοθηκών.
    • Η βιβλιοθήκη OpenAL έχει διακοπεί.

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο