Celui qui a porté Linux sur PS4 et Switch s'attaque à Linux sur Apple Silicon
Qu'à cela ne tienne, si Linus Torvald ne veut pas porter Linux sur Apple Silicon en dépit de son intérêt pour le MacBook Air M1, c'est un autre développeur qui le fera. Hector Martin, dont le passe-temps avec son équipe fail0verflow est de faire tourner des distributions Linux complètes sur toutes sortes d'appareils, comme la PlayStation 4 et la Switch, veut faire de même sur la nouvelle architecture d'Apple.

On peut d'ores et déjà virtualiser Linux sur les Mac M1 — et même Windows 10 ARM —, mais le hacker de renom a un objectif plus ambitieux : « rendre Linux compatible au-delà d'une simple démo technique, jusqu'au point où vous voudriez utiliser ce système au quotidien sur un Mac Apple Silicon. » Un objectif qui nécessite selon lui énormément de travail, car « si faire tourner Linux sur différents trucs est facile, le faire tourner de manière convenable est une autre paire de manches. »
Pour pouvoir se consacrer comme il se doit à ce projet, il a ouvert une campagne de financement participatif sur Patreon dont le palier essentiel a d'ores et déjà été atteint. Il est néanmoins toujours possible de le soutenir financièrement à partir de 3 $/mois pour qu'il s'y consacre à plein temps et pour suivre son avancée.
À partir du mois de janvier, Hector « marcan » Martin va donc commencer à écrire des pilotes Linux compatibles Apple Silicon, à s'intéresser à la gestion de l'alimentation, et tout le toutim. Le développeur va d'abord concentrer le portage sur le Mac mini M1, mais les autres Mac sont aussi dans le viseur. Son projet sera open source, permettant ainsi à chaque développeur d'apporter sa pierre. Hector Martin a l'ambition de jouer le rôle de chef d'orchestre dans la naissance d'un Linux idéal sur Apple Silicon.
On parle toujours de virtualisation ou d’un boot direct ? (Je sais pas si je suis très clair 🤔).
@DamienLT
Boot si non c’est trop simple pour lui 😎
@YetOneOtherGit
Ben oui où avais-je la tête 🤦🏼♂️ (merci pour la réponse au passage ☺️).
Bravo à ce gars qui a les kiwis de se lancer dans un tel chantier !
C'est judicieux car on trouve toujours, et heureusement, des étudiants en informatique qui font leurs dents sur Linux, pour développer mais pas que, les réseaux, le serveur, etc...
Moi j'aimerai plutôt bien un *BSD sur ces machines...
+1 pour un *BSD...
Pour rappel, Darwin qui est le noyaux Unix de Mac OS X est un FreeBSD à la base ;-)
@mika944
"FreeBSD"
Mach, NeXTStep et MacOS ne repose pas sur ce fork de BSD. 😉
@mika944,
« Pour rappel, Darwin qui est le noyaux Unix de Mac OS X est un FreeBSD à la base »
😲
Vous avez un gros problème de mémoire !
Pour rappel, NeXTstep était basé sur le noyau Mach qui servit de base à XNU, pas FreeBSD !
Mais où allez-vous chercher des trucs pareils ?
😁
@Scooby-Doo
C’était plutôt un « compatible » BSD, avec une compatibilité Posix, proche de freeBSD dans son architecture mais que proche, et encore, de loin seulement.
Avouons que parfois Apple (avec un coeur de SJ battant en elle) aime réinventer la roue à sa manière, c’est pour cela qu’on l’aime.
@pacou
"C’était plutôt un « compatible » BSD, avec une compatibilité Posix, proche de freeBSD dans son architecture mais que proche, et encore, de loin seulement."
Que ce soit OpenStep ou MacOS ils s’inscrivent clairement dans l’héritage BSD au sein de la complexe généalogie des très nombreux héritiers de l’Unix orignal.
@pacou
"Avouons que parfois Apple (avec un coeur de SJ battant en elle) aime réinventer la roue à sa manière, c’est pour cela qu’on l’aime."
Au niveau des héritiers d’Unix cette « réinvention » de la roue comme tu dis n’est en rien le propre d’Apple.
Ce n’est pas pour rien qu’il y eu des tentatives de normalisation via POSIX.
Rien que dans ma petite existence j’ai bossé sur : SunOs puis Solaris, AIX, HP-UX, IRIX, OpenStep pour les principaux, tous issus des deux branches mères système V et BSD. Un beau bordel 🤩
C'est tellement génial de réinventer la roue !
Chapeau, même si je préfère de loin le faire tourner sur autre chose qu’un mac : pourquoi dépenser autant dans une telle machine, le seul intérêt qui reste de mon point de vu au mac est son OS, même si de plus en plus verrouillé.
Il n’a même plus pour lui l’évolutivité et la possibilité d’installer deux ssd pour faire un dual boot séparé.
Rien que ces quelques points sont devenus pour moi rédhibitoires, au point ou les macs sont devenus des machines secondaires chez nous : pour faire tourner un soft qui n’existe pas sous d’autres OS et dont on a des fichiers de prod.
Quand ils lâcheront plus question de les remplacer, on trouvera des passerelles pour ouvrir nos fichiers sur des programmes multi OS, vive la liberté 😀
@CorbeilleNews
Mais c’est indispensable de virtualiser Linux pour bosser 😅
Une Linux idéal, ça laisse rêveur :)
Le noyau dur de la communauté Linux s'en cogne tellement des fonctionnalités à implémenter dans le noyau pour arriver à un usage raisonné de la batterie et de l'accélération matérielle sur un portable.
Je lui souhaite bon courage en tout cas.
@trouaz,
« Une Linux idéal, ça laisse rêveur :) »
C'est vrai que mettre Linux et idéal dans la même phrase, c'est osé tout de même !
Bon, faut bien que jeunesse se passe et que le petit gars se fasse les dents sur un OS à ronger !!!
😁
Concrètement, quelle utilité?
Vu les spécificités du M1, on pourra juste faire tourner du code ARM classique, donc sans utiliser la partie graphique, le neural engine, etc...
On va retrouver avec un Linux castré moins rapide que sur un raspberry pi.
@redchou
Quand même pas ;)
Car sur un Pi4, hormis Raspbian, le reste ça tourne au ralenti 😌
@fredsoo
C’est l’idée que j’ai voulu développer ici, sur M1, hormis macOS, le reste tournera au ralenti...
(En natif, vu que la puce ne sera pas du tout exploité correctement en l’absence de driver, par contre en virtualization, il peut y avoir un intérêt.. )
C’est clair que ça va être simple, Apple faisant tout comme à son habitude pour bloquer tout autre boot ...
@ fredsoo
La comparaison a déjà été faite mille fois, mais elle reste valable :
Aucun constructeur de voiture en France ne facilite la vie des personnes qui voudraient mettre un moteur d'une autre marque. Et l'obligation de passer aux mines après un tel changement fait que c'est quasiment mission impossible.
Mais visiblement, ça ne gène personne.
Un grand classique du deux poids, deux mesures...
Ne pas se fader les mouchards de Big Sur ?
Avoir le contrôle de ce qu'on achète ?
Vouloir utiliser Linux est autant politique que de vouloir consommer local.
Concernant le neural engine, ça va un peu contre la philosophie Linux. Ça sert surtout à alimenter Siri (et Apple sur tes habitudes).
@Dr Troy
« Concernant le neural engine, ça va un peu contre la philosophie Linux. Ça sert surtout à alimenter Siri (et Apple sur tes habitudes). »
?????
@Dr Troy
Ne pas se fader les mouchards de Big Sur ?
Avoir le contrôle de ce qu'on achète ?
- Autant utiliser un ordinateur supporté par Linux officiellement...
Vouloir utiliser Linux est autant politique que de vouloir consommer local.
- Je ne suis pas "anti-Linux", je dis juste qu’utiliser Linux dans ces conditions n’est pas souhaitable, voir l’avis de Linus Torvalds...
Concernant le neural engine, ça va un peu contre la philosophie Linux. Ça sert surtout à alimenter Siri (et Apple sur tes habitudes).
- Ce n’est pas juste pour Siri... Ça accélère pas mal de traitement, l’apprentissage de modèle, etc...
Et le Neural Engine n’est qu’une partie de ce que je voulais exprimer, il y a le GPU, l’ISP, etc...
Bref, tout ce qui fait le M1 un processeur ARM intéressant comparativement aux autres qui existent déjà...
Malheureusement les "supportés officiellement" ne courent pas les rues, même si certains constructeurs font des efforts ces derniers temps (je pense à lenovo, j'écris justement d'un X1 sous Linux).
L'intérêt est sûrement dans un premier temps la prouesse technique, mais si ça fonctionne bien, autant profiter d'un bon hardware. Mais effectivement, si c'est pour que ça tourne mal aucun intérêt. Mais il faut bien essayer, et puis ça prendra du temps pour l'optimisation.
Et je sais que le Neural Engine n'est pas que pour Siri, mais c'est l'un de leur intérêt principal, mais globalement c'est surtout de l'apprentissage des habitudes pour optimiser le hardware (ce que récolte Apple, arrêtez de vous leurrer, Google vous vend de la pub, Apple vous vend du matériel et du service, vous vivez dans quel monde ?).
@Dr Troy
Malheureusement les "supportés officiellement" ne courent pas les rues, même si certains constructeurs font des efforts ces derniers temps (je pense à lenovo, j'écris justement d'un X1 sous Linux).
- Oui, même si le support de ces machines ressemble plus à sortir une config avec du matériel compatibles et supporté pr la communauté et c’est tout...
Il y en a aussi sous ARM, mais niveau performance on est loin des M1...
L'intérêt est sûrement dans un premier temps la prouesse technique, mais si ça fonctionne bien, autant profiter d'un bon hardware. Mais effectivement, si c'est pour que ça tourne mal aucun intérêt.
- J’ai peur que ça s’arrête à la prouesse technique, autant faire tourner du code, ok, mais faire de l’ingénierie inverse de tous les drivers, c’est mission impossible...
Et je sais que le Neural Engine n'est pas que pour Siri, mais c'est l'un de leur intérêt principal, mais globalement c'est surtout de l'apprentissage des habitudes pour optimiser le hardware (ce que récolte Apple, arrêtez de vous leurrer, Google vous vend de la pub, Apple vous vend du matériel et du service, vous vivez dans quel monde ?).
- Actuellement, et encore, Apple pousse de plus en plus à l’utilisation de ce type de traitements, et dans tous les domaines, images, vidéos, texte...
Il ne faut pas être parano non plus, prudent oui, mais quand même...
@redchou : faut dire qu'Apple n'a pas été spécialement rassurante ces derniers temps. Enfin ça n'a pas l'air d'émouvoir grand monde, moins que des benchmarks visiblement.
@Dr Troy
faut dire qu'Apple n'a pas été spécialement rassurante ces derniers temps. Enfin ça n'a pas l'air d'émouvoir grand monde, moins que des benchmarks visiblement.
- C’est à propos de ses services qui contournent les logiciels comme Little Snitch?
Il y en a d’autre?
@redchou
Une bonne partie de l'infrastructure scientifique (et technique, mais bon...) est pour l'instant laissée de côté, sans que cela n'émeuve grand-monde :
https://isapplesiliconready.com/for/developer
Des outils dont ceux qui travaillent dans le quantitatif, ont besoin à longueur de journée (R, RStudio, Fortran 90, Haskell, Python, Julia, (+VSC, +Atom), ...), seul Python est disponible en natif, et optimisé. Pour R, la situation est pour l'instant particulièrement sombre, en raison de l'absence de tout compilateur Fortran 90 natif :
https://developer.r-project.org/Blog/public/2020/11/02/will-r-work-on-apple-silicon/
Si l'on se rend compte des gains époustouflants de productivité que permet une application native bien optimisée sur Apple Silicon, comme vient de l'illustrer TensorFlow 2.4, c'est à se battre la tête contre les murs :
https://blog.tensorflow.org/2020/11/accelerating-tensorflow-performance-on-mac.html
On n'ignore un tel potentiel d'accélération, quand on a la maîtrise de son architecture, de son OS, et tellement de fric à brûler, comme Apple, que si l'on s'en fout royalement et absolument de tout ce secteur. Que si l'on considère que l'accumulation d'emoji est plus importante que de donner un coup de pouce vital et urgent à GCC et LLVM sur la nouvelle architecture.
Alors, l'environnement Linux idéal sur cette plateforme ? Avec un maître des lieux et des forges ayant cette attitude ? Dream on !
Le tableau que tu dépeints est exagérément pessimiste. Nous sommes au tout début de la transition, et même le billet de blog que tu cites pour R est bien plus optimiste que le résumé que tu en fais.
Apple ne peut pas faire tout le travail de portage pour tous les développeurs, et ils font beaucoup plus d'effort que Microsoft pour Windows ARM, Apple contribue à de nombreux projets open source, dont LLVM (le dernier commit d'Apple sur son fork du projet LLVM n'est pas plus vieux qu'il y a 4h !), Mono, Python, Node, QT, V8, ...
La transition sur Intel a pris des mois avant d'avoir une bonne logithèque native, notamment pour les développeurs, et cette transition prendra aussi des mois. Mais comme on peut le voir sur le site "Is Apple silicon ready for Developers?", la quasi totalité des outils listés marchent via Rosetta à l'exception notable (mais logique, car il nécessite de la virtualisation) de Docker qui cependant travail activement au support des Macs Apple Silicon et pour le coup avec l'aide d'Apple.
@occam
un peu de patience 😉
@redchou : les écoutes de Siri, les vulnérabilités croissantes des dernières versions de macOS... et HS mais puisqu'on parle de confiance, j'accorde moyennement ma confiance à une boîte qui envoie ses lobbyistes pour ne pas faire passer une loi qui régule le travail forcé. Enfin bon les M1 sont cools, qu'est-ce qu'on s'en fout !
@Dr Troy
"j'accorde moyennement ma confiance à une boîte qui envoie ses lobbyistes pour ne pas faire passer une loi qui régule le travail forcé."
Nope une loi qui rend pénalement responsable une entreprise des agissements de ses sous-traitants qu’elles ne peut totalement contrôler.
Tu vas être mal : aucune entreprise ne peut accepter cela sans s’y opposer et toutes les majors US s’y opposent d’une même voix et cela ne veut absolument pas dire que ces entreprises font l’apologie du travail forcé.
Les jugement à l’emporte-pièce pièce nourris au pathos c’est pratique et ça ne demande pas beaucoup d’effort mais c’est inepte.
@Dr Troy
"les écoutes de Siri"
A minima tu sais que contrairement aux autres acteurs de ce segment Apple n’a aucune offre commerciale à destination des tiers basée sur la valorisation de la vie de ses utilisateurs.
Ce qu’il y a de plus rassurant sur les question de confidentialité pour Apple c’est le rapport d’activité.
@YetOneOtherGit : "Apple n’a aucune offre commerciale à destination des tiers basée sur la valorisation de la vie de ses utilisateurs."
Je t'accorde le côté pathos, j'ai bien précisé le HS par contre j'étais persuadé qu'Apple vendait des produits et des services, effectivement ils n'auraient aucun intérêt à utiliser nos données si ce n'est pour notre bien être. Bref je vais arrêter cette intéressante discussion, tout ça pour dire que je suis autant content pour le hardware que déçu par le virage que prend le software depuis un moment, du coup l'idée d'une compatibilité avec Linux me plaît.
@Dr Troy@
Concernant le neural engine, ça va un peu contre la philosophie Linux. Ça sert surtout à alimenter Siri (et Apple sur tes habitudes).
Une certaine communauté Linux a pour quasi constante de savoir se rendre très sympathique en toute circonstance :)
Le jour où cette partie de la communauté aura enfin compris que c'est pas comme cela qu'on peut emporter un minimum d'adhésion, peut être qu'on pourra enfin avoir un OS qui a sa place autre part que sur un serveur dans une armoire.
@trouaz : Une certaine communauté Apple a l'air d'être bien susceptible. Je ne vois pas en quoi ce n'est pas sympathique de parler du Neural Engine, c'est du machine learning, ça sert à analyser tes habitudes.
@Dr Troy
Je ne fais partie d'aucune communauté. C'est je trouve dommage que de se limiter à faire partie d'une communauté. J'utilise Windows, macOS et même Linux, c'est dire.
Je ne faisais que relever un comportement :)
Le Neural Engine fait de chouettes choses en dehors de ce que tu crois pour quoi il a été conçus ;)
@trouaz : moi non plus, j'utilise encore macOS à cause du boulot (j'ai pu m'arrêter à High Sierra, mais je vais encore devoir mettre à jour, merci Adobe), Windows quand c'est nécessaire, et Linux pour ma machine principale.
Et oui le Neural Engine fait de chouettes choses, comme Gmail est un chouette fournisseur de mails, et Amazon a un SAV super, c'est indéniable.
Et pourtant cela fait un moment que je n'achète plus rien sur Amazon. Je vais même bientôt switcher mes mails vers Mailo. Je switcherai sur Linux comme OS Desktop le jour où il y aura un Desktop digne de nom :)
Je ne te visais pas particulièrement mais tu as compris l'idée :) Merci pour la conversation constructive. Et si tu cherches une bonne distribution desktop, je ne peux que recommander pop!_OS (base Ubuntu) pour sa facilité et l'optimisation des drivers graphiques entre autre.
Le Neural Engine sert a bien plus de chose qu'"analyser tes habitudes", il est exploité par MLCompute ou encore CoreML, ainsi que le port optimisé de tensorflow 2.4 (qui sert de backend à un bon nombre de frameworks de ML/DL en python) et donc utilisable pour du Machine Learning par les développeurs, scientifiques et data scientists pour des applications, tel que de la classification de données, de la prédiction, de l'analyse et le traitement d'image (photos, imagerie médicale, ...), de l'analyse de données diverses dans de nombreux domaines et j'en passe.
Bien plus que juste pour Siri et l'analyse de tes habitudes.
@Dr Troy
"Vouloir utiliser Linux est autant politique que de vouloir consommer local."
Fort respectable mais dans ce cas un peu de cohérence : on boycotte Apple 😉
@Dr Troy
"Ça sert surtout à alimenter Siri (et Apple sur tes habitudes)."
Le beau procès d’intention 😳
C’est justement les capacité de traitements en local qui vont dans le sens de la confidentialité.
@redchou
L’objectif, très ambitieux je te l’accorde, de ce projet est bel et bien d’avoir un support complet du SoC, GPU et Neural Engine compris.
Pour cela il va devoir faire du reverse engineering bien sûr, mais il a déjà de l’expérience et la matière le petit ;)
@Frodon
L’objectif, très ambitieux je te l’accorde, de ce projet est bel et bien d’avoir un support complet du SoC, GPU et Neural Engine compris.
Pour cela il va devoir faire du reverse engineering bien sûr, mais il a déjà de l’expérience et la matière le petit ;)
- Oui, c’est juste que l’ampleur de la tâche me paraît dingue... Hector Martin dit sur la page du projet qu’Apple permet de booter sur d’autre système, mais n’ai pas encore vu beaucoup d’information la dessus...
Bon courage à lui en tout cas !
"Pour cela il va devoir faire du reverse engineering bien sûr, mais il a déjà de l’expérience et la matière le petit ;)"
Oui et non
La PS4 c'est en gros un PC AMD/x64 donc pilotes tiers dispo.
La Switch c'est du Tegra donc pilote NVidia graphique dispo.
Le pilote libre de nividia (qui à été lancé il y a 14 ans) : nouveau c'est pas vraiment ça niveau fonctions et performances : https://nouveau.freedesktop.org/FeatureMatrix.html
@Frodon,
« L’objectif, très ambitieux je te l’accorde, de ce projet est bel et bien d’avoir un support complet du SoC, GPU et Neural Engine compris. Pour cela il va devoir faire du reverse engineering bien sûr, mais il a déjà de l’expérience et la matière le petit ;) »
😲
Rien que cela ?
Mais le temps qu'ils le fassent, Apple en sera à son M1X voire M2 !
Et tout sera à refaire car l'architecture du SoC, les fonctions câblées auront été modifiées par Apple pour se garder la primeur.
Du coup, tout au plus et ce qui est déjà pas mal, ils arriveront après beaucoup d'effort à supporter les Apple Silicon de première génération pour l'entrée de gamme.
Il va falloir avoir de l'endurance pour suivre la cadence que va imposer Apple pour rester en tête du peloton...
Admiration et bon courage !
😘❤
@Scooby-Doo
"Mais le temps qu'ils le fassent, Apple en sera à son M1X voire M2 !
"
Comme pour toute architecture celle définie par Apple ne va pas révolutionner inutilement la donne à chaque itération
Cela fait au moins depuis l’IBM 360 que cette bonne pratique est comprise.
Les performances peuvent croître sans pour autant détruire la vision abstraite de l’architecture matérielle 😉
La plus grande part du gigantesque boulot de reverse engineering ne sera pas à jeter à la poubelle d’une génération à l’autre.
Pages