Qu’est-ce qu’OpenGL® pour Linux® ?

OpenGL® pour Linux® est une implémentation de la bibliothèque graphique indépendante du matériel conçue pour fonctionner sur le système d’exploitation Linux®. L’interface de programmation abstraite (API) réelle pour la version Linux® d’OpenGL® est identique à bien des égards aux implémentations d’autres systèmes d’exploitation, mais la façon dont l’API se connecte au matériel ou au système d’exploitation peut être beaucoup plus complexe pour un certain nombre de raisons. Contrairement à d’autres systèmes d’exploitation dans lesquels la connexion entre l’API et le matériel est largement transparente, OpenGL® pour Linux® peut potentiellement impliquer plusieurs programmes ou pilotes intermédiaires qui aident à maintenir la nature indépendante et abstraite de l’API.

L’un des problèmes auxquels OpenGL® pour Linux® est confronté est qu’il existe de nombreux types de distributions Linux®, chacune pouvant être suffisamment différente des autres pour être imprévisible au bas niveau sur lequel OpenGL® fonctionne. Pour cette raison, tous les fabricants de cartes graphiques ne fournissent pas de pilotes Linux® pour leurs cartes prenant en charge OpenGL®, et certaines cartes équipées de pilotes utilisent des interfaces non standard. Cela signifie que la bibliothèque OpenGL® utilise un système de fenêtrage abstrait standard pour Linux® — appelé X Windows — qui emploie OpenGL® pour produire nativement des interfaces utilisateur graphiques (GUI). Un inconvénient de ce système est que, sans le maillage approprié de tous les composants logiciels et matériels d’un système, OpenGL® pour Linux® peut être relégué à l’émulation logicielle des opérations qui devraient avoir lieu dans le matériel graphique.

Afin d’aider à combler les lacunes manquantes qui peuvent apparaître lors de l’installation, de la programmation et de l’exécution d’applications sous OpenGL® pour Linux®, un pilote intermédiaire spécial connu sous le nom d’interface binaire d’application (ABI) a été développé. Ce logiciel fournit un pont entre les pilotes matériels fournis par les fabricants et l’API OpenGL®. Presque toutes les cartes graphiques peuvent être utilisées via l’ABI, bien que certaines fonctionnalités d’accélération matérielle puissent devenir inaccessibles à moins que l’interface n’ait été mise à jour pour les gérer.

Une autre méthode utilisée par OpenGL® pour Linux® pour tenter de s’interfacer avec différents matériels sous différentes implémentations est connue sous le nom d’interface de rendu direct (DRI). Le DRI est un cadre spécial utilisé pour permettre à OpenGL® d’accéder aux fonctions d’accélération matérielle au sein de la carte graphique. Si cette solution est acceptée par certains constructeurs, elle est ignorée par d’autres. Le résultat est que, selon le matériel graphique installé sur un système informatique particulier, des méthodes complètement différentes d’installation et d’utilisation d’OpenGL® pour Linux® devront être employées.