Premiers pas timides pour la virtualisation de Linux sur Apple Silicon

Nicolas Furno |

La virtualisation est peut-être le domaine qui pose le plus de problème aux Mac Apple Silicon. Grâce à Rosetta, la plupart des apps macOS peuvent fonctionner sans encombre même si elles n’ont pas été mises à jour, mais les apps qui permettent de faire tourner un système d’exploitation complet virtualisé ne fonctionnent pas du tout à ce jour sur les nouveaux Mac :

On sait que Parallels Desktop, cité par Apple pendant la WWDC, travaille avec Apple pour adapter son app aux Mac Apple Silicon. En attendant son arrivée, d’autres solutions existent déjà pour virtualiser des distributions Linux sur les nouveaux Mac. Elles fonctionnent, mais nécessitent encore de mettre les mains dans le cambouis et elles sont encore très limitées.

Ubuntu 20.04 virtualisé sur un Mac mini M1 grâce à Simple VM.

Simple VM est une app taillée pour la virtualisation sur Apple Silicon. Elle dispose bien d’une interface (à gauche sur la capture ci-dessus), mais elle est minimale et implique des manipulations dans le terminal. Vous trouverez des explications dans ce sujet publié sur les forums de MacRumors, mais vous verrez vite qu’il faut bricoler pour obtenir un système virtuel en ligne de commandes, et encore avec des performances souvent moyennes.

Comme Simple VM est un projet open-source, des forks existent pour améliorer les performances ou simplifier la procédure d’installation. Si vous ne voulez pas vous embêter, vous pouvez tester un paquet clé en mains proposé à cette adresse. Vous aurez une distribution Ubuntu 20.04.1 et l’app Simple VM déjà compilée, ce qui vous permettra de démarrer en quelques minutes (identifiant et mot de passe à utiliser dans le fichier README). J’ai pu tester, cela fonctionne, mais on est vite limité par les performances, et puis il n’est pas question d’utiliser une distribution graphique.

Sur ces mêmes forums toutefois, quelqu’un a réussi à bénéficier d’une interface graphique en combinant XQuartz et le SSH en mode X forwarding. Cela fonctionne, mais ce n’est pas encore une solution accessible au grand public. On imagine que Parallels Desktop a une meilleure réponse, Apple l’avait utilisée pour évoquer Linux sur les Mac Apple Silicon, mais les plus pressés et bricoleurs peuvent tester dès maintenant.

La version Linux de Firefox, gérée par une distribution virtualisée sur un Mac Apple Silicon (image forums MacRumors).

Ces avancées ne devraient pas suffire à Linus Torvald, le créateur du noyau Linux. Lui qui se disait fan du MacBook Air en 2012 et réclamait un ordinateur portable ARM pour 2016 a obtenu gain de cause avec quelques années de retard. Sans surprise, il adorerait utiliser un nouveau MacBook Air, comme il l’explique sur cette liste de diffusion. Ce serait l’ordinateur parfait pour ses besoins… s’il pouvait installer Linux dessus.

Pour le moment, c’est ce point qui pose problème. Certes, les distributions GNU/Linux tournent sur l’architecture ARM depuis des années maintenant, donc ce n’est pas cela qui gêne contrairement à Windows. Il faudrait sans doute quelques adaptations pour gérer correctement le matériel, mais rien de rédhibitoire a priori. En revanche, les nouvelles sécurités mises en place par Apple depuis quelques années empêchent par défaut d’installer autre chose que macOS, même si c’est toujours possible.

Installer Linux sur un Mac Apple Silicon à la place de macOS devrait être possible. Mais Linus Torvald ne veut pas bricoler une solution qu’Apple ne propose pas officiellement et il préfère passer son tour. Qui sait, maintenant que la firme de Cupertino a montré l’exemple, peut-être que les ordinateurs portables ARM vont se généraliser. Contrairement aux Mac, ceux-là permettront sans aucun doute d’installer facilement Linux, mais reste à savoir si les performances seront au rendez-vous…

avatar Adodane | 

“ Il faudrait sans doute quelques adaptations pour gérer correctement le matériel, mais rien de rédhibitoire a priori. “

Oui c’est super facile d’écrire un pilote vu qu’Apple est très ouvert sur le sujet, et exploiter tous les accélérateurs du SOC M1 du gâteau ! Le neural engine etc

🤦‍♂️

avatar marc-5 | 

@Adodane

Ils sont très ouverts justement. Ils souhaitent que la virtualisation fonctionne parfaitement notamment pour les développeurs.
Simplement ces pilotes seront donnés à Parallels, VMWare...

avatar Adodane | 

@marc-5

Le paragraphe d’où est tirée ma phrase parle de l’installation de Linux en natif et non virtualisé 💁‍♀️

avatar marc-5 | 

@Adodane

Lu trop vite :)

avatar oomu | 

@marc-5

mais PAS le boot natif et la documentation de l'ensemble des spécificités propres à Apple.

c'est un gros obstacle.

Bah, on attendra que le reste de l'industrie investisse enfin sérieusement ARM pour faire de nouveaux ordis. Comme Apple. patience donc...

avatar occam | 

@oomu

Après le coup de gueule de Linus Torvalds, quelqu’un avait récemment résumé la situation en termes de café :

Si vous êtes accro d'espresso, ristretto et capuccino, imaginez qu’on lance une nouvelle machine à groupe d’extraction E61, thermorégulateur PID et pressure profiling, chaudières isolées, double circuit, pompe à rotation, ultra-performante, adaptable à tous les débits, plus économe et efficace que les autres... mais qu’elle n’accepte que des capsules Nespresso. Tout au plus, des embouts en carton pour dosettes ESE.
Porte-filtres 58mm, verboten.

C’est le dilemme d’Apple Silicon en l’état : toute cette puissance, cette efficacité — mais pour que faire ?
Car verrouillée à double tour.

avatar youbzh | 

@occam
+1000
Et pendant ce temps là, Craig Federighi dit que pour faire fonctionner Windows sur M1, "that's really up to Microsoft"... Mais du coup, si je comprends bien, faire tourner Linux Arm sur Mac... that's really up to Apple.

avatar marc_os | 

@ youbzh
Vous avez on dirait des problèmes avec les analogies... (et balancer une phrase en anglais n'y change rien et ne fait pas illusion.)
Vous dites :
1. Windows sur M1 = pb Microsoft
Puis vous adaptez à Linux en disant :
2. Linux sur M1 = pb Apple
Dans 1., Microsoft c'est le développeur de Windows.
Or dans votre assertion 2. vous dites donc que Apple serait le développeur de Linux !
Ce que vous auriez dû dire :
Faire tourner Linux sur Mac... that's really up to Linus Torward (ou Umbuntu, ou n'importe quel éditeur de Linux)

avatar youbzh | 

@marc_os
Je pense que vous n'avez pas compris où je voulais en venir. Je pointais avec ironie que Federighi dit que Microsoft n'a qu'à le vouloir pour que Windows tourne sur les Mac M1. Ce n'est vraisemblablement pas le cas puisque le matériel empêche l'installation d'un OS tiers. Le problème qui se pose est donc le même pour Windows que pour Linux : c'est à Apple de permettre l'installation d'un autre OS.

avatar marc_os | 

@ occam
Et alors ?
Ça t'empêche de travailler ?
Ne savez-vous pas que l'intégration poussée macOS / matériel c'est LA spécificité du Macintosh depuis ses origines, avec pendant longtemps l'OS gravé en dur en ROM ? Ne savez-vous pas que c'est ça entre autres qui a permis aux Macintosh d'arborer fièrement une interface graphique alors que les PC en étaient incapables ? (Charger des bouts d'OS en permanence depuis une disquette, ça le faisait pas.)
Cette intégration logiciel / matériel fait partie de l'ADN du Mac.
Si vous voulez des machins indépendants, vous vous retrouvez dans la situation de Microsoft à vouloir pondre un OS qui marche sur moult architectures différentes et donc à faire compromis sur compromis.
Apple a fait un autre choix, et c'est grâce à cela qu'Apple existe toujours !
Pleurnicher en disant que c'est « verrouillée à double tour », c'est juste pleurnicher.
Si ça vous dérange, personne et surtout pas Apple ne vous oblige à vous faire du mal en vous occupant d'Apple, achetez le PC de votre choix, construisez le, prenez l'OS de votre choix, et assumez !

Et le Linus, je m'en tappe, il peut bien gueuler tant qu'il veut.

avatar occam | 

@marc_os

Le droit au silence, comme le droit de ne pas s'auto-incriminer, sont fondamentaux.
D'un autre côté, le droit à l'auto-démolition de son propre argumentaire existe également, et vous venez d'en faire un usage édifiant.

1°, le sujet étant la possibilité - ou pas - de virtualiser des OS ouverts sur Apple Silicon, notamment Linux, le recours au prétendu ADN du Mac, canal historique, est hors de propos. (Encore faudrait-il rendre compte correctement de l'historique de sa genèse comme des contingences y ayant mené, mais c'est un autre débat.)

2°, l'intégration OS/matériel n'est nullement synonyme de verrouillage. Ni de près, ni de loin. Qu'Apple ait fait le choix du verrouillage n'est aucunement dû à cette intégration, ne la conditionne pas, n'en découle surtout pas.

3°, mes choix personnels en matière d'OS et d'écosystèmes sont affichés ici depuis longtemps, connus et assumés.

4°, les sentiments que vous exprimez à l'égard du commentaire de Linus Torvalds résument assez exactement les miens à l'égard de votre présente contribution, plus épidermique que réfléchie.

avatar marc_os | 

@ occam
Faute d'argumentation valable, vous passez aux attaques personnelles.
(Votre dernière phrase.)
Tout est dit, je ne perdrai plus de temps avec des personnages de votre acabit.

avatar BeePotato | 

@ occam : « C’est le dilemme d’Apple Silicon en l’état : toute cette puissance, cette efficacité — mais pour que faire ? »

Ben pour utiliser MacOS et tous les logiciels qui tournent dessus. C’est d’ailleurs ce qui fait que ces machines sont des Mac.

Étrange interrogation…

avatar morpheusz63 | 

@BeePotato

A conditions que les dev veulent développer leurs apps en version Arms, et je vois pas d'engouement de dev pour le m1

avatar BeePotato | 

@ morpheusz63 : « A conditions que les dev veulent développer leurs apps en version Arms »

Ils n’ont pas tellement le choix (sauf à décider d’arrêter de commercialiser ces applications), donc ils vont le faire.

« et je vois pas d'engouement de dev pour le m1 »

Ah ? Je trouve au contraire qu’on en voie beaucoup. Ce qui est compréhensible vu les performances de ces machines, mais aussi vu la facilité du portage pour un grand nombre d’applications (c’est nettement plus simple que lors des transitions PowerPC → Intel et 32 bits → 64 bits, et sans communce mesure avec les transitions précédentes qu’avaient été 68k → PowerPC et MacOS 9 → MacOS X).
Cependant, comme le DTK n’était destiné qu’à un faible nombre de développeurs, la majorité a dû attendre (et doit encore attendre) de pouvoir mettre la main sur des machines à base de M1 pour pouvoir travailler à fond sur cette transition. Il est donc normal que tout ne soit pas prêt, même pour les applications faciles à porter.
Ce n’est pas l’affaire de quelques jours, une telle transition de tout un écosystème logiciel. :-)

avatar lmouillart | 

@oomu "Bah, on attendra que le reste de l'industrie investisse enfin sérieusement ARM pour faire de nouveaux ordis. Comme Apple. patience donc..."
Si c'est pour ne faire des macbook façon Dell, HP, Acer, Samsung aucun intérêt pour moi.
Si c'est pour que ces acteurs se mettent autour d'une table avec NVidia, ou je ne sais qui; en disant : "ok on a un gros souci, si on ne se met pas d'accord sur une plateforme homogène : boot, bus, ... on va se faire bouffer tôt ou tard" type PC-ARM alors la : oui.
Actuellement, ce n’est pas gagné, loin de là même. À mon avis ça va continuer comme actuellement : Google d'un côté, MS de l'autre quelques partenaires choisis qui implémentent des solutions spécifiques : Chromebook, Surface X, ....

avatar vince29 | 

Les Chinois sortent des laptops et des desktops ARM maisons sous Linux.
C'est pour la Chine uniquement. Pour l'instant.

avatar melaure | 

Oui d'autant qu'avec les économies sur le processeur qui coûte bien moins cher à fabriquer, les PC baisseront encore de prix (alors que sur Mac moins ça coûte en composant, plus c'est vendu cher).

Mais c'est pas gagné, car le monde PC c'est plutôt l'immobilisme quand on voit combien de temps ils ont garder la même architecture, et qu'ils ont encore du mal a se passer du VGA ..

avatar occam | 

@Adodane

😂

avatar Nicolas Furno | 

@Adodane

Je n'ai pas dit que ça tournerait bien… Mais j'imagine qu'on doit pouvoir prendre en charge de manière à ce qu'une distribution Linux puisse être installée et fonctionnelle.

avatar Adodane | 

@nicolasf

Les doigts dans le nez ! 😁😅

avatar morpheusz63 | 

Je garde espoir qu'on puisse installer linux sur les futur mac, ça serai le meilleur des deux mondes pour ceux qui dev, sys admin etc, apres si on peut juste utilisée linux en ligne de commande en native ça me va aussi..et je.pense que la puissance est là mais sans maîtrise la puisance n'est rien. Pirelli

avatar lmouillart | 

Si un jour c'est possible, à coup de jailbreak & co. J'imagine que le support des spécificités matériel Apple (modem, gpu, gestion de l'alimentation/batterie, T2, NPU, controleur SSD, usb, tb, ...) sera aussi bon que pour les pilotes libres NVidia : c.-à-d. exécrable, malgré les prouesses des personnes qui s'attèlent à la rétro-ingénierie.

avatar reborn | 

@lmouillart

Pas besoin de jailbreak, il suffit d’autoriser le démarrage d’OS non signé par Apple.

Là ou ça va coincer c’est au niveau des pilotes qu’Apple ne fourni pas pour l’instant.

avatar lmouillart | 

On verra dans le temps, si c'est toujours d'actualité.
Par ailleurs je pense que c'est valable pour le chip M1 mais pas le T2. La T2 doit être jailbrakée à mon avis pour être utilisable à sa guise.

avatar reborn | 

@lmouillart

C’est pareil pour la T2, ce qui manque ce sont les pilotes.

avatar lmouillart | 

La puce T2 est un ordinateur dans l'ordinateur, avec un OS spécifique : sepOS.
Il est donc nécessaire de pouvoir déplomber cette puce et mettre un système L4 propre.
Sinon : pas de sécurité renforcée, pas d'accélérateur de crypto, pas d'accélération d'encodage ...

C'est la différence avec les CPU généralistes comme Intel. Là comme il y a tout un ensemble de chips si on veut que ça fonctionne de manière "correcte", il faut des solutions fonctionnelles pour à peu près tout.

Effectivement en bricolant, sans utiliser la puce T2, sans utiliser le GPU (donc en framebuffer tout bête ça fonctionnera), mais on sera dans une solution plus proche d'un raspberry pi un peu boosté qu'une machine à 1K€.

avatar oomu | 

@reborn

il faut aussi que soit documenté le gpu, etc.

avatar maxou56 | 

@imouillart
La puce T2 n’est présente que pour les Mac Intel.
Et elle permet déjà l’installation de Linux/windows sans « jailbreak » ou autre.

Après effectivement si on souhaite par exemple utiliser le transcodage H265 de celle-ci.

avatar lmouillart | 

L'équivalent alors : Secure Enclave de la puce M1.

avatar Gwynpl@ine | 

Démarrer directement sur GNU/Linux sur un Mac M1 sera impossible. Il n'y a aucune documentation suffisamment poussée pour le permettre. Apple a créé l'environnement le plus verrouillé et le plus opaque au monde, et tout le monde applaudit ! Certes, les machines semblent bien, mais le prix à payer est lourd.

Je suis utilisateur depuis mon Apple IIc, et je suis un peu inquiet avec les M1. Le passage à OSX, c'était le pied, puis le passage à Intel, encore mieux. C'était vraiment l'âge d'or, on pouvait tout faire. Mais aujourd'hui, on s'embrase pour avoir moins bien, et une machine que l'on ne contrôle plus, tel un iPhone. Personnellement Apple n'a plus rien de cool, et cette création du M1 n'est qu'un outil pour enfermer le client dans un écosystème, qui s'est refermé aussi vite qu'il s'est ouvert.

L'Apple Neural Engine, c'est une puce au service du marketing. Dans Photoshop, qui a réellement besoin de ça pour créer, la réponse est très simple : "personne". En revanche, il aura bien écouté nos conversations, et Apple pourra t'afficher sur ton smartphone le trajet pour faire tes courses avant même que tu lui aies demandé, car non loin il aura entendu : "faut que j'achète du beurre".

Le M1 est peut être très bien, mais pour quel usage, le notre ? Non, surtout pour Apple.

avatar marc_os | 

@ Gwynpl@ine
Apple a créé l'environnement le plus verrouillé et le plus opaque au monde, et tout le monde applaudit !

C'est le prix de la sécurité et Apple se devait de le faire, sinon « tout le monde » aurait hurlé au scandale, genre « Les Macs ne sont pas sûrs ».
"Avant", on pouvait tout faire.
Mais voilà, avec le retour en grâce des Mac grâce au succès des iPhones, les développeurs de malware on commencé à s'intéresser encore plus aux Mac.
Et Apple se devait de faire quelque chose contre.
Ils ont choisi d'une certaine manière d'appliquer la sécurité by desing des nouveaux appareils tournant sous iOS aux Macs, et c'est leur droit, et c'est compréhensible techniquement : C'était la manière la plus efficace, plutôt que de réinventer la roue sécuritaire de iOS pour macOS. (Toutes mes excuses par avance aux pinailleurs si j'ai trop résumé la situation.)

avatar Gwynpl@ine | 

@marc_os

"C'est le prix de la sécurité." C'est un argument savamment utilisé par Apple, la peur est toujours une bonne motivation pour faire passer la pilule. D'ailleurs, leur technologie n'est déjà pas infaillible.

Je suis d'accord avec toi, mais ce n'est pas le véritable but la sécurité, ils en ont juste besoin pour avoir un meilleur contrôle sur nos machines. La sécurité est un des paramètres nécessaires, surtout si l'objectif est engranger un max de données sur nos usages. Ils ont pas intérêt à mettre leurs clients à poil !

Plus de sécurité, moins de possibilité, ou de liberté, je vote oui ^_^

avatar youbzh | 

@marc_os
Empêcher l'utilisateur d'installer le système d'exploitation de son choix n'a dans la majorité des cas rien à voir avec la sécurité.
Sauf erreur de ma part, le seul cas où ce genre de "sécurité" en est une, c'est si on veut se prémunir du fait qu'une tierce personne ayant un accès physique à la machine y installe un autre OS ou démarre un support bootable. Je ne suis pas certain que ça concerne la majorité des utilisateurs.

avatar reborn | 

@Gwynpl@ine

Démarrer directement sur GNU/Linux sur un Mac M1 sera impossible

C’est possible, mais ça va prendre du temps.

https://twitter.com/never_released/status/1329543792853217289?s=20

À moins qu’Apple aide et fournisse directement les pilotes.

avatar Gwynpl@ine | 

@reborn

Oui, tu pourras démarrer, mais jamais optimiser l'OS, quel intérêt ? Aucun, le but c'est d'avoir une machine exploitable, et pas un mouton à trois pattes.

avatar Chopper77 | 

Sur un MacBook Retina 12-inch 9,1 early 2016, je bloque pour faire démarrer Linux.

Sur quelques forums, il semble qu'il existe un driver propriétaire sur le nvme qui bloque le boot.

Si quelqu'un qui a une solution, je suis preneur.

avatar reborn | 

tu as essayé d’autres distrib ? Tu en as qui ont réussi à booter avec des mac T2 malgré le soucis du ssd donc bon, un mac d’avant les puces T1 et T2 ça devrait le faire

avatar morpheusz63 | 

@Chopper77

Debian ou ubunti?

avatar armandgz123 | 

J’espère surtout qu’il y aura dans 8/9/10 ans, un OS qui tournera correctement sur les mac M1 pour pouvoir les recycler !
C’est ce je je fais actuellement avec mon MacBook Pro de 2009 sous Windows 10 et mon Mac mini de 2008 sous Linux.
Alors que mon iPad 3 et iPad Air sont inutile au fond d’un placard

avatar CostaDelSol | 

Quand ce sera possible de virtualiser macOS, on pourra s’en acheter pour le boulot ^^

avatar Nicolas Furno | 

@CostaDelSol

Ben… c'est déjà possible ! Depuis longtemps, même : https://www.macg.co/2011/07/os-x-lion-la-virtualisation-enfin-autorisée-8796

avatar Mdtdamien | 

Pour Windows, peut ton encore parlé de virtualisation ou alors il s’agit d’émulation, vue qu’il ne s’agit pas de la même architecture de processeurs ?

avatar olaola | 

Quand on émule ça n'est effectivement pas de la virtualisation, mais Windows existe pour ARM, la license n'est par contre pas disponible au grand public et uniquement à quelques constructeurs.

avatar valcapri | 

@Mdtdamien

Il faut voir exactement comment tourne hypervisor framework et les différents pilotes requis.

avatar ech1965 | 

AMHA, rosetta ce n'est pas de l'émulation ( emulation: code machine x interprété par cpu y).
Rosetta c'est "transpilation" (conversion en une fois et avant la première execution) du code machine x en instructions Y). emulation~=interpréteur, transpilation~= compliation.
Virtualisation: execution d'un OS invité comme une application d'un OS "hôte" avec virtualisation des périphériques. Dans une machine virtuelle (et pas un cpu virtuel) le code s'exécute "en VRAI" et les périphériques sont "virtualisés" pour que les pilotes de périphériques de l'invité pensent qu'il interagissent avec le vrai chip alors que c'est la couche virtu qui "simule" le chip

avatar hirtrey | 

@ech1965

Du grand n’importe quoi 😂

avatar Marcos Ickx | 

« les nouvelles sécurités mises en place par Apple depuis quelques années empêchent par défaut d’installer autre chose que macOS, même si c’est toujours possible. »

Un des avantages est qu’on est plus obligé de diminuer la sécurité, comme on l’était jusqu’à présent, pour l’ensemble des OS.

avatar olaola | 

On peut virtualiser macOS, la contrainte c'est qu'il faut que ça tourne sur un Mac

avatar Rogntudju | 

« Alors que mon iPad 3 et iPad Air sont inutile au fond d’un placard »

Pour l’ipad 3 je sais pas, mais mon ipad air gen 1 fonctionne parfaitement encore. Tu lui demandes quoi pour le trouver inutile ?

Pages

CONNEXION UTILISATEUR