Mise à jour des pilotes GPU Apple M1/M2
- Les pilotes graphiques noyau pour les GPU Apple M1 et M2 sont écrits en Rust et se sont fait remarquer en atteignant la conformité avec divers standards graphiques.
- Lors de la X.Org Developers Conference (XDC) 2024, Alyssa Rosenzweig a présenté une mise à jour sur l’état du pilote et sur les types de jeux pris en charge.
- Rosenzweig perpétue depuis 2019 la tradition de faire sa présentation à la XDC déguisée en sorcière.
Mise à jour et tessellation
- Lors de la XDC de l’an dernier, il avait été annoncé que le pilote avait atteint la conformité OpenGL ES 3.1.
- Le pilote a désormais atteint la conformité OpenGL 4.6, et la discussion s’est poursuivie sur les tessellation shaders.
- Le tessellateur matériel des GPU Apple manque de fonctionnalités pour implémenter les standards OpenGL, Vulkan et Direct3D, ce qui le rend difficile à utiliser.
- Le pilote implémente donc la tessellation en logiciel, en convertissant le code du tessellateur de référence de Microsoft en OpenCL C.
Vulkan et jeux
- Le pilote GPU Honeykrisp pour M1/M2 a atteint la conformité Vulkan 1.3.
- Pour la compatibilité avec DirectX, Windows et les CPU x86, il utilise le pilote DXVK et Wine afin de traduire vers Vulkan.
- FEX-Emu est utilisé pour convertir de x86 vers Arm64, et une machine virtuelle est utilisée pour résoudre les différences de taille de page.
Performances et exécution des jeux
- Le pilote peut exécuter divers jeux, et les performances, bien qu’un peu inférieures à l’accélération matérielle, restent d’un niveau pratique.
- Les jeux les plus exigeants nécessitent 16 Go de RAM ou plus, tandis que certains peuvent fonctionner sur des systèmes dotés de 8 Go.
- La prise en charge du ray tracing n’est pas prioritaire pour le moment, et il est prévu de commencer le travail sur les GPU M3.
Le récapitulatif de GN⁺
- Les pilotes GPU Apple M1/M2 sont écrits en Rust, ce qui apporte une grande stabilité et de bonnes performances.
- Les pilotes sont conformes à divers standards graphiques, et l’implémentation de la tessellation via OpenCL est particulièrement intéressante.
- Grâce à la compatibilité Vulkan et DirectX, ils peuvent exécuter divers jeux, et l’usage d’une machine virtuelle pour résoudre le problème de taille de page est original.
- Cet article est utile pour comprendre les défis et les solutions du développement moderne de pilotes GPU ; des projets comparables comme DXVK et Wine sont recommandés.
1 commentaires
Avis sur Hacker News
/SubscriberLink/.tessellator.clest le fichier le plus déroutant de leur carrière.