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

Μετά από δύο μήνες ανάπτυξης, ο Linus Torvalds εισήχθη απελευθέρωση πυρήνα Linux 5.3. Μεταξύ των πιο αξιοσημείωτων αλλαγών: υποστήριξη για AMD Navi GPU, επεξεργαστές Zhaoxi και τεχνολογία διαχείρισης ενέργειας Intel Speed ​​​​Select, δυνατότητα χρήσης οδηγιών umwait για αναμονή χωρίς χρήση κύκλων,
Λειτουργία 'utilization clamping' που αυξάνει τη διαδραστικότητα για ασύμμετρους CPU, την κλήση συστήματος pidfd_open, τη δυνατότητα χρήσης διευθύνσεων IPv4 από το υποδίκτυο 0.0.0.0/8, τη δυνατότητα επιτάχυνσης υλικού nftables, υποστήριξη HDR στο υποσύστημα DRM, ενσωμάτωση του ACRN υπερεπόπτη.

В ανακοίνωση νέα έκδοση, ο Linus υπενθύμισε σε όλους τους προγραμματιστές τον κύριο κανόνα της ανάπτυξης του πυρήνα - τη διατήρηση της ίδιας συμπεριφοράς για τα στοιχεία του χώρου χρήστη. Οι αλλαγές στον πυρήνα δεν θα πρέπει με κανέναν τρόπο να διακόπτουν τις ήδη εκτελούμενες εφαρμογές ή να οδηγούν σε παλινδρομήσεις σε επίπεδο χρήστη. Σε αυτήν την περίπτωση, μια παραβίαση συμπεριφοράς μπορεί να προκαλέσει όχι μόνο μια αλλαγή στο ABI, την αφαίρεση παλιού κώδικα ή την εμφάνιση σφαλμάτων, αλλά και τον έμμεσο αντίκτυπο χρήσιμων βελτιώσεων που λειτουργούν σωστά. Ως ενδεικτικό παράδειγμα υπήρχε απορρίπτονται χρήσιμος βελτιστοποίηση στον κώδικα Ext4, ο οποίος μειώνει τον αριθμό των προσβάσεων στη μονάδα δίσκου απενεργοποιώντας την προ-ανάγνωση του πίνακα inode για μικρά αιτήματα εισόδου/εξόδου.

Η βελτιστοποίηση οδήγησε στο γεγονός ότι, λόγω της μείωσης της δραστηριότητας του δίσκου, η εντροπία για τη γεννήτρια τυχαίων αριθμών getrandom() άρχισε να συσσωρεύεται πιο αργά και σε ορισμένες διαμορφώσεις, υπό ορισμένες συνθήκες, μπορούσαν να παρατηρηθούν παγώματα κατά τη φόρτωση έως ότου η δεξαμενή εντροπίας ήταν γέματο. Δεδομένου ότι η βελτιστοποίηση είναι πραγματικά χρήσιμη, προέκυψε μια συζήτηση μεταξύ των προγραμματιστών στην οποία προτάθηκε να διορθωθεί το πρόβλημα απενεργοποιώντας την προεπιλεγμένη λειτουργία αποκλεισμού της κλήσης getrandom() και προσθέτοντας μια προαιρετική σημαία για αναμονή για εντροπία, αλλά μια τέτοια αλλαγή θα επηρεάσει την ποιότητα των τυχαίων αριθμών στο αρχικό στάδιο της φόρτωσης.

Η νέα έκδοση περιλαμβάνει 15794 διορθώσεις από 1974 προγραμματιστές,
μέγεθος ενημέρωσης κώδικα - 92 MB (οι αλλαγές επηρέασαν 13986 αρχεία, προστέθηκαν 258419 γραμμές κώδικα,
Καταργήθηκαν 599137 σειρές). Περίπου το 39% του συνόλου που παρουσιάζεται στο 5.3
Οι αλλαγές σχετίζονται με προγράμματα οδήγησης συσκευών, περίπου το 12% των αλλαγών είναι
στάση απέναντι στην ενημέρωση κώδικα που αφορά τις αρχιτεκτονικές υλικού, 11%
σχετίζεται με τη στοίβα δικτύου, 3% με συστήματα αρχείων και 3% με εσωτερικά
υποσυστήματα πυρήνα.

Ο κύριος καινοτομίες:

  • Υπηρεσίες μνήμης και συστήματος
    • Συνεχής ανάπτυξη της λειτουργικότητας "pidfd" για τη διαχείριση καταστάσεων επαναχρησιμοποίησης PID (το pidfd σχετίζεται με μια συγκεκριμένη διαδικασία και δεν αλλάζει, ενώ ένα PID μπορεί να συσχετιστεί με άλλη διεργασία μετά τον τερματισμό της τρέχουσας διαδικασίας που σχετίζεται με αυτό το PID). Είχε προηγουμένως προστεθεί στον πυρήνα
      η κλήση συστήματος pidfd_send_signal() και η σημαία CLONE_PIDFD στην κλήση κλώνου() για να αποκτήσετε ένα pidfd για χρήση στην idfd_send_signal(). Η χρήση του clone() με τη σημαία CLONE_PIDFD θα μπορούσε να προκαλέσει προβλήματα με τους διαχειριστές υπηρεσιών ή το σύστημα τερματισμού δύναμης εκτός μνήμης της πλατφόρμας Android. Σε αυτήν την περίπτωση, χρησιμοποιείται για να ξεκινήσει μια κλήση προς fork() ή clone() χωρίς CLONE_PIDFD.

      Ο πυρήνας 5.3 εισήγαγε την κλήση συστήματος pidfd_open(), το οποίο σας επιτρέπει να λάβετε ένα ελεγχόμενο pidfd για μια αυθαίρετη υπάρχουσα διεργασία που δεν δημιουργήθηκε καλώντας την clone() με τη σημαία CLONE_PIDFD. Προστέθηκε επίσης υποστήριξη για ψηφοφορία pidfd με χρήση poll() και epoll(), η οποία επιτρέπει στους διαχειριστές διεργασιών να παρακολουθούν τον τερματισμό αυθαίρετων διεργασιών χωρίς φόβο για μια συνθήκη αγώνα εάν ένα PID εκχωρηθεί σε μια νέα διεργασία. Ο μηχανισμός ειδοποίησης όταν μια διαδικασία που σχετίζεται με το pidfd έχει τερματιστεί είναι παρόμοιος με την ειδοποίηση όταν η θυγατρική της διαδικασία έχει τερματιστεί.

    • Η υποστήριξη για τον μηχανισμό καρφιτσώματος φορτίου έχει προστεθεί στον προγραμματιστή εργασιών (Σύσφιξη χρήσης), επιτρέποντάς σας να τηρείτε το ελάχιστο ή μέγιστο εύρος συχνοτήτων, ανάλογα με τις εργασίες που είναι ενεργές στη CPU. Ο παρουσιαζόμενος μηχανισμός επιταχύνει τις εργασίες που επηρεάζουν άμεσα την ποιότητα της εμπειρίας χρήστη εκτελώντας αυτές τις εργασίες τουλάχιστον στο χαμηλότερο άκρο της «αιτούμενης» συχνότητας. Οι εργασίες χαμηλής προτεραιότητας που δεν επηρεάζουν την εργασία του χρήστη ξεκινούν χρησιμοποιώντας το ανώτερο όριο της «επιτρεπόμενης» συχνότητας. Τα όρια ορίζονται μέσω των χαρακτηριστικών sched_uclamp_util_min και sched_uclamp_util_max στην κλήση συστήματος sched_setattr().
    • Προστέθηκε υποστήριξη για τεχνολογία διαχείρισης ενέργειας Intel Speed ​​Select, διαθέσιμο σε επιλεγμένους διακομιστές με επεξεργαστές Intel Xeon. Αυτή η τεχνολογία σάς επιτρέπει να ορίσετε ρυθμίσεις απόδοσης και διαμερίσματος για διαφορετικούς πυρήνες CPU, γεγονός που σας επιτρέπει να δίνετε προτεραιότητα στην απόδοση για εργασίες που εκτελούνται σε ορισμένους πυρήνες, θυσιάζοντας την απόδοση σε άλλους πυρήνες.
    • Διεργασίες στο χώρο χρήστη χορηγείται τη δυνατότητα να περιμένετε για μικρό χρονικό διάστημα χωρίς τη χρήση βρόχων χρησιμοποιώντας την εντολή umwait. Αυτή η οδηγία, μαζί με τις οδηγίες umonitor και tpause, θα προσφερθεί στα επερχόμενα τσιπ "Tremont" της Intel και θα επιτρέψει την υλοποίηση καθυστερήσεων που είναι ενεργειακά αποδοτικές και δεν επηρεάζουν την απόδοση άλλων νημάτων κατά τη χρήση του Hyper Threading.
    • Για την αρχιτεκτονική RISC-V, έχει προστεθεί υποστήριξη για σελίδες μεγάλης μνήμης.
    • Ο μηχανισμός ανίχνευσης kprobes έχει προσθέσει τη δυνατότητα αποαναφοράς δεικτών πυρήνα στο χώρο χρήστη, ο οποίος μπορεί να χρησιμοποιηθεί, για παράδειγμα, για την αξιολόγηση των περιεχομένων των δομών που μεταβιβάζονται στις κλήσεις συστήματος. Προστέθηκε επίσης η δυνατότητα εγκατάστασης επιταγών στο στάδιο εκκίνησης.
    • Προστέθηκε η επιλογή PREEMPT_RT στο αρχείο διαμόρφωσης για λειτουργία σε πραγματικό χρόνο. Ο ίδιος ο κώδικας που υποστηρίζει τη λειτουργία σε πραγματικό χρόνο δεν έχει προστεθεί ακόμη στον πυρήνα, αλλά η εμφάνιση της επιλογής είναι ένα καλό σημάδι ότι το μακροπρόθεσμο έπος ενοποιήσεις Οι ενημερώσεις κώδικα Preempt σε πραγματικό χρόνο πλησιάζουν στην ολοκλήρωση.
    • Προστέθηκε η κλήση συστήματος clone3() με την υλοποίηση μιας πιο επεκτάσιμης έκδοσης της διεπαφής clone(), η οποία επιτρέπει τον καθορισμό μεγαλύτερου αριθμού σημαιών.
    • Προστέθηκε ο χειριστής bpf_send_signal(), που επιτρέπει στα προγράμματα BPF να στέλνουν σήματα σε αυθαίρετες διεργασίες.
    • Για συμβάντα perf στο περιβάλλον υπερεπόπτη KVM, προστέθηκε ένας νέος μηχανισμός φιλτραρίσματος συμβάντων, ο οποίος επιτρέπει στον διαχειριστή να προσδιορίσει τους τύπους συμβάντων που επιτρέπονται ή δεν επιτρέπονται για παρακολούθηση από την πλευρά του συστήματος επισκέπτη.
    • Η δυνατότητα επεξεργασίας προγραμμάτων με βρόχους έχει προστεθεί στον μηχανισμό επαλήθευσης εφαρμογής eBPF εάν η εκτέλεση του βρόχου είναι περιορισμένη και δεν μπορεί να οδηγήσει σε υπέρβαση του ορίου του μέγιστου αριθμού εντολών.
  • Υποσύστημα δίσκου, I/O και συστήματα αρχείων
    • Το σύστημα αρχείων XFS υποστηρίζει πλέον παράκαμψη inode πολλαπλών νημάτων (για παράδειγμα, κατά τον έλεγχο των ορίων). Προστέθηκαν νέα ioctls BULKSTAT και INUMBERS, παρέχοντας πρόσβαση στις δυνατότητες που εμφανίστηκαν στην πέμπτη έκδοση της μορφής FS, όπως ο χρόνος γέννησης inode και η δυνατότητα ορισμού των παραμέτρων BULKSTAT και INUMBERS για κάθε ομάδα AG (Ομάδες κατανομής).
    • Στο Ext4 προστέθηκε υποστήριξη κενά σε καταλόγους (ασυνδεδεμένα μπλοκ).
      Παρέχεται επεξεργασία σημαία "i" (αμετάβλητο) για ανοιχτά αρχεία (η εγγραφή απαγορεύεται σε περίπτωση που η σημαία είχε οριστεί σε μια στιγμή που το αρχείο ήταν ήδη ανοιχτό).

    • Το Btrfs παρέχει έναν ορισμό μιας γρήγορης υλοποίησης του crc32c σε όλες τις αρχιτεκτονικές.
    • Στο CIFS, ο κώδικας για την υποστήριξη smbdirect έχει αφαιρεθεί ως πειραματική ανάπτυξη. Το SMB3 πρόσθεσε τη δυνατότητα χρήσης κρυπτογραφικών αλγορίθμων σε λειτουργία GCM. Προστέθηκε μια νέα επιλογή προσάρτησης για εξαγωγή παραμέτρων λειτουργίας από καταχωρήσεις ACE (Access Control Entry). Βελτιστοποιήθηκε η απόδοση της κλήσης open().
    • Προστέθηκε μια επιλογή στο F2FS για περιορισμό του συλλέκτη απορριμμάτων όταν εκτελείται σε λειτουργία checkpoint=disable. Προστέθηκε ioctl για την αφαίρεση μπλοκ από το F2FS, επιτρέποντας προσαρμογές μεγέθους διαμερισμάτων on-the-fly. Προστέθηκε η δυνατότητα τοποθέτησης ενός αρχείου ανταλλαγής στο F2FS για την παροχή άμεσης εισόδου/εξόδου. Προστέθηκε υποστήριξη για το καρφίτσωμα ενός αρχείου και την κατανομή μπλοκ για παρόμοια αρχεία για όλους τους χρήστες.
    • Προστέθηκε υποστήριξη για ασύγχρονες λειτουργίες sendmsg() και recvmsg() στη διεπαφή για ασύγχρονη είσοδο/έξοδο io_uring.
    • Υποστήριξη για συμπίεση με χρήση του αλγόριθμου zstd και η δυνατότητα επαλήθευσης υπογεγραμμένων εικόνων FS έχουν προστεθεί στο σύστημα αρχείων UBIFS.
    • Το Ceph FS υποστηρίζει πλέον ετικέτες ασφαλείας SELinux για αρχεία.
    • Για το NFSv4, έχει εφαρμοστεί μια νέα επιλογή προσάρτησης “nconnect=”, η οποία καθορίζει τον αριθμό των συνδέσεων που έχουν δημιουργηθεί με τον διακομιστή. Η κυκλοφορία μεταξύ αυτών των συνδέσεων θα κατανέμεται χρησιμοποιώντας εξισορρόπηση φορτίου. Επιπλέον, ο διακομιστής NFSv4 δημιουργεί τώρα έναν κατάλογο /proc/fs/nfsd/clients με πληροφορίες σχετικά με τους τρέχοντες πελάτες, συμπεριλαμβανομένων πληροφοριών σχετικά με τα αρχεία που έχουν ανοίξει.
  • Εικονικοποίηση και Ασφάλεια
    • Ο πυρήνας περιλαμβάνει έναν hypervisor για ενσωματωμένες συσκευές ACRN, το οποίο είναι γραμμένο με γνώμονα την ετοιμότητα για εργασίες σε πραγματικό χρόνο και την καταλληλότητα για χρήση σε κρίσιμα για την αποστολή συστήματα. Το ACRN παρέχει ελάχιστη επιβάρυνση, εγγυάται χαμηλή καθυστέρηση και επαρκή απόκριση κατά την αλληλεπίδραση με τον εξοπλισμό. Υποστηρίζει εικονικοποίηση πόρων CPU, I/O, υποσύστημα δικτύου, λειτουργίες γραφικών και ήχου. Το ACRN μπορεί να χρησιμοποιηθεί για την εκτέλεση πολλαπλών απομονωμένων εικονικών μηχανών σε ηλεκτρονικές μονάδες ελέγχου, πίνακες εργαλείων, συστήματα πληροφοριών αυτοκινήτου, συσκευές IoT καταναλωτών και άλλη ενσωματωμένη τεχνολογία.
    • Σε λειτουργία χρήστη Linux προστέθηκε Λειτουργία ταξιδιού στο χρόνο, η οποία σας επιτρέπει να επιβραδύνετε ή να επιταχύνετε το χρόνο σε ένα εικονικό περιβάλλον UML για να διευκολύνετε τον εντοπισμό σφαλμάτων κώδικα που σχετίζεται με το χρόνο. Επιπλέον, προστέθηκε μια παράμετρος
      time-travel-start, που επιτρέπει στο ρολόι του συστήματος να ξεκινά από μια καθορισμένη στιγμή σε μορφή εποχής.

    • Έχουν προστεθεί νέες επιλογές γραμμής εντολών πυρήνα "init_on_alloc" και "init_on_free", όταν καθορίζεται, ενεργοποιείται ο μηδενισμός των εκχωρημένων και ελευθερωμένων περιοχών μνήμης (συμπλήρωση με μηδενικά για malloc και δωρεάν), γεγονός που επιτρέπει αυξημένη ασφάλεια λόγω πρόσθετων επιβαρύνσεων αρχικοποίησης.
    • Προστέθηκε νέο πρόγραμμα οδήγησης virtio-iommu με την υλοποίηση μιας παραεικονικής συσκευής που σας επιτρέπει να στέλνετε αιτήματα IOMMU όπως ATTACH, DETACH, MAP και UNMAP μέσω της μεταφοράς virtio χωρίς εξομοίωση πινάκων σελίδων μνήμης.
    • Προστέθηκε νέο πρόγραμμα οδήγησης virtio-pmem, που αντιπροσωπεύει την πρόσβαση σε συσκευές αποθήκευσης που έχουν αντιστοιχιστεί σε φυσικό χώρο διευθύνσεων, όπως NVDIMM.
    • Εφάρμοσε τη δυνατότητα επισύναψης κρυπτογραφικών κλειδιών σε χώρο ονομάτων χρήστη ή δικτύου (τα κλειδιά γίνονται απρόσιτα εκτός του επιλεγμένου χώρου ονομάτων), καθώς και προστασία κλειδιών με χρήση ACL.
    • Στο υποσύστημα κρυπτογράφησης προστέθηκε υποστήριξη για έναν πολύ γρήγορο μη κρυπτογραφικό αλγόριθμο κατακερματισμού xxhash, η ταχύτητα του οποίου εξαρτάται από την απόδοση της μνήμης.
  • Υποσύστημα δικτύου
    • Ενεργοποιήθηκε η επεξεργασία διευθύνσεων IPv4 στην περιοχή 0.0.0.0/8, η οποία στο παρελθόν δεν ήταν διαθέσιμη για χρήση. Εισαγωγή αυτού του υποδικτύου θα επιτρέψει διανομή άλλων 16 εκατομμυρίων διευθύνσεων IPv4.
    • Στο Netfilter για nftables προστέθηκε υποστήριξη μηχανισμών επιτάχυνσης υλικού για φιλτράρισμα πακέτων μέσω της χρήσης πρόσθετων προγραμμάτων οδήγησης Flow Block API. Στο πλάι των προσαρμογέων δικτύου μπορούν να τοποθετηθούν ολόκληροι πίνακες κανόνων με όλες τις αλυσίδες. Η ενεργοποίηση γίνεται δεσμεύοντας τη σημαία NFT_TABLE_F_HW στον πίνακα. Υποστηρίζει απλά μεταδεδομένα πρωτοκόλλου Layer 3 και Layer 4, ενέργειες αποδοχής/απόρριψης, αντιστοιχίσεις ανά IP και θύρες δικτύου αποστολέα/δέκτη και τύπο πρωτοκόλλου.
    • Προστέθηκε ενσωματωμένη υποστήριξη παρακολούθησης σύνδεσης για γέφυρες δικτύου, η οποία δεν απαιτεί τη χρήση του επιπέδου εξομοίωσης br_netfilter.
    • Σε nf_tables προστέθηκε Η υποστήριξη για τη μονάδα SYNPROXY, η οποία αναπαράγει παρόμοια λειτουργικότητα από τα iptables, και η δυνατότητα ελέγχου των κανόνων για μεμονωμένες επιλογές στην κεφαλίδα IPv4 υλοποιείται επίσης.
    • Προστέθηκε η δυνατότητα σύνδεσης προγραμμάτων BPF στις κλήσεις συστήματος setsockopt() και getsockopt(), που, για παράδειγμα, σας επιτρέπει να επισυνάψετε τους δικούς σας χειριστές πρόσβασης σε αυτές τις κλήσεις. Επιπλέον, προστέθηκε ένα νέο σημείο κλήσης (άγκιστρο), με το οποίο μπορείτε να οργανώσετε μια κλήση στο πρόγραμμα BPF μία φορά για κάθε διάστημα RTT (χρόνος μετ' επιστροφής, χρόνος ping).
    • Για IPv4 και IPv6 προστέθηκε νέος μηχανισμός αποθήκευσης δεδομένων δρομολόγησης nexthop με στόχο την αύξηση της επεκτασιμότητας των πινάκων δρομολόγησης. Οι δοκιμές έδειξαν ότι κατά τη χρήση του νέου συστήματος, ένα σύνολο 743 χιλιάδων διαδρομών φορτώθηκε στον πυρήνα σε μόλις 4.3 δευτερόλεπτα.
    • Για Bluetooth εφαρμόστηκε λειτουργικότητα που απαιτείται για την υποστήριξη LE ping.
  • Оборудование
    • Προστέθηκε υποστήριξη για τους επεξεργαστές της εταιρείας συμβατούς με x86 Ζαοξίνη, που αναπτύχθηκε ως αποτέλεσμα ενός κοινού έργου μεταξύ της VIA Technologies και του Δήμου της Σαγκάης. Η οικογένεια CPU ZX είναι χτισμένη στην αρχιτεκτονική x86-64 Isaiah, συνεχίζοντας την ανάπτυξη της τεχνολογίας VIA Centaur;
    • Το υποσύστημα DRM (Direct Rendering Manager), καθώς και τα προγράμματα οδήγησης γραφικών amdgpu και i915, έχουν προσθέσει υποστήριξη για ανάλυση, επεξεργασία και αποστολή μεταδεδομένων HDR (υψηλού δυναμικού εύρους) μέσω της θύρας HDMI, επιτρέποντας τη χρήση πάνελ και οθονών HDR με δυνατότητα εμφάνιση πρόσθετων περιοχών φωτεινότητας.
    • Το πρόγραμμα οδήγησης amdgpu έχει προσθέσει αρχική υποστήριξη για την AMD NAVI GPU (RX5700), η οποία περιλαμβάνει το βασικό πρόγραμμα οδήγησης, τον κωδικό αλληλεπίδρασης οθόνης (DCN2), το GFX και την υποστήριξη υπολογιστών (GFX10),
      SDMA 5 (System DMA0), διαχείριση ενέργειας και κωδικοποιητές/αποκωδικοποιητές πολυμέσων (VCN2). Το amdgpu βελτιώνει επίσης την υποστήριξη για κάρτες που βασίζονται σε Vega12 και Vega20 GPU, για τις οποίες έχουν προστεθεί πρόσθετες δυνατότητες διαχείρισης μνήμης και ενέργειας.

    • Προστέθηκε υποστήριξη για κάρτες που βασίζονται σε GPU VegaM στο πρόγραμμα οδήγησης amdkfd (για διακριτές GPU, όπως Fiji, Tonga, Polaris).
    • Στο πρόγραμμα οδήγησης DRM για κάρτες γραφικών Intel για τσιπ Icelake εφαρμόστηκε νέα λειτουργία διόρθωσης γάμμα πολλαπλών τμημάτων. Προστέθηκε η δυνατότητα εξόδου μέσω DisplayPort σε μορφή YCbCr4:2:0. Προστέθηκε νέο υλικολογισμικό GuC για SKL, BXT, KBL, GLK και ICL. Έχει εφαρμοστεί η δυνατότητα απενεργοποίησης της τροφοδοσίας της οθόνης σε ασύγχρονη λειτουργία. Προστέθηκε υποστήριξη για αποθήκευση και επαναφορά του πλαισίου απόδοσης για τα τσιπ Ironlake (gen5) και gen4 (Broadwater - Cantiga), η οποία σας επιτρέπει να επαναφέρετε την κατάσταση της GPU από το χώρο χρήστη κατά τη μετάβαση από τη μια λειτουργία παρτίδας στην άλλη.
    • Το πρόγραμμα οδήγησης Nouveau παρέχει ανίχνευση του chipset NVIDIA Turing TU116.
    • Οι δυνατότητες του προγράμματος οδήγησης DRM/KMS για επιταχυντές οθόνης ARM Komeda (Mali D71) έχουν επεκταθεί, υποστήριξη για κλιμάκωση, διαχωρισμό/συγχώνευση επιπέδων, περιστροφή, αναβαλλόμενη εγγραφή, AFBC, SMMU και μορφές κωδικοποίησης χρώματος Y0L2, P010, YUV420_8/10BIT προστέθηκε?
    • Το πρόγραμμα οδήγησης MSM προσθέτει υποστήριξη για τη σειρά A540 GPU Adreno που χρησιμοποιείται στους επεξεργαστές Qualcomm, καθώς και υποστήριξη για τον ελεγκτή MSM8998 DSI για Snapdragon 835.
    • Προστέθηκαν προγράμματα οδήγησης για οθόνες LCD Samsung S6E63M0, Armadeus ST0700, EDT ETM0430G0DH6, OSD101T2045-53TS,
      Evervision VGG804821, FriendlyELEC HD702E, KOE tx14d24vm1bpa, TFC S9700RTWV43TR-01B, EDT ET035012DM6 και VXT VL050-8048NT-C01;

    • Προστέθηκε Πρόγραμμα οδήγησης για την ενεργοποίηση εργαλείων επιτάχυνσης αποκωδικοποίησης
      βίντεο διαθέσιμα στο Amlogic Meson SoC.

    • Στο πρόγραμμα οδήγησης v3d (για την GPU Broadcom Video Core V που χρησιμοποιείται στο Raspberry Pi) εμφανίστηκε υποστήριξη αποστολή υπολογιστών shaders.
    • Προστέθηκε πρόγραμμα οδήγησης για πληκτρολόγια SPI και trackpad που χρησιμοποιούνται σε σύγχρονα μοντέλα φορητών υπολογιστών Apple MacBook και MacBookPro.
    • Προστέθηκε πρόσθετη προστασία για κλήσεις ioctl που σχετίζονται με το πρόγραμμα οδήγησης δισκέτας και το ίδιο το πρόγραμμα οδήγησης επισημαίνεται ως μη συντηρημένο
      («ορφανό»), που συνεπάγεται τον τερματισμό των δοκιμών του. Το πρόγραμμα οδήγησης εξακολουθεί να είναι αποθηκευμένο στον πυρήνα, αλλά η σωστή λειτουργία του δεν είναι εγγυημένη. Το πρόγραμμα οδήγησης θεωρείται ξεπερασμένο, καθώς είναι δύσκολο να βρεθεί εξοπλισμός εργασίας για τη δοκιμή του - όλες οι τρέχουσες εξωτερικές μονάδες, κατά κανόνα, χρησιμοποιούν τη διεπαφή USB.

    • Προστέθηκε πρόγραμμα οδήγησης cpufreq για πλακέτες Raspberry Pi, το οποίο σας επιτρέπει να ελέγχετε δυναμικά τις αλλαγές στη συχνότητα του επεξεργαστή.
    • Προστέθηκε υποστήριξη για το νέο ARM SoC Mediatek mt8183 (4x Cortex-A73 + 4x Cortex-A53), TI J721E (2x Cortex-A72 + 3x Cortex-R5F + 3 DSPs + MMA) και Amlogic G12B (4x Cortex-A73- A2 ), καθώς και σανίδες:
      • Purism Librem5,
      • Aspeed BMC,
      • Microsoft Olympus BMC,
      • Kontron SMARC,
      • Novtech Meerkat96 (i.MX7),
      • ST Micro Avenger96,
      • Google Cheza (Qualcomm SDM845),
      • Qualcomm Dragonboard 845c (Qualcomm SDM845),
      • Hugsun X99 TV Box (Rockchip RK3399),
      • Khadas Edge/Edge-V/Captain (Rockchip RK3399),
      • HiHope RZ/G2M,
      • NXP LS1021A-TSN.

Ταυτόχρονα, το Ίδρυμα Ελεύθερου Λογισμικού της Λατινικής Αμερικής σχηματίστηκε
επιλογή εντελώς δωρεάν πυρήνας 5.3 - Linux-libre 5.3-gnu, απαλλαγμένα από στοιχεία υλικολογισμικού και προγράμματος οδήγησης που περιέχουν μη ελεύθερα στοιχεία ή τμήματα κώδικα, το πεδίο εφαρμογής των οποίων περιορίζεται από τον κατασκευαστή. Στη νέα έκδοση, η φόρτωση blob είναι απενεργοποιημένη στα προγράμματα οδήγησης qcom, hdcp drm, allegro-dvt και meson-vdec.
Ενημερωμένος κώδικας καθαρισμού blob σε προγράμματα οδήγησης και υποσυστήματα amdgpu, i915, netx, r8169, brcmfmac, rtl8188eu, adreno, si2157, pvrusb2, touchscreen_dmi, πρόγραμμα οδήγησης ήχου για skylake, καθώς και στην τεκμηρίωση μικροκώδικα.

Πηγή: opennet.ru

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