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

Μετά από δύο μήνες ανάπτυξης, ο Linus Torvalds εισήχθη απελευθέρωση πυρήνα Linux 5.6. Μεταξύ των πιο αξιοσημείωτων αλλαγών: ενσωμάτωση της διεπαφής WireGuard VPN, υποστήριξη για USB4, χώροι ονομάτων για το χρόνο, δυνατότητα δημιουργίας χειριστών συμφόρησης TCP με χρήση BPF, αρχική υποστήριξη για MultiPath TCP, απαλλαγή από τον πυρήνα από το πρόβλημα του 2038, ο μηχανισμός "bootconfig" , ZoneFS.

Η νέα έκδοση περιλαμβάνει 13702 διορθώσεις από 1810 προγραμματιστές,
μέγεθος ενημέρωσης κώδικα - 40 MB (οι αλλαγές επηρέασαν 11577 αρχεία, προστέθηκαν 610012 γραμμές κώδικα,
Καταργήθηκαν 294828 σειρές). Περίπου το 45% του συνόλου που παρουσιάζεται στο 5.6
Οι αλλαγές σχετίζονται με προγράμματα οδήγησης συσκευών, περίπου το 15% των αλλαγών είναι
στάση απέναντι στην ενημέρωση κώδικα που αφορά τις αρχιτεκτονικές υλικού, 12%
σχετίζεται με τη στοίβα δικτύου, 4% με συστήματα αρχείων και 3% με εσωτερικά
υποσυστήματα πυρήνα.

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

  • Υποσύστημα δικτύου
    • Προστέθηκε υλοποίηση μιας διεπαφής VPN WireGuard, το οποίο υλοποιείται με βάση σύγχρονες μεθόδους κρυπτογράφησης (ChaCha20, Poly1305, Curve25519, BLAKE2s), είναι εύκολο στη χρήση, χωρίς επιπλοκές, έχει αποδειχθεί σε πολλές μεγάλες υλοποιήσεις και παρέχει πολύ υψηλή απόδοση (3,9 φορές ταχύτερη από το OpenVPN σε όρους της διεκπεραιώσεως). Το WireGuard χρησιμοποιεί την έννοια της δρομολόγησης κλειδιού κρυπτογράφησης, η οποία περιλαμβάνει την προσάρτηση ενός ιδιωτικού κλειδιού σε κάθε διεπαφή δικτύου και τη χρήση του για τη δέσμευση των δημόσιων κλειδιών. Τα δημόσια κλειδιά ανταλλάσσονται για να δημιουργηθεί μια σύνδεση με παρόμοιο τρόπο με το SSH. Απαιτούνται κρυπτογραφικά πρωτόγονα για να λειτουργήσει το WireGuard Ήμασταν μεταφέρεται από τη βιβλιοθήκη ψευδάργυρος ως μέρος του τυπικού Crypto API και περιλαμβάνεται στον πυρήνα 5.5.
    • Ξεκίνησε ενσωμάτωση στοιχείων που είναι απαραίτητα για την υποστήριξη MPTCP (MultiPath TCP), μια επέκταση του πρωτοκόλλου TCP για την οργάνωση της λειτουργίας μιας σύνδεσης TCP με την παράδοση πακέτων ταυτόχρονα σε διάφορες διαδρομές μέσω διαφορετικών διεπαφών δικτύου που σχετίζονται με διαφορετικές διευθύνσεις IP. Για εφαρμογές δικτύου, μια τέτοια συγκεντρωτική σύνδεση μοιάζει με μια κανονική σύνδεση TCP και όλη η λογική διαχωρισμού ροής εκτελείται από το MPTCP. Το Multipath TCP μπορεί να χρησιμοποιηθεί τόσο για την αύξηση της απόδοσης όσο και για την αύξηση της αξιοπιστίας. Για παράδειγμα, το MPTCP μπορεί να χρησιμοποιηθεί για την οργάνωση της μετάδοσης δεδομένων σε ένα smartphone χρησιμοποιώντας συνδέσεις WiFi και 4G ταυτόχρονα ή για τη μείωση του κόστους συνδέοντας έναν διακομιστή χρησιμοποιώντας πολλούς φθηνούς συνδέσμους αντί για έναν ακριβό.
    • Προστέθηκε υποστήριξη για την πειθαρχία επεξεργασίας ουράς δικτύου sch_ets (Βελτιωμένη επιλογή μετάδοσης, IEEE 802.1Qaz), το οποίο παρέχει τη δυνατότητα διανομής εύρους ζώνης μεταξύ διαφορετικών κατηγοριών κυκλοφορίας. Εάν το φορτίο σε μια συγκεκριμένη κατηγορία κίνησης είναι κάτω από το εκχωρημένο εύρος ζώνης, τότε το ETS επιτρέπει σε άλλες κατηγορίες κυκλοφορίας να χρησιμοποιούν το διαθέσιμο (αχρησιμοποίητο) εύρος ζώνης. Το Qdisc sch_ets έχει ρυθμιστεί ως πειθαρχία PRIO και χρησιμοποιεί κατηγορίες κυκλοφορίας για να καθορίσει αυστηρά και κοινόχρηστα όρια εύρους ζώνης. Το ETS λειτουργεί ως συνδυασμός κλάδων ΠΡΙΟ и ΜΚΚ — εάν υπάρχουν αυστηρά περιορισμένες κατηγορίες κυκλοφορίας, χρησιμοποιείται το PRIO, αλλά αν δεν υπάρχει κίνηση στην ουρά, λειτουργεί όπως DRR.
    • Προστέθηκε ένας νέος τύπος προγραμμάτων BPF BPF_PROG_TYPE_STRUCT_OPS, το οποίο σας επιτρέπει να εφαρμόσετε χειριστές συναρτήσεων πυρήνα μέσω του BPF. Επί του παρόντος, αυτή η δυνατότητα μπορεί ήδη να χρησιμοποιηθεί για την εφαρμογή αλγορίθμων ελέγχου συμφόρησης TCP με τη μορφή προγραμμάτων BPF. Ως παράδειγμα προτείνεται Πρόγραμμα BPF με εφαρμογή αλγορίθμου DCTCP.
    • Αποδεκτό στον πυρήνα αλλαγές, μεταφραστικά εργαλεία ettool με ioctl() για χρήση διεπαφή netlink. Η νέα διεπαφή διευκολύνει την προσθήκη επεκτάσεων, βελτιώνει τον χειρισμό σφαλμάτων, επιτρέπει την αποστολή ειδοποιήσεων όταν αλλάζει κατάσταση, απλοποιεί την αλληλεπίδραση μεταξύ του πυρήνα και του χώρου χρήστη και μειώνει τον αριθμό των ονομασμένων λιστών που πρέπει να συγχρονιστούν.
    • Προστέθηκε η υλοποίηση του αλγόριθμου διαχείρισης ουράς δικτύου FQ-PIE (Flow Queue PIE), με στόχο τη μείωση των αρνητικών επιπτώσεων της προσωρινής αποθήκευσης ενδιάμεσων πακέτων στον εξοπλισμό του δικτύου αιχμής (bufferbloat). Το FQ-PIE επιδεικνύει υψηλή απόδοση όταν χρησιμοποιείται σε συστήματα με καλωδιακά μόντεμ.
  • Υποσύστημα δίσκου, I/O και συστήματα αρχείων
    • Για σύστημα αρχείων Btrfs προστέθηκε ασύγχρονη υλοποίηση της λειτουργίας DISCARD (επισήμανση απελευθερωμένων μπλοκ που δεν χρειάζεται πλέον να αποθηκεύονται φυσικά). Αρχικά, οι λειτουργίες DISCARD πραγματοποιήθηκαν συγχρονισμένα, γεγονός που θα μπορούσε να οδηγήσει σε υποβάθμιση της απόδοσης λόγω των μονάδων δίσκου που περιμένουν να ολοκληρωθούν οι αντίστοιχες εντολές. Η ασύγχρονη υλοποίηση σάς επιτρέπει να μην περιμένετε να ολοκληρωθεί η μονάδα DISCARD και να εκτελέσετε αυτήν τη λειτουργία στο παρασκήνιο.
    • Σε XFS διεξήχθη Εκκαθάριση κώδικα που χρησιμοποιούσε παλιούς μετρητές χρόνου 32 bit (ο τύπος time_t αντικαταστάθηκε από το time64_t), οδηγώντας στο πρόβλημα του 2038. Διορθώθηκαν σφάλματα και καταστροφή μνήμης που παρουσιάστηκαν σε πλατφόρμες 32 bit. Ο κώδικας έχει επεξεργαστεί εκ νέου για να λειτουργεί με εκτεταμένα χαρακτηριστικά.
    • Στο σύστημα αρχείων ext4 μπήκε Βελτιστοποιήσεις απόδοσης που σχετίζονται με το χειρισμό του κλειδώματος inode κατά τη διάρκεια λειτουργιών ανάγνωσης και εγγραφής. Βελτιωμένη απόδοση επανεγγραφής σε λειτουργία Direct I/O. Για να απλοποιηθεί η διάγνωση προβλημάτων, ο πρώτος και ο τελευταίος κωδικός σφάλματος αποθηκεύονται στο superblock.
    • Στο σύστημα αρχείων F2FS εφαρμόστηκε δυνατότητα αποθήκευσης δεδομένων σε συμπιεσμένη μορφή. Για ένα μεμονωμένο αρχείο ή κατάλογο, η συμπίεση μπορεί να ενεργοποιηθεί χρησιμοποιώντας την εντολή "chattr +c file" ή "chattr +c dir; αγγίξτε dir/file". Για να συμπιέσετε ολόκληρο το διαμέρισμα, μπορείτε να χρησιμοποιήσετε την επιλογή «-o compress_extension=ext» στο βοηθητικό πρόγραμμα προσάρτησης.
    • Ο πυρήνας περιλαμβάνει ένα σύστημα αρχείων ZoneFS, που απλοποιεί την εργασία χαμηλού επιπέδου με συσκευές αποθήκευσης με ζώνες. Ως μονάδες με ζώνες νοούνται συσκευές σε σκληρούς μαγνητικούς δίσκους ή SSD NVMe, ο χώρος αποθήκευσης στους οποίους χωρίζεται σε ζώνες που αποτελούν ομάδες μπλοκ ή τομέων, στις οποίες επιτρέπεται μόνο η διαδοχική προσθήκη δεδομένων, ενημερώνοντας ολόκληρη την ομάδα μπλοκ. Το FS ZoneFS αναπτύχθηκε από τη Western Digital και συσχετίζει κάθε ζώνη στη μονάδα δίσκου με ένα ξεχωριστό αρχείο που μπορεί να χρησιμοποιηθεί για την αποθήκευση δεδομένων σε μη επεξεργασμένη λειτουργία χωρίς χειρισμούς σε επίπεδο τομέα και μπλοκ, π.χ. Επιτρέπει στις εφαρμογές να χρησιμοποιούν το API αρχείου αντί να έχουν άμεση πρόσβαση στη συσκευή μπλοκ χρησιμοποιώντας ένα ioctl.
    • Στο NFS, η τοποθέτηση κατατμήσεων μέσω UDP είναι απενεργοποιημένη από προεπιλογή. Προστέθηκε υποστήριξη για τη δυνατότητα απευθείας αντιγραφής αρχείων μεταξύ διακομιστών, όπως ορίζεται στην προδιαγραφή NFS 4.2. Προστέθηκε μια νέα επιλογή προσάρτησης "softreval", η οποία επιτρέπει τη χρήση αποθηκευμένων τιμών χαρακτηριστικών σε περίπτωση αποτυχίας διακομιστή. Για παράδειγμα, όταν καθορίζετε αυτήν την επιλογή, αφού ο διακομιστής δεν είναι διαθέσιμος, παραμένει δυνατή η μετακίνηση κατά μήκος των διαδρομών στο διαμέρισμα NFS και η πρόσβαση σε πληροφορίες που έχουν εγκατασταθεί στην κρυφή μνήμη.
    • Διεξήχθη βελτιστοποίηση της απόδοσης του μηχανισμού fs-verity, που χρησιμοποιείται για την παρακολούθηση της ακεραιότητας και του ελέγχου ταυτότητας μεμονωμένων αρχείων. Αυξήθηκε η διαδοχική ταχύτητα ανάγνωσης χάρη στη χρήση ενός δέντρου κατακερματισμού Merkle. Η απόδοση του FS_IOC_ENABLE_VERITY έχει βελτιστοποιηθεί όταν δεν υπάρχουν δεδομένα στην κρυφή μνήμη (έχει εφαρμοστεί προληπτική ανάγνωση σελίδων με δεδομένα).
  • Εικονικοποίηση και Ασφάλεια
    • Η δυνατότητα απενεργοποίησης της μονάδας SELinux κατά την εκτέλεση έχει καταργηθεί και η εκφόρτωση ενός ήδη ενεργοποιημένου SELinux θα απαγορεύεται στο μέλλον. Για να απενεργοποιήσετε το SELinux θα χρειαστεί να περάσετε την παράμετρο "selinux=0" στη γραμμή εντολών του πυρήνα.
    • Προστέθηκε υποστήριξη χώρων ονομάτων για το χρόνο (χώροι ονομάτων χρόνου), επιτρέποντάς σας να συνδέσετε την κατάσταση του ρολογιού του συστήματος στο κοντέινερ (CLOCK_REALTIME,
      CLOCK_MONOTONIC, CLOCK_BOOTTIME), χρησιμοποιήστε τον δικό σας χρόνο στο κοντέινερ και, κατά τη μετεγκατάσταση του κοντέινερ σε άλλο κεντρικό υπολογιστή, βεβαιωθείτε ότι οι ενδείξεις CLOCK_MONOTONIC και CLOCK_BOOTTIME παραμένουν αμετάβλητες (λάβετε υπόψη τον χρόνο μετά τη φόρτωση, με ή χωρίς να λαμβάνετε υπόψη ότι είστε σε κατάσταση αναστολής λειτουργίας ).

    • Η ομάδα αποκλεισμού /dev/random έχει αφαιρεθεί. Η συμπεριφορά του /dev/random είναι παρόμοια με το /dev/urandom όσον αφορά την πρόληψη του αποκλεισμού της εντροπίας μετά την προετοιμασία του pool.
    • Ο πυρήνας του πυρήνα περιλαμβάνει ένα πρόγραμμα οδήγησης που επιτρέπει στα συστήματα φιλοξενούμενων που εκτελούν το VirtualBox να προσαρτούν καταλόγους που εξάγονται από το περιβάλλον του κεντρικού υπολογιστή (Κοινόχρηστος φάκελος VirtualBox).
    • Στο υποσύστημα BPF προστέθηκε ένα σύνολο patches (Αποστολέας BPF), όταν χρησιμοποιείτε τον μηχανισμό Retpoline για προστασία από επιθέσεις κλάσης Spectre V2, σας επιτρέπει να αυξήσετε την αποτελεσματικότητα της κλήσης προγραμμάτων BPF όταν συμβαίνουν συμβάντα που σχετίζονται με αυτά (για παράδειγμα, καθιστά δυνατή την επιτάχυνση της κλήσης χειριστών XDP όταν φθάνει το πακέτο δικτύου).
    • Προστέθηκε πρόγραμμα οδήγησης για υποστήριξη TEE (Trusted Execution Environment) ενσωματωμένο σε APU AMD.
  • Υπηρεσίες μνήμης και συστήματος
    • Η BPF έχει προσθέσει υποστήριξη για καθολικές λειτουργίες. Η ανάπτυξη πραγματοποιείται ως μέρος μιας πρωτοβουλίας για την προσθήκη υποστήριξης για βιβλιοθήκες λειτουργιών που μπορούν να συμπεριληφθούν στα προγράμματα BPF. Το επόμενο βήμα θα είναι η υποστήριξη δυναμικών επεκτάσεων που επιτρέπουν τη φόρτωση καθολικών συναρτήσεων, συμπεριλαμβανομένης της αντικατάστασης υπαρχουσών καθολικών συναρτήσεων ενώ χρησιμοποιούνται. Το υποσύστημα BPF προσθέτει επίσης υποστήριξη για μια παραλλαγή της λειτουργίας χάρτη (χρησιμοποιείται για την αποθήκευση μόνιμα δεδομένων), η οποία υποστηρίζει την εκτέλεση σε λειτουργία δέσμης.
    • Προστέθηκε από Η συσκευή «cpu_cooling» σάς επιτρέπει να ψύξετε μια υπερθερμασμένη CPU τοποθετώντας την σε κατάσταση αδράνειας για μικρά χρονικά διαστήματα.
    • Προστέθηκε κλήση συστήματος openat2(), το οποίο προσφέρει ένα σύνολο πρόσθετων σημαιών για τον περιορισμό της ανάλυσης διαδρομής αρχείου (απαγόρευση διέλευσης σημείων προσάρτησης, συμβολικοί σύνδεσμοι, μαγικοί σύνδεσμοι (/proc/PID/fd), στοιχεία "../").
    • Για ετερογενή συστήματα που βασίζονται στην αρχιτεκτονική big.LITTLE, που συνδυάζουν ισχυρούς και λιγότερο αποδοτικούς ενεργειακά αποδοτικούς πυρήνες CPU σε ένα τσιπ, η παράμετρος uclamp_min ορίζεται κατά την εκτέλεση εργασιών σε πραγματικό χρόνο (εμφανίστηκε στον πυρήνα 5.3 υπάρχει μηχανισμός ασφάλισης του φορτίου). Αυτή η παράμετρος διασφαλίζει ότι η εργασία θα τοποθετηθεί από τον προγραμματιστή σε έναν πυρήνα CPU που έχει επαρκή απόδοση.
    • Ο πυρήνας απελευθερώνεται από προβλήματα του 2038. Αντικατέστησε τους τελευταίους εναπομείναντες χειριστές, οι οποίοι χρησιμοποιούσαν τον 32-bit (υπογεγραμμένο int) τύπο time_t για τον εποχικό μετρητή χρόνου, ο οποίος, λαμβάνοντας υπόψη την αναφορά από το 1970, θα πρέπει να υπερχειλίσει το 2038.
    • Συνεχής βελτίωση της ασύγχρονης διεπαφής I/O io_uringστην οποία εξασφαλισμένη υποστήριξη για νέες λειτουργίες: IORING_OP_FALLOCATE (κράτηση κενών περιοχών), IORING_OP_OPENAT,
      IORING_OP_OPENAT2,
      IORING_OP_CLOSE (άνοιγμα και κλείσιμο αρχείων),
      IORING_OP_FILES_UPDATE (προσθήκη και αφαίρεση αρχείων από τη λίστα γρήγορης πρόσβασης),
      IORING_OP_STATX (αίτημα πληροφοριών αρχείου),
      IORING_OP_READ,
      IORING_OP_WRITE (απλοποιημένα ανάλογα των IORING_OP_READV και IORING_OP_WRITEV),
      IORING_OP_FADVISE,
      IORING_OP_MADVISE (ασύγχρονες παραλλαγές κλήσεων posix_fadvise και madvise), IORING_OP_SEND,
      IORING_OP_RECV (αποστολή και λήψη δεδομένων δικτύου),
      IORING_OP_EPOLL_CTL (εκτελέστε λειτουργίες σε περιγραφείς αρχείων epoll).

    • Προστέθηκε κλήση συστήματος pidfd_getfd(), επιτρέποντας σε μια διεργασία να ανακτήσει έναν περιγραφέα αρχείου για ένα ανοιχτό αρχείο από άλλη διεργασία.
    • Εφαρμόστηκε ο μηχανισμός «bootconfig», ο οποίος επιτρέπει, εκτός από τις επιλογές της γραμμής εντολών, τον προσδιορισμό των παραμέτρων του πυρήνα μέσω ενός αρχείου ρυθμίσεων. Για να προσθέσετε τέτοια αρχεία στην εικόνα του initramfs, προτείνεται το βοηθητικό πρόγραμμα bootconfig. Αυτή η δυνατότητα μπορεί να χρησιμοποιηθεί, για παράδειγμα, για τη διαμόρφωση των kprobes κατά την εκκίνηση.
    • Επανασχεδιασμένο ένας μηχανισμός αναμονής για εγγραφή και ανάγνωση δεδομένων σε μη κατονομαζόμενους σωλήνες. Η αλλαγή κατέστησε δυνατή την επιτάχυνση εργασιών όπως η παράλληλη συναρμολόγηση μεγάλων έργων. Ωστόσο, η βελτιστοποίηση μπορεί να οδηγήσει σε μια συνθήκη αγώνα στο GNU make λόγω ενός σφάλματος στην έκδοση 4.2.1, το οποίο διορθώθηκε στην έκδοση 4.3.
    • Προστέθηκε η σημαία PR_SET_IO_FLUSHER στη prctl(), η οποία μπορεί να χρησιμοποιηθεί για την επισήμανση διεργασιών χωρίς μνήμη που δεν πρέπει να υπόκεινται σε όρια όταν το σύστημα έχει χαμηλή μνήμη.
    • Με βάση το σύστημα διανομής μνήμης ION που χρησιμοποιείται στο Android, έχει υλοποιηθεί ένα υποσύστημα σωροί dma-buf, το οποίο σας επιτρέπει να ελέγχετε την κατανομή των buffer DMA για την κοινή χρήση περιοχών μνήμης μεταξύ προγραμμάτων οδήγησης, εφαρμογών και διαφόρων υποσυστημάτων.
  • Αρχιτεκτονικές υλικού
    • Προστέθηκε υποστήριξη για την επέκταση E0PD, η οποία εμφανίστηκε στο ARMv8.5 και επιτρέπει την προστασία από επιθέσεις που σχετίζονται με κερδοσκοπική εκτέλεση εντολών στην CPU. Η προστασία που βασίζεται σε E0PD έχει ως αποτέλεσμα χαμηλότερα έξοδα από την προστασία KPTI (Kernel Page Table Isolation).
    • Για συστήματα που βασίζονται στην αρχιτεκτονική ARMv8.5, έχει προστεθεί υποστήριξη για την εντολή RNG, παρέχοντας πρόσβαση σε μια γεννήτρια ψευδοτυχαίων αριθμών υλικού. Στον πυρήνα, η εντολή RNG χρησιμοποιείται για τη δημιουργία εντροπίας κατά την προετοιμασία της γεννήτριας ψευδοτυχαίων αριθμών που παρέχεται από τον πυρήνα.
    • Καταργήθηκε η υποστήριξη για MPX (Επεκτάσεις προστασίας μνήμης) που προστέθηκαν στον πυρήνα 3.19 και σας επιτρέπει να οργανώσετε τον έλεγχο των δεικτών για να διασφαλίσετε ότι τηρούνται τα όρια των περιοχών μνήμης. Αυτή η τεχνολογία δεν χρησιμοποιήθηκε ευρέως σε μεταγλωττιστές και αφαιρέθηκε από το GCC.
    • Για την αρχιτεκτονική RISC-V, έχει υλοποιηθεί η υποστήριξη για το εργαλείο εντοπισμού σφαλμάτων KASan (Kernel address sanitizer), το οποίο βοηθά στον εντοπισμό σφαλμάτων κατά την εργασία με τη μνήμη.
  • Оборудование
    • Υλοποιήθηκε υποστήριξη προδιαγραφών 4.0 USB, το οποίο βασίζεται στο πρωτόκολλο Thunderbolt 3 και παρέχει απόδοση έως και 40 Gbps, ενώ διατηρεί συμβατότητα προς τα πίσω με USB 2.0 και USB 3.2. Κατ' αναλογία με Κεραυνός Η διασύνδεση USB 4.0 σάς επιτρέπει να συνδέετε διαφορετικά πρωτόκολλα σε ένα μόνο καλώδιο με μια υποδοχή Τύπος-C, συμπεριλαμβανομένων των PCIe, Display Port και USB 3.x, καθώς και υλοποιήσεις λογισμικού πρωτοκόλλων, για παράδειγμα, για την οργάνωση συνδέσεων δικτύου μεταξύ κεντρικών υπολογιστών. Η υλοποίηση βασίζεται στο πρόγραμμα οδήγησης Thunderbolt που περιλαμβάνεται ήδη στον πυρήνα του Linux και το προσαρμόζει ώστε να λειτουργεί με κεντρικούς υπολογιστές και συσκευές συμβατούς με USB4. Οι αλλαγές προσθέτουν επίσης υποστήριξη για συσκευές Thunderbolt 3 στην εφαρμογή λογισμικού του Connection Manager, το οποίο είναι υπεύθυνο για τη δημιουργία σηράγγων για τη σύνδεση πολλών συσκευών μέσω ενός μόνο βύσματος.
    • Στο πρόγραμμα οδήγησης amdgpu προστέθηκε αρχική υποστήριξη για τεχνολογία προστασίας αντιγραφής HDCP 2.x (High-bandwidth Digital Content Protection). Προστέθηκε υποστήριξη για το τσιπ AMD Pollock ASIC που βασίζεται στο Raven 2. Εφάρμοσε τη δυνατότητα επαναφοράς της GPU για τις οικογένειες Renoir και Navi.
    • Πρόγραμμα οδήγησης DRM για κάρτες γραφικών Intel προστέθηκε Υποστήριξη DSI VDSC για τσιπ που βασίζονται στη μικροαρχιτεκτονική Ice Lake και Tiger Lake, LMEM mmap (τοπική μνήμη συσκευής), έχει βελτιωθεί η ανάλυση VBT (Video BIOS Table), έχει εφαρμοστεί υποστήριξη HDCP 2.2 για τσιπ Coffee Lake.
    • Συνεχίστηκαν οι εργασίες για την ενοποίηση του κώδικα προγράμματος οδήγησης amdkfd (για διακριτές GPU, όπως Fiji, Tonga, Polaris) με το πρόγραμμα οδήγησης amdgpu.
    • Το πρόγραμμα οδήγησης k10temp έχει τροποποιηθεί, προσθέτοντας υποστήριξη για την εμφάνιση παραμέτρων τάσης και ρεύματος για επεξεργαστές AMD Zen, καθώς και διευρυμένες πληροφορίες από αισθητήρες θερμοκρασίας που χρησιμοποιούνται σε επεξεργαστές Zen και Zen 2.
    • Στο νουβό οδηγό προστέθηκε υποστήριξη για επαληθευμένη λειτουργία φόρτωσης υλικολογισμικού για GPU NVIDIA με βάση τη μικροαρχιτεκτονική Turing (GeForce RTX 2000), η οποία κατέστησε δυνατή την ενεργοποίηση της υποστήριξης για επιτάχυνση 3D για αυτές τις κάρτες (απαιτείται λήψη επίσημου υλικολογισμικού με ψηφιακή υπογραφή NVIDIA). Προστέθηκε υποστήριξη για τη μηχανή γραφικών TU10x. Τα προβλήματα με τον ήχο HD επιλύθηκαν.
    • Προστέθηκε υποστήριξη για συμπίεση δεδομένων όταν μεταδίδονται μέσω DisplayPort MST (Multi-Stream Transport).
    • Προστέθηκε νέο πρόγραμμα οδήγησης "αθ11κ» για ασύρματα τσιπ Qualcomm που υποστηρίζουν 802.11ax.
      Το πρόγραμμα οδήγησης βασίζεται στη στοίβα mac80211 και υποστηρίζει λειτουργίες σημείου πρόσβασης, σταθμού εργασίας και κόμβου δικτύου.

    • Μέσω του sysfs, παρέχεται πρόσβαση σε αναγνώσιμες ενδείξεις αισθητήρων θερμοκρασίας που χρησιμοποιούνται σε σύγχρονους σκληρούς δίσκους και SSD.
    • Υποβλήθηκε σημαντικές αλλαγές στο ηχοσύστημα ALSA, με στόχο την απαλλαγή από τον κώδικα προβλήματα του 2038 (αποφεύγοντας τη χρήση του τύπου time_t 32 bit στις διεπαφές snd_pcm_mmap_status και snd_pcm_mmap_control). Προστέθηκε υποστήριξη για νέους κωδικοποιητές ήχου
      Qualcomm WCD9340/WCD9341, Realtek RT700, RT711, RT715, RT1308, Ingenic JZ4770.

    • Προστέθηκε προγράμματα οδήγησης για οθόνες LCD Logic PD 28, Jimax8729d MIPI-DSI, igenic JZ4770, Sony acx424AKP, Leadtek LTK500HD1829, Xinpeng XPP055C272, AUO B116XAK01, GiantPlus GPM
      BOE NV140FHM-N49,
      Satoz SAT050AT40H12R2,
      Sharp LS020B1DD01D.

    • Προστέθηκε υποστήριξη για πλακέτες ARM και πλατφόρμες Gen1 Amazon Echo (βασισμένο σε OMAP3630), Samsung Galaxy S III mini (GT-I8190), Allwinner Emlid Neutis, Libre Computer ALL-H3-IT, PineH64 Model B, Aibretech Amlogic GX PC,
      Armada SolidRun Clearfog GTR, NXPGateworks GW59xx,
      Tolino Shine 3 eBook reader,
      Embedded Artists COM (i.MX7ULP), SolidRun Clearfog CX/ITX and HoneyComb (LX2160A), Google Coral Edge TPU (i.MX8MQ),
      Rockchip Radxa Dalang Carrier, Radxa Rock Pi N10, VMARC RK3399Pro SOM
      ST Ericsson HREF520, Inforce 6640, SC7180 IDP, Atmel/Microchip AM9X60 (ARM926 SoC, Kizboxmini), ST stm32mp15, AM3703/AM3715/DM3725, ST Ericsson ab8505, QuoSCA9863 Προστέθηκε υποστήριξη για τον ελεγκτή PCIe που χρησιμοποιείται στο Raspberry Pi 7180.

Ταυτόχρονα, το Ίδρυμα Ελεύθερου Λογισμικού της Λατινικής Αμερικής σχηματίστηκε
επιλογή εντελώς δωρεάν πυρήνας 5.6 - Linux-libre 5.6-gnu, απαλλαγμένα από στοιχεία υλικολογισμικού και προγράμματος οδήγησης που περιέχουν μη ελεύθερα στοιχεία ή τμήματα κώδικα, το πεδίο εφαρμογής των οποίων περιορίζεται από τον κατασκευαστή. Η νέα έκδοση απενεργοποιεί τη φόρτωση blob σε προγράμματα οδήγησης για AMD TEE, ATH11K και Mediatek SCP. Ενημερωμένος κώδικας καθαρισμού blob σε προγράμματα οδήγησης και υποσυστήματα AMD PSP, amdgpu και nouveau.

Πηγή: opennet.ru

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