HeadlinesBriefing favicon HeadlinesBriefing.com

Pilote GPU pour M4 Mac en un mois

Hacker News •
×

Niklas et moi avons construit un pilote GPU entièrement conforme à OpenGL ES 3.0 pour le M4 Mac Mini et le MacBook Neo en environ un mois, un processus qui prend normalement des années. Le pilote fait tourner Chrome et Firefox avec WebGL et Minecraft à 200 fps. Cela impliquait la rétro-ingénierie de l'ABI du firmware du GPU AGX et des composants en espace utilisateur de manière propre.

Auparavant, j'ai construit un hyperviseur pour faire de la rétro-ingénierie de macOS. Notre objectif était d'implémenter des pilotes OpenGL conformes (et bientôt Vulkan). Nous avons fait de la rétro-ingénierie de l'espace utilisateur du M4, A18 Pro et M5, construit un compilateur IR/shader personnalisé, un constructeur de flux de commandes et un pilote complet du noyau Linux. Nous n'avons utilisé que des traces matérielles et nos propres shaders, traitant les blobs Apple comme opaques.

Le pilote du noyau communique avec le firmware du GPU exécutant RTKit, pas directement avec le matériel. L'ABI du firmware était la partie la plus ennuyeuse, avec des structures partagées entrelaçant les champs du firmware et de l'hôte. Asahi Lina a compris cela pour M1/M2 au cours de journées épuisantes de 12 heures.

Le code n'est pas prêt pour les utilisateurs finaux, mais nous visons à le leur livrer bientôt.

Entités clés : Entreprises : Apple | Personnes : Cody Ho, Niklas, Asahi Lina

FAQ : Combien de temps prend normalement la construction d'un pilote GPU ?

Normalement, construire un pilote GPU est une entreprise qui prend des années. Notre objectif était de le faire en jours, mais des semaines restent une amélioration massive.

FAQ Q : Combien de temps prend normalement la construction d'un pilote GPU ?

FAQ A : Normalement, construire un pilote GPU est une entreprise qui prend des années. Notre objectif était de le faire en jours, mais des semaines restent une amélioration massive.