Asahi Linux fait mieux que macOS avec OpenGL sur Apple Silicon

Florian Innocente |

Le développement d'Asahi Linux sur les plateformes Apple Silicon a franchi un cap sur la partie graphique. La distribution fait désormais mieux qu'Apple dans sa prise en charge d'OpenGL et OpenGL ES en incluant des pilotes conformes avec les versions 4.6 et 3.2.

Depuis 11 ans, Apple a cessé de faire évoluer OpenGL et OpenGL ES sur macOS, lui préférant ses propres API graphiques basées sur Metal. macOS 10.9 Mavericks s'est arrêté à OpenGL 4.1 et celui-ci n'a pas bougé depuis, Apple se contentant d'assurer son fonctionnement d'OS en OS, même sur Apple Silicon. Officiellement, OpenGL est abandonné sur Mac depuis 2018.

Blender en version Linux sur un M1.

Malgré cette avancée technique indéniable, cet abandon d'Apple pose des problèmes à l'équipe qui ne peut offrir aisément toutes les fonctions permises par les plus récentes versions d'OpenGL ni proposer DirectX. Elle aurait besoin de ressources matérielles qui lui font défaut dans les processeurs M1 et suivants. À défaut elle emploie quelques astuces pour substituer des types de calculs 3D par d'autres.

Néanmoins cela ouvre à cette distribution de Linux une meilleure compatibilité avec par exemple un logiciel de rendu 3D comme Blender ou des émulateurs tels que Ryujinx et Citra. La prochaine étape dans ce domaine de la gestion graphique sera une meilleure intégration de Vulkan, déjà bien entamée.

Pour ce qui est du fonctionnement d'Asahi Linux sur les M3, un point d'étape en octobre dernier donnait un délai d'au moins six mois pour une prise en charge de base. Mais le travail est ralenti par des choses toutes simples comme le fait que l'équipe est essentiellement dotée de Mac mini qui sont encore aujourd'hui sur M2.

Fedora Asahi Remix : une distribution Linux clé en mains pour les Mac Apple Silicon

Fedora Asahi Remix : une distribution Linux clé en mains pour les Mac Apple Silicon

Source
Tags
avatar Almux | 

Voici qui devrait mettre la puce à l'oreille des devs internes d' !
Allez, , hop! Du moment que cela puisse encore améliorer les perfs, autant s'y atteler!

avatar Gwynpl@ine | 

C’est surtout la développeuse qui va quitter Valve et avoir un gros chèque d’Apple pour venir !

avatar koko256 | 

@Gwynpl@ine

Les devs ne sont tous faciles à corrompre, à voir.

avatar cybercooll | 

@koko256

En quoi est ce corrompre que de mieux payer pour faire la même chose?

avatar koko256 | 

@cybercooll

C'est une image pour dire aller bosser pour quelqu'un qui n'a pas les mêmes valeurs que vous. Apple a une politique vraiment clivante ces derniers temps. Bien sûr rien ne dit que les devs de valves ont ce genre de principes mais ce n'est pas garanti qu'Apple arrive à les débaucher - ceci dit ce n'est même pas sûr qu'Apple en ait envie donc ce ne sont que des "suppositions hypothétiques".

avatar cybercooll | 

@koko256

Vu le CV de la personne en question, je suis d’accord avec toi, elle n’ira jamais chez Apple 😅

avatar cybercooll | 

@Gwynpl@ine

si tu parles de Alyssa Rosenzweig, elle est en presta chez valve, pas salariée.

avatar fabricepsb71 | 

@Almux

Apple en a rien à battre d’Open GL et Vulkan.
C’est Metal et puis c’est tout.
Si dans 5 ans on en est encore au même point qu’aujourd’hui question jeux développés pour MacOS, là peut être qu’Apple commencera à se poser quelques questions. Et encore

avatar fte | 

@fabricepsb71

"là peut être qu’Apple commencera à se poser quelques questions. Et encore"

Aucune chance.

avatar Dimemas | 

JA-MAIS

avatar Ouetham | 

Question, qu'est ce qui a motivé Apple a créer puis imposer Métal ? Je veux dire atechniquement, y a t il des choses que seul Métal permet de faire ? Ou bien est ce d'abord un choix "politique" de la part d'Apple ?

avatar Thms | 

@Ouetham

Si j’ai bien compris, Open GL n’est plus au niveau, plus mis à jour depuis de nombreuses années. Apple a donc pris la meilleure décision à l’époque en commençant à travailler sur Metal. Puis Vulkan est arrivé après

avatar Ouetham | 

@Thms

Ok, mais Métal n'est pas parti d'une page blanche il me semble. N'y a t'il pas d'ailleurs des similitudes avec Vulkan ?

avatar byte_order | 

@Ouetham

Si, beaucoup.
Mais Vulkan est multiplateforme, donc permet à des développeurs de développer du code qui pourra tourner sur d'autres plateformes que celles d'Apple, et donc qui ne rapporte pas de l'argent à Apple.

Alors que quand un développeur développe pour Metal, derrière, cela rapporte forcément de l'argent à Apple.

avatar fte | 

@Ouetham

"Question, qu'est ce qui a motivé Apple a créer puis imposer Métal ?"

Not invented here syndrome.

avatar fabricepsb71 | 

@Ouetham

Avoir recours à une techno propriétaires maison a pour objectif principal de réduire le plus possible la dépendance financière de l’entreprise.
Éviter coûte que coûte de payer des licences.

avatar byte_order | 

@fabricepsb71

Vulkan, tout comme OpenGL, a toujours été ouvert et sans frais de licence.

Non, avoir recours à une techno propriétaire plutôt qu'utiliser une techno non propriétaire (et sans frais de licence), cela permet de rendre dépendant de vous tout code l'utilisant.

Alors que le code, par exemple dans des moteurs de jeu, qui s'appuie sur OpenGL ou Vulkan, lui, ne dépend pas du bon vouloir d'Apple, si Apple veut forcer son développeur à accepter des contraintes contraires à ses intérêts, ben le développeur ne perd pas tout et reste donc plus volatile.

Et ça c'est pas dans l'intérêt d'Apple, que du code développé par des tiers soient amortissables ailleurs que dans son écosystème.

Apple a cette attitude dans son ADN.

avatar lmouillart | 

"Qu'est-ce qui a motivé Apple à créer puis imposer Metal ?"
La nécessité d'avoir une API de plus bas niveau que OpenGL.
Un an plus tôt, AMD avait démontré l'intérêt de telles solutions avec Mantle en 2013. En réponse, Apple a introduit Metal en 2014, suivi par Khronos avec glNext/Vulkan, et Microsoft avec DirectX 12 en 2015.

Il est également intéressant de noter que, bien que les pilotes OpenGL et Vulkan évoluent en parallèle, sous les systèmes libres, une implémentation appelée Zink a vu le jour.
Zink est une mise en œuvre d'OpenGL au-dessus de Vulkan. Les performances s'améliorent considérablement au fil du temps, et à terme, il est possible de simplifier la maintenance en supprimant les pilotes OpenGL lorsque les pilotes Vulkan sont disponibles.
Actuellement, via Zink, on atteint 80% des performances d'un pilote natif OpenGL.

avatar Ouetham | 

Merci pour vos réponses. Tout cela est fort intéressant je trouve.

avatar Artefact3000 | 

Les réponses dans les commentaires sont fort intéressantes, mais comme j'y connais rien, ça ne m'aide pas à comprendre vraiment.

Donc, concrètement, est-ce que Asahi Linux est globalement meilleure que macOS pour gérer le côté graphique, 3D etc., ou si c'est seulement bon avec quelques applications open source comme Blender ?

avatar lmouillart | 

Imaginez que vous avez une feuille de papier devant vous, pour dessiner.

D'un côté, vous avez une personne capable de dessiner des formes complexes à votre demande, grâce à OpenGL.
De l'autre côté, plusieurs personnes peuvent également dessiner, mais uniquement des points, et ce, très rapidement, utilisant d'autres technologies telles que Vulkan, Metal, etc.

La première personne, travaillant avec OpenGL, vous simplifie la tâche en vous permettant de lui demander directement des formes complexes. Cependant, si vous lui demandez de dessiner plusieurs choses à la fois, elle risque d'être débordée et de vous faire attendre. De plus, si vous souhaitez lui faire dessiner des éléments qu'elle ne comprend pas, il faudra attendre que son enfant (nouvelle version d'OpenGL), puisse le faire.

Pour la seconde personne, travaillant avec Vulkan, Metal, etc., vous devez gérer certaines choses par vous-même pour obtenir un dessin cohérent. Cependant, vous n'avez pas de limite, à part la complexité que cela peut représenter.

En résumé, avoir les deux profils Vulkan/OpenGL en parallèle peut être coûteux et compliqué. Il est sera souvent préférable d'opter pour le second profil et, si nécessaire, de confier certaines tâches à un intermédiaire, comme une couche de conversion OpenGL vers Vulkan (comme Zink). Ces nouvelles API sont plus adaptées au fonctionnement actuel des GPU.

Concernant la comparaison entre Asahi Linux et macOS en termes de gestion graphique, 3D, etc., Asahi Linux offre et se permet une approche plus libre et flexible, tandis que macOS peut présenter des limitations, notamment en termes de compatibilité avec des versions plus anciennes d'OpenGL. Si vous demandez un dessin OpenGL 4.6 sur un Mac, cela ne fonctionnera pas, et même avec OpenGL 4.1, qui peut fonctionner actuellement, il est prévu d'être abandonné à terme. Cela peut poser des problèmes pour les jeux et applications qui ne sont plus pris en charge.

Apple a le choix entre racheter et adapter l'ensemble des créations vidéoludiques, créer un adaptateur, ou simplement ignorer le problème et proposer aux développeurs Metal . Actuellement, elle a opté pour cette dernière option.

À l'inverse, Asahi Linux vise à permettre l'utilisation des logiciels sans ces contraintes, si leur système parvient à offrir une performance solide ainsi qu'une bonne stabilité. La prise en charge des différents logiciels et œuvres vidéoludiques, notamment anciennes, serait meilleure que celle de macOS.

CONNEXION UTILISATEUR