Celui qui a porté Linux sur PS4 et Switch s'attaque à Linux sur Apple Silicon

Stéphane Moussie |

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.

Ubuntu 20.04 virtualisé sur un Mac mini M1 grâce à Simple VM : ça marche, mais ce n'est pas optimal.

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.

avatar DamienLT | 

On parle toujours de virtualisation ou d’un boot direct ? (Je sais pas si je suis très clair 🤔).

avatar YetOneOtherGit | 

@DamienLT

Boot si non c’est trop simple pour lui 😎

avatar DamienLT | 

@YetOneOtherGit

Ben oui où avais-je la tête 🤦🏼‍♂️ (merci pour la réponse au passage ☺️).

avatar iftwst | 

Bravo à ce gars qui a les kiwis de se lancer dans un tel chantier !

avatar Jimmy MAIZEROI | 

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...

avatar Un Type Vrai | 

+1 pour un *BSD...

avatar mika944 (non vérifié) | 

Pour rappel, Darwin qui est le noyaux Unix de Mac OS X est un FreeBSD à la base ;-)

avatar YetOneOtherGit | 

@mika944

"FreeBSD"

Mach, NeXTStep et MacOS ne repose pas sur ce fork de BSD. 😉

avatar Scooby-Doo | 

@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 ?

😁

avatar pacou | 

@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.

avatar YetOneOtherGit | 

@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.

avatar YetOneOtherGit | 

@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 🤩

avatar marc_os | 

C'est tellement génial de réinventer la roue !

avatar CorbeilleNews | 

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é 😀

avatar wataru | 

@CorbeilleNews

Mais c’est indispensable de virtualiser Linux pour bosser 😅

avatar trouaz | 

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.

avatar Scooby-Doo | 

@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 !!!

😁

avatar redchou | 

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.

avatar fredsoo | 

@redchou

Quand même pas ;)
Car sur un Pi4, hormis Raspbian, le reste ça tourne au ralenti 😌

avatar redchou | 

@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.. )

avatar fredsoo | 

C’est clair que ça va être simple, Apple faisant tout comme à son habitude pour bloquer tout autre boot ...

avatar marc_os | 

@ 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...

avatar Dr Troy | 

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).

avatar IceWizard | 

@Dr Troy

« Concernant le neural engine, ça va un peu contre la philosophie Linux. Ça sert surtout à alimenter Siri (et Apple sur tes habitudes). »

?????

avatar redchou | 

@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à...

avatar 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).
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 ?).

avatar redchou | 

@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...

avatar Dr Troy | 

@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.

avatar redchou | 

@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?

avatar occam | 

@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 !

avatar Frodon | 

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.

avatar YetOneOtherGit | 

@occam

un peu de patience 😉

avatar Dr Troy | 

@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 !

avatar YetOneOtherGit | 

@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.

avatar YetOneOtherGit | 

@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é.

avatar Dr Troy | 

@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.

avatar trouaz | 

@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.

avatar Dr Troy | 

@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.

avatar trouaz | 

@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 ;)

avatar Dr Troy | 

@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.

avatar trouaz | 

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 :)

avatar Dr Troy | 

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.

avatar Frodon | 

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.

avatar YetOneOtherGit | 

@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 😉

avatar YetOneOtherGit | 

@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é.

avatar Frodon | 

@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 ;)

avatar redchou | 

@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 !

avatar lmouillart | 

"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

avatar Scooby-Doo | 

@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 !

😘❤

avatar YetOneOtherGit | 

@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

CONNEXION UTILISATEUR