Έκδοση πυρήνα Linux 5.19

Μετά από δύο μήνες ανάπτυξης, ο Linus Torvalds παρουσίασε την κυκλοφορία του πυρήνα Linux 5.19. Μεταξύ των πιο αξιοσημείωτων αλλαγών: υποστήριξη για την αρχιτεκτονική του επεξεργαστή LoongArch, ενσωμάτωση ενημερώσεων κώδικα "BIG TCP", λειτουργία κατ' απαίτηση στο fscache, αφαίρεση κώδικα για υποστήριξη της μορφής a.out, δυνατότητα χρήσης ZSTD για συμπίεση υλικολογισμικού, διεπαφή για διαχείριση απομάκρυνσης μνήμης από το χώρο χρήστη, αύξηση της αξιοπιστίας και της απόδοσης της γεννήτριας ψευδοτυχαίων αριθμών, υποστήριξη για Intel IFS (Σάρωση εντός πεδίου), AMD SEV-SNP (Ασφαλής ένθετη σελιδοποίηση), Intel TDX (Επεκτάσεις αξιόπιστου τομέα) και ARM Επεκτάσεις SME (Scalable Matrix Extension).

Στην ανακοίνωση, ο Linus είπε ότι πιθανότατα η επόμενη έκδοση του πυρήνα θα έχει τον αριθμό 6.0, καθώς ο κλάδος 5.x έχει συγκεντρώσει αρκετές εκδόσεις για να αλλάξει τον πρώτο αριθμό στον αριθμό έκδοσης. Η αλλαγή αρίθμησης πραγματοποιείται για αισθητικούς λόγους και είναι ένα επίσημο βήμα που ανακουφίζει από την ταλαιπωρία λόγω της συσσώρευσης μεγάλου αριθμού θεμάτων στη σειρά.

Ο Linus ανέφερε επίσης ότι χρησιμοποίησε ένα φορητό υπολογιστή Apple βασισμένο στην αρχιτεκτονική ARM64 (Apple Silicon) με περιβάλλον Linux που βασίζεται στη διανομή Asahi Linux για τη δημιουργία της κυκλοφορίας. Δεν είναι ο κύριος σταθμός εργασίας του Linus, αλλά χρησιμοποίησε την πλατφόρμα για να δοκιμάσει την καταλληλότητά της για εργασία πυρήνα και να διασφαλίσει ότι θα μπορούσε να παράγει εκδόσεις πυρήνα ενώ ταξιδεύει με ένα ελαφρύ φορητό υπολογιστή στο χέρι. Προηγουμένως, πριν από πολλά χρόνια, ο Linus είχε εμπειρία στη χρήση εξοπλισμού της Apple για ανάπτυξη - κάποτε χρησιμοποίησε έναν υπολογιστή βασισμένο στην CPU ppc970 και έναν φορητό υπολογιστή Macbook Air.

Η νέα έκδοση περιλαμβάνει 16401 επιδιορθώσεις από 2190 προγραμματιστές (στην τελευταία έκδοση υπήρχαν 16206 διορθώσεις από 2127 προγραμματιστές), το μέγεθος της ενημέρωσης κώδικα είναι 90 MB (οι αλλαγές επηρέασαν 13847 αρχεία, προστέθηκαν 1149456 γραμμές κώδικα, διαγράφηκαν 349177 γραμμές). Περίπου το 39% όλων των αλλαγών που εισάγονται στο 5.19 σχετίζονται με προγράμματα οδήγησης συσκευών, περίπου το 21% των αλλαγών σχετίζονται με την ενημέρωση κώδικα ειδικού για αρχιτεκτονικές υλικού, το 11% σχετίζονται με τη στοίβα δικτύου, το 4% σχετίζονται με συστήματα αρχείων και το 3% σχετίζονται με εσωτερικά υποσυστήματα πυρήνα.

Βασικές καινοτομίες στον πυρήνα 5.19:

  • Υποσύστημα δίσκου, I/O και συστήματα αρχείων
    • Το σύστημα αρχείων EROFS (Enhanced Read-Only File System), που προορίζεται για χρήση σε κατατμήσεις μόνο για ανάγνωση, έχει μετατραπεί ώστε να χρησιμοποιεί το υποσύστημα fscache, το οποίο παρέχει προσωρινή αποθήκευση δεδομένων. Η αλλαγή βελτίωσε σημαντικά την απόδοση των συστημάτων στα οποία ένας μεγάλος αριθμός κοντέινερ εκτοξεύεται από μια εικόνα που βασίζεται στο EROFS.
    • Στο υποσύστημα fscache προστέθηκε μια λειτουργία ανάγνωσης κατ' απαίτηση, η οποία χρησιμοποιείται για τη βελτιστοποίηση του EROFS. Η νέα λειτουργία σάς επιτρέπει να οργανώσετε την προσωρινή αποθήκευση ανάγνωσης από εικόνες FS που βρίσκονται στο τοπικό σύστημα. Σε αντίθεση με τον αρχικά διαθέσιμο τρόπο λειτουργίας, ο οποίος επικεντρώνεται στην προσωρινή αποθήκευση στο τοπικό σύστημα αρχείων δεδομένων που μεταφέρονται μέσω συστημάτων αρχείων δικτύου, η λειτουργία "κατ' απαίτηση" αναθέτει τις λειτουργίες ανάκτησης δεδομένων και εγγραφής τους στην κρυφή μνήμη σε ξεχωριστό διαδικασία παρασκηνίου που εκτελείται στο χώρο χρήστη.
    • Το XFS παρέχει τη δυνατότητα αποθήκευσης δισεκατομμυρίων εκτεταμένων χαρακτηριστικών σε έναν i-node. Ο μέγιστος αριθμός επεκτάσεων για ένα αρχείο έχει αυξηθεί από 4 δισεκατομμύρια σε 247. Έχει εφαρμοστεί μια λειτουργία για την ατομική ενημέρωση πολλών εκτεταμένων χαρακτηριστικών αρχείων ταυτόχρονα.
    • Το σύστημα αρχείων Btrfs έχει βελτιστοποιήσει την εργασία με κλειδαριές, γεγονός που επέτρεψε περίπου 7% αύξηση στην απόδοση κατά την απευθείας εγγραφή σε λειτουργία nowait. Η απόδοση των λειτουργιών στη λειτουργία NOCOW (χωρίς αντιγραφή σε εγγραφή) αυξάνεται κατά περίπου 3%. Το φορτίο στην προσωρινή μνήμη σελίδας κατά την εκτέλεση της εντολής "αποστολή" έχει μειωθεί. Το ελάχιστο μέγεθος υποσελίδων έχει μειωθεί από 64K σε 4K (μπορούν να χρησιμοποιηθούν υποσελίδες μικρότερες από τις σελίδες του πυρήνα). Έχει γίνει μια μετάβαση από τη χρήση ενός δέντρου ρίζας στον αλγόριθμο XArrays.
    • Έχει προστεθεί μια λειτουργία στον διακομιστή NFS για την επέκταση της διατήρησης της κατάστασης κλειδώματος που έχει οριστεί από έναν πελάτη που έχει σταματήσει να ανταποκρίνεται σε αιτήματα. Η νέα λειτουργία σάς επιτρέπει να καθυστερήσετε την εκκαθάριση της κλειδαριάς για έως και μία ημέρα, εκτός εάν κάποιος άλλος πελάτης ζητήσει ένα ανταγωνιστικό κλείδωμα. Στην κανονική λειτουργία, το μπλοκάρισμα ακυρώνεται 90 δευτερόλεπτα αφού ο πελάτης σταματήσει να ανταποκρίνεται.
    • Το υποσύστημα παρακολούθησης συμβάντων στο fanotify FS εφαρμόζει τη σημαία FAN_MARK_EVICTABLE, με την οποία μπορείτε να απενεργοποιήσετε το καρφίτσωμα των στοχευόμενων i-nodes στην κρυφή μνήμη, για παράδειγμα, για να αγνοήσετε υποδιακλαδώσεις χωρίς να καρφιτσώσετε τα μέρη τους στη μνήμη cache.
    • Το πρόγραμμα οδήγησης για το σύστημα αρχείων FAT32 έχει προσθέσει υποστήριξη για τη λήψη πληροφοριών σχετικά με το χρόνο δημιουργίας του αρχείου μέσω της κλήσης συστήματος statx με την εφαρμογή μιας πιο αποτελεσματικής και λειτουργικής έκδοσης της stat(), η οποία επιστρέφει εκτεταμένες πληροφορίες για το αρχείο.
    • Έχουν γίνει σημαντικές βελτιστοποιήσεις στο πρόγραμμα οδήγησης exFAT για να επιτρέπεται η ταυτόχρονη εκκαθάριση μιας ομάδας τομέων όταν είναι ενεργή η λειτουργία «dirsync», αντί για διαδοχική εκκαθάριση ανά τομέα. Με τη μείωση του αριθμού των αιτημάτων μπλοκ μετά τη βελτιστοποίηση, η απόδοση της δημιουργίας μεγάλου αριθμού καταλόγων στην κάρτα SD αυξήθηκε κατά περισσότερο από 73-85%, ανάλογα με το μέγεθος του συμπλέγματος.
    • Ο πυρήνας περιλαμβάνει την πρώτη διορθωτική ενημέρωση του προγράμματος οδήγησης ntfs3. Από τότε που το ntfs3 συμπεριλήφθηκε στον πυρήνα 5.15 τον περασμένο Οκτώβριο, το πρόγραμμα οδήγησης δεν έχει ενημερωθεί και η επικοινωνία με τους προγραμματιστές έχει χαθεί, αλλά οι προγραμματιστές έχουν συνεχίσει να δημοσιεύουν τις αλλαγές. Οι προτεινόμενες ενημερώσεις κώδικα εξάλειψαν σφάλματα που οδήγησαν σε διαρροές και σφάλματα μνήμης, επέλυσαν προβλήματα με την εκτέλεση του xfstests, εκκαθάρισαν τον αχρησιμοποίητο κώδικα και διόρθωσαν τυπογραφικά λάθη.
    • Για το OverlayFS, έχει εφαρμοστεί η δυνατότητα αντιστοίχισης των αναγνωριστικών χρηστών των προσαρτημένων συστημάτων αρχείων, η οποία χρησιμοποιείται για την αντιστοίχιση των αρχείων ενός συγκεκριμένου χρήστη σε ένα προσαρτημένο ξένο διαμέρισμα με έναν άλλο χρήστη στο τρέχον σύστημα.
  • Υπηρεσίες μνήμης και συστήματος
    • Προστέθηκε αρχική υποστήριξη για την αρχιτεκτονική συνόλου εντολών LoongArch που χρησιμοποιείται στους επεξεργαστές Loongson 3 5000, ο οποίος υλοποιεί το νέο RISC ISA, παρόμοιο με το MIPS και το RISC-V. Η αρχιτεκτονική LoongArch είναι διαθέσιμη σε τρεις γεύσεις: stripped-down 32-bit (LA32R), κανονικό 32-bit (LA32S) και 64-bit (LA64).
    • Καταργήθηκε ο κώδικας για την υποστήριξη της μορφής εκτελέσιμου αρχείου a.out, η οποία καταργήθηκε στην έκδοση 5.1. Η μορφή a.out έχει από καιρό καταργηθεί στα συστήματα Linux και η δημιουργία αρχείων a.out δεν υποστηρίζεται από σύγχρονα εργαλεία στις προεπιλεγμένες διαμορφώσεις Linux. Το πρόγραμμα φόρτωσης για αρχεία a.out μπορεί να υλοποιηθεί εξ ολοκλήρου στο χώρο χρήστη.
    • Η υποστήριξη για επιλογές εκκίνησης ειδικά για x86 έχει διακοπεί: nosp, nosmap, nosmep, noexec και noclflush).
    • Η υποστήριξη για την ξεπερασμένη αρχιτεκτονική CPU h8300 (Renesas H8/300), η οποία έχει μείνει εδώ και καιρό χωρίς υποστήριξη, έχει διακοπεί.
    • Διευρυμένες δυνατότητες που σχετίζονται με την απόκριση στην ανίχνευση διαχωρισμένων κλειδωμάτων ("κλειδώματα διαχωρισμού") που εμφανίζονται κατά την πρόσβαση σε μη ευθυγραμμισμένα δεδομένα στη μνήμη, λόγω του γεγονότος ότι κατά την εκτέλεση μιας ατομικής εντολής, τα δεδομένα διασχίζουν δύο γραμμές κρυφής μνήμης CPU. Τέτοια μπλοκαρίσματα οδηγούν σε σημαντική πτώση της απόδοσης. Εάν προηγουμένως, από προεπιλογή, ο πυρήνας εξέδιδε μια προειδοποίηση με πληροφορίες σχετικά με τη διαδικασία που προκάλεσε τον αποκλεισμό, τώρα η προβληματική διαδικασία θα επιβραδυνθεί περαιτέρω για να διατηρηθεί η απόδοση του υπόλοιπου συστήματος.
    • Προστέθηκε υποστήριξη για τον μηχανισμό IFS (In-Field Scan) που εφαρμόζεται σε επεξεργαστές Intel, ο οποίος σας επιτρέπει να εκτελείτε διαγνωστικές δοκιμές CPU χαμηλού επιπέδου που μπορούν να εντοπίσουν προβλήματα που δεν εντοπίζονται από τυπικά εργαλεία που βασίζονται σε κωδικούς διόρθωσης σφαλμάτων (ECC) ή bit ισοτιμίας . Οι δοκιμές που πραγματοποιούνται έχουν τη μορφή υλικολογισμικού με δυνατότητα λήψης, σχεδιασμένου παρόμοια με τις ενημερώσεις μικροκώδικα. Τα αποτελέσματα των δοκιμών είναι διαθέσιμα μέσω sysfs.
    • Προστέθηκε η δυνατότητα ενσωμάτωσης ενός αρχείου bootconfig στον πυρήνα, η οποία επιτρέπει, εκτός από τις επιλογές της γραμμής εντολών, να προσδιορίζει τις παραμέτρους του πυρήνα μέσω ενός αρχείου ρυθμίσεων. Η ενσωμάτωση πραγματοποιείται χρησιμοποιώντας την επιλογή συναρμολόγησης 'CONFIG_BOOT_CONFIG_EMBED_FILE=»/PATH/TO/BOOTCONFIG/FILE»». Προηγουμένως, το bootconfig προσδιοριζόταν με προσάρτηση στην εικόνα initrd. Η ενσωμάτωση στον πυρήνα επιτρέπει τη χρήση του bootconfig σε διαμορφώσεις χωρίς initrd.
    • Έχει υλοποιηθεί η δυνατότητα λήψης υλικολογισμικού συμπιεσμένου χρησιμοποιώντας τον αλγόριθμο Zstandard. Ένα σύνολο αρχείων ελέγχου /sys/class/firmware/* έχει προστεθεί στο sysfs, επιτρέποντάς σας να ξεκινήσετε τη φόρτωση υλικολογισμικού από το χώρο χρήστη.
    • Η ασύγχρονη διεπαφή εισόδου/εξόδου io_uring προσφέρει μια νέα σημαία, IORING_RECVSEND_POLL_FIRST, η οποία, όταν οριστεί, θα στείλει πρώτα μια λειτουργία δικτύου προς επεξεργασία με χρήση ψηφοφορίας, η οποία μπορεί να εξοικονομήσει πόρους σε περιπτώσεις όπου η επεξεργασία της λειτουργίας με κάποια καθυστέρηση είναι αποδεκτή. Το io_uring πρόσθεσε επίσης υποστήριξη για την κλήση συστήματος socket(), πρότεινε νέες σημαίες για να απλοποιήσει τη διαχείριση των περιγραφικών αρχείων, πρόσθεσε μια λειτουργία "multi-shot" για την αποδοχή πολλών συνδέσεων ταυτόχρονα στην κλήση accept() και πρόσθεσε λειτουργίες για προώθηση NVMe εντολές απευθείας στη συσκευή.
    • Η αρχιτεκτονική Xtensa παρέχει υποστήριξη για το εργαλείο εντοπισμού σφαλμάτων KCSAN (Kernel Concurrency Sanitizer), σχεδιασμένο να εντοπίζει δυναμικά τις συνθήκες αγώνα μέσα στον πυρήνα. Προστέθηκε επίσης υποστήριξη για λειτουργία αδράνειας και συνεπεξεργαστές.
    • Για την αρχιτεκτονική m68k (Motorola 68000), έχει υλοποιηθεί μια εικονική μηχανή (προσομοιωτής πλατφόρμας) που βασίζεται στον εξομοιωτή Android Goldfish.
    • Για την αρχιτεκτονική AArch64, έχει υλοποιηθεί υποστήριξη για επεκτάσεις Armv9-A SME (Scalable Matrix Extension).
    • Το υποσύστημα eBPF επιτρέπει την αποθήκευση πληκτρολογημένων δεικτών σε δομές χαρτών και προσθέτει επίσης υποστήριξη για δυναμικούς δείκτες.
    • Ένας νέος προληπτικός μηχανισμός ανάκτησης μνήμης προτείνεται που υποστηρίζει τον έλεγχο χώρου χρήστη χρησιμοποιώντας το αρχείο memory.reclaim. Η εγγραφή ενός αριθμού στο καθορισμένο αρχείο θα επιχειρήσει να αφαιρέσει τον αντίστοιχο αριθμό byte από το σύνολο που σχετίζεται με την cgroup.
    • Βελτιωμένη ακρίβεια χρήσης της μνήμης κατά τη συμπίεση δεδομένων στο διαμέρισμα swap χρησιμοποιώντας τον μηχανισμό zswap.
    • Για την αρχιτεκτονική RISC-V, παρέχεται υποστήριξη για εκτέλεση εκτελέσιμων αρχείων 32 bit σε συστήματα 64 bit, προστίθεται μια λειτουργία για τη σύνδεση περιοριστικών χαρακτηριστικών σε σελίδες μνήμης (για παράδειγμα, για απενεργοποίηση της προσωρινής αποθήκευσης) και υλοποιείται η συνάρτηση kexec_file_load() .
    • Η εφαρμογή υποστήριξης για συστήματα Armv32T και Armv4 5-bit είναι προσαρμοσμένη για χρήση σε γενικές εκδόσεις πυρήνων πολλαπλών πλατφορμών κατάλληλες για διαφορετικά συστήματα ARM.
  • Εικονικοποίηση και Ασφάλεια
    • Το υποσύστημα EFI υλοποιεί τη δυνατότητα εμπιστευτικής μεταφοράς μυστικών πληροφοριών σε φιλοξενούμενα συστήματα χωρίς να τις αποκαλύπτει στο κεντρικό σύστημα. Τα δεδομένα παρέχονται μέσω του καταλόγου security/coco στο securityfs.
    • Η λειτουργία προστασίας κλειδώματος, η οποία περιορίζει την πρόσβαση του χρήστη root στον πυρήνα και αποκλείει τις διαδρομές παράκαμψης του UEFI Secure Boot, έχει εξαλείψει ένα κενό που επέτρεπε την παράκαμψη της προστασίας με χειρισμό του προγράμματος εντοπισμού σφαλμάτων του πυρήνα.
    • Περιλαμβάνονται ενημερώσεις κώδικα που στοχεύουν στη βελτίωση της αξιοπιστίας και της απόδοσης της γεννήτριας ψευδοτυχαίων αριθμών.
    • Κατά την κατασκευή με χρήση Clang 15, εφαρμόζεται η υποστήριξη για τον μηχανισμό τυχαιοποίησης δομών πυρήνα.
    • Ο μηχανισμός Landlock, ο οποίος σας επιτρέπει να περιορίσετε την αλληλεπίδραση μιας ομάδας διεργασιών με το εξωτερικό περιβάλλον, παρέχει υποστήριξη για κανόνες που σας επιτρέπουν να ελέγχετε την εκτέλεση των λειτουργιών μετονομασίας αρχείων.
    • Το υποσύστημα IMA (Integrity Measurement Architecture), σχεδιασμένο για την επαλήθευση της ακεραιότητας των στοιχείων του λειτουργικού συστήματος με χρήση ψηφιακών υπογραφών και κατακερματισμών, έχει αλλάξει στη χρήση της μονάδας fs-verity για επαλήθευση αρχείων.
    • Η λογική των ενεργειών κατά την απενεργοποίηση της μη προνομιακής πρόσβασης στο υποσύστημα eBPF έχει αλλάξει - προηγουμένως όλες οι εντολές που σχετίζονται με την κλήση συστήματος bpf() ήταν απενεργοποιημένες και ξεκινώντας από την έκδοση 5.19, η πρόσβαση σε εντολές που δεν οδηγούν στη δημιουργία αντικειμένων έχει απομείνει . Αυτή η συμπεριφορά απαιτεί μια προνομιακή διαδικασία για τη φόρτωση ενός προγράμματος BPF, αλλά στη συνέχεια οι μη προνομιακές διεργασίες μπορούν να αλληλεπιδράσουν με το πρόγραμμα.
    • Προστέθηκε υποστήριξη για την επέκταση AMD SEV-SNP (Secure Nested Paging), η οποία παρέχει ασφαλή εργασία με πίνακες σελίδων ένθετης μνήμης και προστατεύει από επιθέσεις "undeSErVed" και "SEVerity" στους επεξεργαστές AMD EPYC, οι οποίοι επιτρέπουν την παράκαμψη της AMD SEV (Secure Encrypted Virtualization ) μηχανισμός προστασίας.
    • Προστέθηκε υποστήριξη για τον μηχανισμό Intel TDX (Trusted Domain Extensions), ο οποίος σας επιτρέπει να αποκλείετε προσπάθειες τρίτων για πρόσβαση στην κρυπτογραφημένη μνήμη εικονικών μηχανών.
    • Το πρόγραμμα οδήγησης virtio-blk, που χρησιμοποιείται για την εξομοίωση συσκευών μπλοκ, έχει προσθέσει υποστήριξη για I/O με χρήση polling, η οποία, σύμφωνα με δοκιμές, έχει μειώσει την καθυστέρηση κατά περίπου 10%.
  • Υποσύστημα δικτύου
    • Το πακέτο περιλαμβάνει μια σειρά από BIG TCP patches που σας επιτρέπουν να αυξήσετε το μέγιστο μέγεθος πακέτου ενός πακέτου TCP στα 4 GB για να βελτιστοποιήσετε τη λειτουργία εσωτερικών δικτύων κέντρων δεδομένων υψηλής ταχύτητας. Παρόμοια αύξηση στο μέγεθος του πακέτου με μέγεθος πεδίου κεφαλίδας 16 bit επιτυγχάνεται μέσω της υλοποίησης πακέτων "jumbo", το μέγεθος στην κεφαλίδα IP των οποίων ορίζεται σε 0 και το πραγματικό μέγεθος μεταδίδεται σε ξεχωριστό 32 bit. πεδίο σε ξεχωριστή συνημμένη κεφαλίδα. Στη δοκιμή απόδοσης, η ρύθμιση του μεγέθους του πακέτου στα 185 KB αύξησε την απόδοση κατά 50% και μείωσε σημαντικά την καθυστέρηση μεταφοράς δεδομένων.
    • Συνεχίστηκαν οι εργασίες για την ενσωμάτωση εργαλείων στη στοίβα δικτύου για την παρακολούθηση των λόγων απόρριψης πακέτων (κωδικοί αιτίας). Ο κωδικός αιτίας αποστέλλεται όταν ελευθερωθεί η μνήμη που σχετίζεται με το πακέτο και επιτρέπει καταστάσεις όπως απόρριψη πακέτου λόγω σφαλμάτων κεφαλίδας, εντοπισμός πλαστογράφησης rp_filter, μη έγκυρο άθροισμα ελέγχου, εκτός μνήμης, ενεργοποίηση κανόνων IPSec XFRM, μη έγκυρος αριθμός ακολουθίας TCP κ.λπ.
    • Προστέθηκε υποστήριξη για επαναλαμβανόμενες συνδέσεις MPTCP (MultiPath TCP) για χρήση κανονικού TCP, σε περιπτώσεις όπου ορισμένες λειτουργίες MPTCP δεν μπορούν να χρησιμοποιηθούν. Το MPTCP είναι μια επέκταση του πρωτοκόλλου TCP για την οργάνωση της λειτουργίας μιας σύνδεσης TCP με την παράδοση πακέτων ταυτόχρονα κατά μήκος πολλών διαδρομών μέσω διαφορετικών διεπαφών δικτύου που σχετίζονται με διαφορετικές διευθύνσεις IP. Προστέθηκε API για τον έλεγχο των ροών MPTCP από το χώρο χρήστη.
  • Оборудование
    • Προστέθηκαν πάνω από 420 γραμμές κώδικα που σχετίζονται με το πρόγραμμα οδήγησης amdgpu, από τις οποίες περίπου 400 γραμμές είναι αρχεία κεφαλίδας που δημιουργούνται αυτόματα για δεδομένα καταχωρητή ASIC στο πρόγραμμα οδήγησης GPU της AMD και άλλες 22.5k γραμμές παρέχουν αρχική υλοποίηση υποστήριξης για το AMD SoC21. Το συνολικό μέγεθος προγράμματος οδήγησης για τις GPU της AMD ξεπέρασε τις 4 εκατομμύρια γραμμές κώδικα. Εκτός από το SoC21, το πρόγραμμα οδήγησης AMD περιλαμβάνει υποστήριξη για SMU 13.x (Μονάδα Διαχείρισης Συστήματος), ενημερωμένη υποστήριξη για USB-C και GPUVM και είναι έτοιμο να υποστηρίξει τις επόμενες γενιές RDNA3 (RX 7000) και CDNA (AMD Instinct) πλατφόρμες.
    • Το πρόγραμμα οδήγησης i915 (Intel) έχει διευρυμένες δυνατότητες που σχετίζονται με τη διαχείριση ενέργειας. Προστέθηκαν αναγνωριστικά για GPU Intel DG2 (Arc Alchemist) που χρησιμοποιούνται σε φορητούς υπολογιστές, παρείχε αρχική υποστήριξη για την πλατφόρμα Intel Raptor Lake-P (RPL-P), πρόσθετες πληροφορίες σχετικά με τις κάρτες γραφικών Arctic Sound-M), εφαρμόστηκε ABI για υπολογιστικές μηχανές, προστέθηκε για Οι κάρτες DG2 υποστηρίζουν τη μορφή Tile4· για συστήματα που βασίζονται στη μικροαρχιτεκτονική Haswell, υλοποιείται η υποστήριξη DisplayPort HDR.
    • Το πρόγραμμα οδήγησης Nouveau έχει αλλάξει στη χρήση του προγράμματος χειρισμού drm_gem_plane_helper_prepare_fb· η εκχώρηση στατικής μνήμης έχει εφαρμοστεί σε ορισμένες δομές και μεταβλητές. Όσον αφορά τη χρήση λειτουργικών μονάδων πυρήνα ανοιχτού κώδικα από τη NVIDIA στο Nouveau, η δουλειά μέχρι στιγμής καταλήγει στον εντοπισμό και την εξάλειψη σφαλμάτων. Στο μέλλον, το δημοσιευμένο υλικολογισμικό σχεδιάζεται να χρησιμοποιηθεί για τη βελτίωση της απόδοσης του προγράμματος οδήγησης.
    • Προστέθηκε ένα πρόγραμμα οδήγησης για τον ελεγκτή NVMe που χρησιμοποιείται σε υπολογιστές Apple με βάση το τσιπ M1.

Ταυτόχρονα, το Ίδρυμα Ελεύθερου Λογισμικού Λατινικής Αμερικής δημιούργησε μια έκδοση του εντελώς δωρεάν πυρήνα 5.19 - Linux-libre 5.19-gnu, απαλλαγμένη από στοιχεία υλικολογισμικού και προγράμματα οδήγησης που περιέχουν μη ελεύθερα στοιχεία ή τμήματα κώδικα, το πεδίο εφαρμογής του οποίου είναι περιορισμένη από τον κατασκευαστή. Η νέα έκδοση καθαρίζει τα προγράμματα οδήγησης για pureLiFi X/XL/XC και TI AMx3 Wkup-M3 IPC. Ενημερωμένος κώδικας καθαρισμού blob στα Silicon Labs WFX, AMD amdgpu, Qualcomm WCNSS Peripheral Image Loader, Realtek Bluetooth, Mellanox Spectrum, Marvell WiFi-Ex, Intel AVS, IFS, προγράμματα οδήγησης και υποσυστήματα pu3-imgu. Έχει υλοποιηθεί η επεξεργασία των αρχείων συσκευής δέντρου του Qualcomm AArch64. Προστέθηκε υποστήριξη για το νέο σχήμα ονομασίας στοιχείων Sound Open Firmware. Σταμάτησε να καθαρίζει το πρόγραμμα οδήγησης ATM Ambassador, το οποίο αφαιρέθηκε από τον πυρήνα. Η διαχείριση του καθαρισμού blob σε HDCP και Mellanox Core έχει μετακινηθεί σε ξεχωριστές ετικέτες kconfig.

Πηγή: opennet.ru

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