Depuis plus d’un an, Intel travaille au développement du pilote graphique du noyau Xe Linux en tant que pilote moderne Direct Rendering Manager pour Gen12 et les nouveaux graphiques intégrés/discrets. Pour le matériel récent, il s’agit de remplacer l’utilisation existante du pilote du noyau i915. Les développeurs open source d’Intel continuent de travailler pour atteindre l’objectif de pouvoir soumettre ce pilote pour l’intégration dans le noyau Linux en amont.
Avec le pilote graphique du noyau Xe, les ingénieurs Intel impliqués ont pu adopter une nouvelle approche de conception par rapport au pilote du noyau i915 qui a été construit de manière organique au cours des deux dernières décennies. Avec le pilote Xe, ils ne prennent en charge que Gen12 et les versions plus récentes, ils n’ont donc pas à se soucier des anciennes générations de matériel graphique Intel, ils peuvent se concentrer sur l’utilisation des fonctionnalités modernes du noyau, et avec leur API d’espace utilisateur, ils n’ont pas besoin de souciez-vous de la rétrocompatibilité avec les limitations/défis existants de l’uAPI i915.
Cette semaine, les ingénieurs d’Intel Linux ont publié leur dernier plan de fusion pour le pilote Xe.
Pour le moment, le pilote Xe est considéré comme fonctionnel et avec un support”expérimental”pour Tiger Lake et plus récent. Une fois le pilote installé en amont dans le noyau, le plan est de maintenir la prise en charge de Gen12+ toujours dans i915. Le pilote Xe sera opt-in via le paramètre de module force_probe tandis que l’on peut de la même manière désactiver le chargement du pilote i915 pour un GPU donné. Ainsi, pour quelques versions ou quel que soit le temps nécessaire au pilote Xe pour faire ses preuves, les utilisateurs peuvent basculer manuellement vers Xe pour aider à tester la prise en charge.
En fait, le plan de fusion note que pour matériel Intel actuellement publié, i915 peut continuer à être la valeur par défaut indéfiniment :”Afin d’éviter les régressions de l’espace utilisateur, i915 continuera à prendre en charge toutes les plates-formes actuelles qui sont déjà hors de cette protection. La prise en charge de Xe sera toujours expérimentale et dépendra de la utilisation de force_probe pour ces plates-formes.”
Parmi les objectifs que les développeurs de pilotes ont avant de fusionner Xe, il y a le tri des changements de planificateur DRM, les changements de mappage d’adresse virtuelle GPU à mettre en amont, DRM_VM_BIND, VM_BIND asynchrone, l’intégration du pointeur utilisateur”userptr”et la prise en charge de VM_BIND, et mieux gérer les charges de travail de calcul de longue durée. Les développeurs souhaitent également une meilleure intégration/partage du code d’affichage avec le pilote i915 et l’infrastructure devcoredump pour signaler les états d’erreur.
Simultanément, les ingénieurs open source d’Intel ont ajouté la compatibilité des pilotes du noyau Xe à leurs pilotes Mesa ainsi qu’à leur pile Compute-Runtime pour OpenCL et Level Zero. La compatibilité des pilotes Intel ANV Vulkan et Iris Gallium3D/OpenGL avec Xe sera, espérons-le, résolue pour Mesa 23.2 afin qu’une fois ce pilote effectivement mis en place, la prise en charge de l’espace utilisateur soit prête et en place.
Ceux qui sont intéressés par les derniers efforts et plans concernant la mise en place du pilote Xe en amont peuvent voir leur dernier plan de fusion. Espérons que nous parviendrons à voir le pilote Xe intégré au noyau Linux-sous forme expérimentale-plus tard cette année civile.