[Linux-bruxelles] 2008 Linux Graphics Survey

Tourneur Henry-Nicolas henry.nicolas at tourneur.be
Sam 15 Nov 23:05:19 CET 2008


Voici le mini glossaire complet (essentiellement tiré de Wikipedia EN) pour 
ceux qui ne comprendrait pas certains termes du sondage :

- Xorg : C'est une implémentation de protocole X11. Le terme générique pour 
désigner ce type de logiciel est X Window System, c'est le logiciel qui gère 
notre affichage, permet de dessiner des fenêtres à l'écran, permet de faire 
de la 3D (via les drivers adéquats) etc...

- KMS ou Kernel Mode Setting : Devrait faire son apparition dans le noyau 
2.2.29. Cette technologie permet de définir les modes de la carte graphiques 
depuis le kernel. 

- XvMC Improvements / VA-API / XvBA / VDPAU :
X Video Motion Compensation. Ce sont des technologies permettant de tirer 
partie des capacités matérielles de décodages de flux vidéo (MPEG2 - 4) des 
cartes graphiques. C'est nettement plus performant que des implémentations 
logicielles. Les lecteurs vidéo populaires savent tirer partie de ce type de 
technologies (comme xine ou mplayer).

- DRI2 : Le Direct Rendering Infrastructure est une technologie qui permet à 
des programmes en espace utilisateurs d'exécuter des instructions 3D (donc à 
envoyer à Mesa ou Gallium) directement, sans passer par Xorg, ce qui est 
beaucoup plus rapide. DRI2 est la prochaine version majeur de DRI.

- Gallium 3D : C'est le futur remplacant de Mesa 3D. C'est une librairie 
logiciel qui doit permettre le développement de driver 3D plus facilement en 
intégrant une notion de backend qui doit implémenter une interface de Gallium 
(pour l'OpenGL par exemple). Le contraste avec Mesa 3D est que dans Mesa il 
n'y a pas d'interface donc des redondances de code. Avec Gallium 3D on 
implémente une seule fois OpenGL et on écrit juste le code spécifique au 
carte graphique. Avec Mesa ou réécrit tout pour chaque driver. Autant dire 
que Gallium est assez important pour l'avenir graphique de Linux.

- Multi-Pointer X (MPX) : C'est une technologie qui doit permettre de gérer 
plusieurs pointeurs simultanément par xorg, comme le fait le système 
propriétaire surface de Microsoft. Cette techno est bien pour se positionner 
sur le marché mais pour l'instant ça n'intéresse pas l'utilisateur final 
directement.

- X Input 2 : C'est une librairie qui permet de collecter toute les entrées de 
l'utilisateur (claviers, souris...) et de leur appliquer un mapping 
particulier, lancement d'application etc...

- XRandR : Extension de Xorg pour changer la résolution et les fréquences des 
écrans sans redémarrer xorg. Ca gère aussi les rotations.

- Suspend / Hibernate : suspend to disk ou to ram. Cela permet de mettre la 
machine dans un mode veille ou seul certains périphériques essentiels (comme 
CPU et RAM) continuent de fonctionner. Ainsi il faut enregistrer un contexte 
de l'ordinateur à restaurer par la suite. Ce mode consomme nettement moins et 
est intéressant, par exemple, pour un laptop par exemple (économie pour la 
batterie). Ces technologies existent sous Linux mais sont souvent source de 
difficultée à la config (voire le ubuntu brainstorm -> demande numéro 1 je 
pense).

- GPU Computing (i.e. CUDA) : Technologie récente permettant d'utiliser son 
GPU dans des calcules normallement exécuté par le CPU. CUDA c'est la techno 
de Nvidia.

Absent du sondage mais néanmoins intéressants :

TTM/GEM : Ce sont des librairie qui permettent de gérer la mémoire de la carte 
graphique en espace kernel. GEM est un produit de Intel et devrait être 
intégrer au noyau 2.6.28. TTM est un produit de Tungsten Graphic et ne sera 
sans doute pas intégré au noyau car GEM a plus ou moins gagné la bataille 
(les deux font la même chose). L'intérêt est simple : sans cette technologie, 
il faut gérer la mémoire des cartes au niveau du kernel (pour les terminaux 
standard) et de xorg. Donc pour passer de l'un à l'autre il faut backuper 
puis restorer tout un contexte graphique ce qui est lourd et source de 
bogues.

Il est intéressant de noter que certaines de ces technologies existent déjà et 
sont utilisées en permanences tandisque d'autres doivent encore être 
intégrées (comme Gallium, KMS, GEM pour le prochain kernel).

Il se peut que des erreurs se soient glisées dans ce glossaires, n'hésitez pas 
à me corriger si tel est le cas.




Plus d'informations sur la liste de diffusion Linux-bruxelles