
Ο πυρήνας του Linux πρόκειται να κάνει ένα σημαντικό άλμα προς τα εμπρός στην υποστήριξη των υπολογιστών Apple. Το έργο Asahi Linux, το οποίο εργάζεται εδώ και χρόνια για να διασφαλίσει τη βέλτιστη απόδοση του Linux στα τσιπ M1, M2 και M3, κυκλοφόρησε μια σειρά από 19 ενημερώσεις κώδικα που στοχεύουν στην επίσημη ενσωμάτωση της συνδεσιμότητας USB4 και Thunderbolt. Αυτή η πρόταση, που συντάχθηκε από τον προγραμματιστή Sven Peter, βρίσκεται ήδη στην κύρια λίστα αλληλογραφίας του πυρήνα, αντιπροσωπεύοντας ένα σταθερό βήμα προς τη συμβατότητα που πολλοί χρήστες περίμεναν.
Αυτά τα νέα είναι ιδιαίτερα σημαντικά για το οικοσύστημα Linux στην Ευρώπη, όπου ένας αυξανόμενος αριθμός επαγγελματιών χρησιμοποιεί αυτούς τους Mac ως σταθμούς εργασίας . Μέχρι τώρα, η έλλειψη ενός αποκλειστικού προγράμματος οδήγησης περιόριζε τη χρήση περιφερειακών υψηλής ταχύτητας, εξωτερικών αποθηκευτικών χώρων και οθονών. Με αυτές τις ενημερώσεις κώδικα, η κατάσταση αρχίζει να αλλάζει, αν και εξακολουθούν να υπάρχουν ορισμένα εμπόδια που πρέπει να ξεπεραστούν, όπως η έλλειψη υποστήριξης για PCIe και DisplayPort tunneling , τα οποία θα επιλυθούν με την πάροδο του χρόνου.
Το μπλοκ ACIO, το κλειδί για τη συνδεσιμότητα
Η κύρια τεχνική πρόκληση έγκειται στο μπλοκ ACIO (Apple Converged I/O) . Αυτό το στοιχείο, το οποίο ενσωματώνει έναν συνεπεξεργαστή Cortex-M3 , λειτουργεί ως ενδιάμεσος μεταξύ του συστήματος και των φυσικών ελεγκτών. Τα patches υλοποιούν άμεση επικοινωνία με αυτό το μπλοκ, επιτρέποντας στον πυρήνα να διαχειρίζεται τη διαπραγμάτευση σύνδεσης USB4. Ωστόσο, η τρέχουσα υλοποίηση δεν περιλαμβάνει σήραγγες PCIe ή DisplayPort, οι οποίες είναι απαραίτητες για τη σύνδεση εξωτερικών καρτών γραφικών (eGPU) ή οθονών υψηλής ανάλυσης. Η κοινότητα ελπίζει ότι τα επόμενα βήματα θα αντιμετωπίσουν αυτούς τους περιορισμούς, αλλά προς το παρόν, είναι ένα σταθερό βήμα προς τα εμπρός.
Η αντίστροφη μηχανική εργασία ήταν μνημειώδης, καθώς η Apple δεν συνεργάζεται στο έργο. Ο Sven Peter έπρεπε να παρατηρήσει τη συμπεριφορά του υλικού και να ανακατασκευάσει τη λειτουργία του κομμάτι-κομμάτι. Η ακολουθία αρχικοποίησης πρέπει να αντιμετωπίσει τα συγκεκριμένα χαρακτηριστικά του χώρου μνήμης του ACIO πριν από την εγγραφή του υλικού στο Linux. Ο κύριος ελεγκτής ενεργοποιεί το ACIO, ξεκινά τον συνεπεξεργαστή και δημιουργεί τις δευτερεύουσες συσκευές DART και NHI όταν οι περιοχές μνήμης τους γίνουν προσβάσιμες - μια αλυσίδα βημάτων που εξηγεί γιατί η υποστήριξη έχει αργήσει τόσο πολύ να φτάσει.
Τι λειτουργεί και τι μένει να γίνει
Η τρέχουσα σειρά επιτρέπει στον ελεγκτή NHI να εγγραφεί στον διαχειριστή συνδέσεων λογισμικού Thunderbolt και USB4. Προς το παρόν, ο κώδικας υποστηρίζει συνδέσεις XDomain και διοχέτευση USB3 μέσω USB4, δύο δυνατότητες που παρέχουν μια λειτουργική βάση για τη σύνδεση συμβατών συσκευών. Η αναστολή συστήματος παραμένει απενεργοποιημένη όταν υπάρχει ενεργή σύνδεση λόγω του κινδύνου σφάλματος SError κατά την επανεκκίνηση, ένα ζήτημα που οι προγραμματιστές ελπίζουν να αντιμετωπίσουν σε μελλοντικές εκδόσεις.
Τα τρία τελευταία patches της σειράς προσθέτουν τους κόμβους του δέντρου συσκευών που αντιστοιχούν στα τσιπ M1 και M2. Οι κόμβοι για το M3 θα προστεθούν όταν το υπόλοιπο της στοίβας φτάσει στον κύριο πυρήνα, αν και ο τρέχων κώδικας Thunderbolt και USB4 έχει ήδη δοκιμαστεί με επιτυχία σε συσκευές που βασίζονται σε αυτό το τσιπ. Αυτό σημαίνει ότι, αν και δεν έχει ακόμη εφαρμοστεί πλήρως, έχουν τεθεί τα θεμέλια για μελλοντικές εκδόσεις τυπικών Linux που θα προσφέρουν αυτήν τη λειτουργικότητα χωρίς να βασίζονται σε εξωτερικές τροποποιήσεις.
Η κοινότητα των προγραμματιστών συνεχίζει να αποδεικνύει ότι, με υπομονή και συλλογική εργασία, είναι δυνατό να φέρει το Linux πιο κοντά σε ένα επίπεδο πλήρους συμβατότητας με το υλικό της Apple. Ενώ ορισμένες εργασίες παραμένουν, όπως η διοχέτευση PCIe, το DisplayPort και η ασφαλής διαχείριση ύπνου, η πρόοδος είναι απτή και θέτει τις βάσεις για μελλοντικές εκδόσεις πυρήνα που θα προσφέρουν μια πολύ πιο ολοκληρωμένη εμπειρία στους χρήστες Mac με τσιπ M1, M2 και M3.


