❌

Vue lecture

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.

Stela - Le retour du Hackintosh ?

À la WWDC en juin 2025, Apple avait pourtant été très clair : macOS Tahoe serait la dernière version pour les Mac Intel. Pour ceux qui faisaient tourner macOS sur un PC monté maison, le bon vieux Hackintosh , la partie semblait donc pliée... jusqu'à ce que Tyler Smith sorte Stela il y a quelques jours.

Alors qu'est-ce que c'est encore ce truc ? Hé bien Stela, c'est un programme de démarrage UEFI qui permet de lancer macOS 27 conçu à l'origine uniquement pour Apple Silicon, sur un PC x86-64 tout ce qu'il y a de plus classique sans le modifier !! Voui voui !! L'astuce, et vous allez voir, c'est malin, c'est qu'il n'essaie pas de faire accepter du matériel Intel ou AMD à macOS. Non, au contraire, il lui présente une machine Apple simulée de toutes pièces, en l'occurrence un Mac mini M2, et c'est ensuite lui qui se tape tout le travail de "traduction" en dessous.

Et ce travail, c'est d'abord un traducteur qui transforme le code arm64e d'Apple en code x86-64, en partie à l'avance et en partie durant l'exécution, avec plus de 3 000 encodages d'instructions AArch64 couverts et un cache pour ne pas tout retraduire à chaque fois. Ensuite, un pilote Metal compile les shaders d'Apple vers NIR, le langage intermédiaire de Mesa, pour les faire tourner sur une carte NVIDIA.

Côté matos, une carte du type GeForce GTX 16 ou RTX des séries 20 à 50 est donc obligatoire, ainsi qu'un processeur Intel ou AMD x86-64-v2 (à partir des Nehalem chez Intel et des Bulldozer chez AMD), 8 Go de RAM, un UEFI 64 bits avec le Secure Boot désactivé, et 60 Go libres sur un disque NVMe ou SATA en mode AHCI. Par contre, ni Wi-Fi ni son pour l'instant, donc pour le réseau ça passera par une des puces Ethernet listées dans la doc.

Maintenant, pour fabriquer la clé USB (8 Go pour l'installeur en ligne, 32 Go pour la version hors ligne), suffit de récupérer l'archive de votre système sur le Github, de la décompresser et de lancer :

sudo ./stela setup

Sous Windows, ce sera stela.exe et ensuite, l'outil vous demandera la clé USB, l'installeur, la version de macOS et le modèle de Mac, puis il effacera cette clé et téléchargera macOS directement depuis chez Apple. Au passage, il demande aussi à Apple les réponses de signature de l'installation et les rangera sur la clé, donc même l'installation hors ligne passe d'abord par les serveurs d'Apple. Il ne reste ensuite qu'à booter le PC sur la clé.

Maintenant, ne vous emballez pas trop vite car l'auteur avertit lui-même que Stela est leeeent de fou et qu'il peut ne pas démarrer, même sur du matériel supporté. Mais c'est un projet nouveau, qui fonctionne d'un bout à l'autre et qui ne peut maintenant que se bonifier avec le temps...

L'écran de Stela en échec pendant l'installation de macOS sur un Dell XPS 8950

Après il y a aussi la licence c'est vrai... Car le contrat de macOS interdit formellement de l'installer sur un ordinateur qui n'est pas de marque Apple. Donc c'est plus pour bidouiller sur une machine de test, qu'un vrai OS utilisable dans la vie de tous les jours. Mais c'est super cool quand même je trouve car ça signe le grand retour du Hackintosh !!

Le code est sous licence GPL et tout se passe sur GitHub , alors si vous avez une vieille tour avec une GTX 1660 qui prend la poussière, vous savez quoi lui faire faire ce week-end !

Le Deathray - Le shader WebGPU qui fait redémarrer votre Mac

Auberon López vient de publier sur son blog un bouton qui freeze complètement les Mac à partir d'un simple clic dans un navigateur. Il a baptisé ça le Deathray (le rayon de la mort quoi...) et c'est un shader WebGPU diffusé via une page web des plus ordinaires, qu'il suffit d'ouvrir d'un simple clic sur un lien.

Ce qui arrive ensuite change d'une fois sur l'autre : Vous aurez le doit à la roue multicolore, ou la souris qui se fige, ou encore parfois des saletés magenta sur une partie de l'écran. Le reste de l'ordinateur, lui, va très bien et vous pouvez vous y connecter en SSH depuis une autre machine sans souci. C'est juste l'affichage qui ne répond plus, et il ne reviendra pas sauf si vous rebootez.

Le fait est que macOS surveille également son WindowServer, le processus qui dessine tout ce que vous voyez. S'il ne répond plus pendant deux minutes, le chien de garde déclenche un kernel panic et la machine redémarre ensuite toute seule. Mais vous pouvez aussi appuyer sur le bouton d'alimentation si vous êtes pressé, mais en croisant les doigts pour que votre navigateur ne rouvre pas l'onglet au redémarrage...

Le truc tient dans un seul fichier HTML, et histoire de vous expliquer un peu plus, un compute shader part dans une boucle écrite sans incrément, donc elle ne se termine jamais, et recopie indéfiniment le même vecteur en mémoire. À côté, le vertex shader qui dessine l'image lit alors cette même zone, et comme le premier ne lâche jamais la main, le second ne peut pas avancer d'un pouce.

Sauf que l'embouteillage ne reste pas cantonné au navigateur. Tous les processus qui veulent le GPU se retrouvent alors à patienter derrière, WindowServer compris, d'où l'écran figé. López dit avoir reproduit la chose dans Chrome, Firefox et Safari, sur des MacBook à puce M tournant sous macOS Tahoe. Après sur les autres systèmes testés, l'onglet rame un bon coup, puis tout rentre dans l'ordre dès qu'on ferme la page.

Mais alors pourquoi eux et pas les autres OS comme Windows ?

Hé bien parce que Windows embarque un mécanisme appelé TDR , qui repère qu'une carte graphique met plus longtemps que prévu à répondre et qui la réinitialise pour éviter que tout le système se bloque. Deux secondes par défaut, et le shader qui déconne se fait éjecter.

Alors que sur Apple Silicon, c'est un coprocesseur maison, l'ASC, qui pilote le GPU avec un firmware Apple et qui s'occupe de tout : énergie, ordonnancement des commandes, préemption des tâches. Asahi Lina , qui a retourné la puce M1 pour écrire un pilote Linux , a d'ailleurs relevé que si ce firmware plante, il n'y a qu'un moyen de s'en sortir. La seule solution c'est de redémarrer complètement la machine.

López a signalé le problème à Apple Security fin juillet. Apple a reproduit le bug, annoncé un correctif et donné un calendrier (confidentiel, donc on ne le connaîtra pas). Puis le 26 août, revirement complet d'Apple qui explique ne voir "aucune implication de sécurité dans ce rapport", lequel n'entraînera donc aucun changement dans ses produits. Le dossier est ensuite parti vers une autre équipe pour d'éventuelles "considérations d'amélioration".

En 2023 pourtant, Ron Masas d'Imperva avait déjà fait planter des Mac, des iPhone et des iPad avec un shader, en WebGL cette fois. Apple avait alors sorti le CVE-2023-40441 , noté 6,5 sur 10, et l'avait bouché en renforçant la validation des entrées pour mieux repérer les boucles folles.

Seulement voilà, sa boucle à lui était énorme mais finie, donc détectable, alors que celle du Deathray tourne pour toujours. Et une boucle infinie, la repérer à coup sûr, c'est le problème de l'arrêt ... donc personne ne sait faire.

López l'écrit d'ailleurs sur son site, les chercheurs en sécurité avec qui la question a été discutée donnent plutôt raison à Apple. Pour la firme, le résultat n'est qu'un plantage, un gel ou une perte de données récupérable, et ça ne constitue pas un réel problème de sécurité. Et sur le principe, ça se défend. Sauf que dans la vraie vie, si vous avez oublié de sauvegarder vos fichiers et que vous cliquez sur ce lien, vous l'avez dans l'os (et pas dans le "MacOS"... roh roh roh).

Donc non, il n'y a rien à installer pour empêcher ça et rien à attendre de Cupertino pour le moment. Voilà, sachez juste que n'importe quel couillon qui aura lu cet article pourra vous envoyer un petit lien par mail, façon rickroll des enfers, ce qui aura pour effet de freezer et faire redémarrer votre Mac.

Désolé !! 🤷‍♂️

Source : le billet d'Auberon López .

❌