ici sur le blog Nous avons déjà parlé d’Asahi Linux le qui est une distribution Linux développée dans le cadre d’un projet et d’une communauté dans le but de migrer Linux vers les nouvelles puces Apple Silicon Macs.
asahi linux actuellement considéré comme un logiciel alpha, comme il reste encore beaucoup de fonctionnalités à porter, parmi les fonctionnalités dont il dispose déjà, il y a une interface utilisateur graphique et une prise en charge initiale de l’accélération graphique, avec des pilotes OpenGL initiaux implémentés pour tous les GPU de la série Apple M.
Pour ceux qui ne connaissent pas Asahi Linux, sachez que cette distributionn est basé sur la base de packages Arch Linux, il comprend un progiciel traditionnel et est livré avec le bureau KDE Plasma. La distribution est construite à l’aide des référentiels Arch Linux habituels, et toutes les modifications spécifiques, telles que le noyau, le programme d’installation, le chargeur de démarrage, les scripts d’assistance et les paramètres d’environnement, sont déplacées vers un référentiel séparé.
Au sujet des conducteurs récemment, le développeurs de projets Asaj’ai publié la nouvelle mise à jour de Juin distribution du système et avec elle a publié un rapport sur la mise en œuvre du support OpenGL 3.1 dans la diffusion.
Il est mentionné que pour supporter les GPU AGX des puces Apple M1 et M2, deux pilotes sont en cours de développement qui fonctionnent ensemble : le pilote drm -asahi DRM (Direct Rendering Manager) pour le noyau Linux, écrit en Rust, et le pilote asahi pour Mesa, écrit en C.
Le pilote au niveau du noyau est initialement développé avec la prise en charge future de l’API Vulkan à l’esprit, et l’interface de programmation de l’espace utilisateur est conçue avec l’UAPI fournie par le nouveau pilote Intel Xe à l’esprit. Étant donné que les puces M1/M2 d’Apple utilisent leur propre GPU, exécutant un micrologiciel propriétaire et utilisant des structures de données partagées assez complexes, le développement de pilotes indépendants utilise l’ingénierie inverse des pilotes macOS.
Bien qu’OpenGL ES 3.0 soit une amélioration par rapport à ES 2.0, nous n’avons pas encore terminé. Dans ma branche de travail en cours, la prise en charge d’OpenGL ES 3.1 est presque terminée, ce qui débloquera les shaders de calcul.
Le but ultime est un contrôleur Vulkan qui exécute des jeux modernes. Nous sommes loin, mais les exigences de base de Vulkan 1.0 sont parallèles à OpenGL ES 3.1, donc notre travail se traduit par Vulkan. Par exemple, les passes de compilateur multi-échantillonnage décrites ci-dessus sont du code commun entre les contrôleurs. Nous les avons testés avec OpenGL et maintenant ils sont prêts à utiliser Vulkan.
Le pilote Mesa fournit une prise en charge de l’espace utilisateur pour OpenGL et passe maintenant les tests de compatibilité OpenGL ES 3.0 et OpenGL 3.1 (OpenGL ES 2.0 et OpenGL 2.1 étaient pris en charge en décembre), qui élargit la gamme de jeux et de programmes graphiques qui peut être exécuté dans l’environnement.
Comme auparavant, ces pilotes sont expérimentaux et ne sont pas encore conformes aux spécifications OpenGL ou OpenGL ES. Pour l’instant, vous devrez exécuter nos -edgepackages pour désactiver les gestionnaires de travaux en cours, en sachant qu’il peut y avoir des erreurs. Consultez notre article précédent expliquant comment installer les pilotes et comment signaler les bogues pour nous aider à nous améliorer.
Avec cette clause de non-responsabilité, il y a BEAUCOUP de nouvelles fonctionnalités incluses dans OpenGL 3.0, 3.1 et OpenGL ES 3.0 pour faire cette version. Les faits saillants comprennent :
Plusieurs cibles de rendu
multi-échantillonnage
transformer les commentaires
Objets de tampon de texture
..et de plus.
Il est mentionné que dans un avenir proche, Asah Linux prévoit de terminer les travaux pour fournir un support pour OpenGL ES 3.1 et les shaders de calcul. Le but ultime du projet, qui permettra aux jeux modernes de fonctionner, est de créer un pilote pour l’API graphique Vulkan, dans lequel ils prévoient d’utiliser certains des exemples de code déjà testés utilisés dans les pilotes pour OpenGL.
Finalement Pour ceux qui veulent en savoir plus, Vous pouvez vérifier les détails dans le lien suivant.