Effervescence autour de la pile graphique libre

Posté par  . Édité par Benoît Sibaud. Modéré par Florent Zara. Licence CC By‑SA.
125
2
avr.
2011
Serveurs d’affichage

Ces derniers temps ont été très riches en événements dans le monde graphique libre.

Une première phase du remodelage intégral de la pile graphique de nos systèmes libres avait commencé par DRI2, apportant notamment la possibilité à un compositeur tel que Compiz de rediriger le rendu OpenGL d’une fenêtre (Redirected Direct Rendering), puis le Kernel Mode Setting (KMS) permettant de transférer la gestion des modes vidéo et de la mémoire vidéo du pilote graphique X.Org (DDX) vers le noyau, et enfin, Gallium3D, le cadriciel de Tungsten Graphics, permettant la mise en commun de nombreuses fonctionnalités auparavant implémentées dans chaque pilote graphique.

Très récemment, le noyau 2.6.38 a apporté le kernel page flipping, permettant l’arrivée du futur serveur d’affichage Wayland développé par Kristian Høgsberg (également auteur de DRI2 et de AIGLX) et popularisé par Mark Shuttleworth (qui souhaite son adoption dans Ubuntu dès l’année prochaine). Les bibliothèques graphiques GTK+ 3 et Qt 4 ont déjà des back-ends permettant le fonctionnement expérimental des applications GNOME 3 ou KDE 4 sous Wayland…

Parmi les plus récents événements, de nombreux étudiants ont proposé des projets en lien avec la pile graphique libre utilisée par GNU/Linux à l’occasion de l’édition 2011 du Google Summer of Code (GSoC). Ces projets sont plus précisément des « state trackers » pour Gallium3D :

  • un étudiant belge du nom de Denis Steckelmacher (alias steckdenis), a proposé rien de moins qu’un state tracker OpenGL 4.1, entièrement récrit. Ce projet ayant été jugé bien trop ambitieux par les développeurs Mesa / Gallium3D dans le cadre du GSoC, ces derniers lui ont proposé de travailler sur le remplacement des représentations intermédiaires propres à Gallium3D (Mesa IR) par une sémantique [GLSL] plus standard. Après coup, cette idée n’a pas fait non plus l’unanimité au sein des développeurs, avec notamment deux sociétés, Intel et LunarG travaillant actuellement sur ces fameuses représentations intermédiaires. Denis Steckelmacher a finalement décidé de travailler sur Clover, le state tracker OpenCL, permettant d’exploiter la puissance des GPU pour le calcul intensif, avec pour objectif obtenir un state tracker fonctionnel réalisant, dans un premier temps, les calculs OpenCL sur le processeur en utilisant LLVMpipe, un moteur de « rendu OpenGL » logiciel basé sur LLVM (Low Level Virtual Machine).

  • un étudiant français, Émeric Grange (alias Emeric_), participerait également au GSoC 2011, avec pour projet le développement d’un décodeur vidéo WebM / VP8 accéléré via les [[shaders]] des processeurs graphiques. Tout cela serait placé dans un state tracker Gallium3D, qui exposerait ses fonctions aux lecteurs multimédias comme VLC, MPlayer et Totem (via un greffon GStreamer) à travers l’API VDPAU de NVIDIA.
    Ce state tracker pourrait constituer un bon point de départ pour la prise en charge générique du décodage matériel d’autres formats vidéo, tels que le MPEG 4 ASP (DIVX < 7) et MPEG 4 AVC (H.264) ou le MPEG 2 (déjà pris en charge par le state tracker XvMC). À noter que, comme pour la gestion des textures compressées S3TC, la gestion de ces formats devra faire l’objet d’une analyse des brevets / licences impliqués.

Certes, tout n’est pas rose du côté de la pile graphique Linux, mais au moins ça bouge et ça avance plutôt dans le bon sens. Voir ci-dessous pour les détails.

Les pilotes graphiques libres : rétrospective et vue sur l’avenir

110
30
jan.
2016
Serveurs d’affichage

Cette année 2015 fut très riche et très excitante au sujet des pilotes graphiques libres. Grosse nouveauté, Mesa 3D 11 a été annoncée le 12 septembre 2015, avec une prise en charge d’OpenGL 4.2, après une très longue stagnation en version 3.3.

Cette dépêche fait donc la part belle aux récentes nouveautés de Mesa 3D, mais s’attarde aussi sur les actualités des puces graphiques embarquées, et se permet quelques incursions du côté de certains pilotes propriétaires dans leur collaboration avec les projets libres ou leurs initiatives qui profitent à tous.

Pour finir, nous nous permettrons d’annoncer quelques actualités à venir ayant pris racine en 2015.

Merci à tous les contributeurs de cette rétrospective !

Le rendu 3D, rétrospective

Posté par  (site web personnel) . Édité par Benoît Sibaud et Julien Jorge. Modéré par Pierre Jarillon. Licence CC By‑SA.
Étiquettes :
86
21
nov.
2022
C et C++

Le 13 novembre 2022 est sorti Vulkan Scene Graph 1.0.0 (VSG). C'est la première version stable de cette bibliothèque en C++ qui fournit un graphe de scène basé sur l'API graphique Vulkan. Son concepteur, Robert Osfield, avait créé et maintenu OpenSceneGraph (OSG), basé sur OpenGL. Vulkan étant devenu la référence, il était temps de mettre à jour OSG en utilisant les toutes dernières fonctionnalités du C++. Comme c'est un sujet touffu, je vous propose dans cette première dépêche de revenir sur l'histoire des graphismes 3D. Dans une deuxième dépêche, nous verrons ce qu'est un graphe de scènes, et dans une troisième, nous nous pencherons plus spécifiquement sur OpenSceneGraph et VulkanSceneGraph.

GNOME 3.0 : le grand saut !

Posté par  . Modéré par j. Licence CC By‑SA.
77
7
avr.
2011
Gnome

L’environnement de bureau du projet GNU a livré sa version 3.0, tant attendue. Contrairement au poisson d’avril de Vincent Untz, la version 3.0 n’est pas repoussée une troisième fois !

La branche 2 ne verra pas de nouvelle version majeure. La version 2.32 sera maintenue aussi longtemps que les distributions remonteront des erreurs.

Terminology 0.3

Posté par  . Édité par Benoît Sibaud, rootix et NeoX. Modéré par Benoît Sibaud. Licence CC By‑SA.
61
29
mar.
2013
Serveurs d’affichage

En marge de son gestionnaire de fenêtres sorti en décembre dernier, le projet Enlightenment s’est attelé à ajouter un élément à son édifice : un émulateur de terminal. Son développement a commencé il y a un peu moins d’un an, initié par Carsten Haitzler. Terminology est donc une écriture from scratch d’un terminal bénéficiant de fonctionnalités visuellement très impressionnantes.

Mesa 9.0 est sorti : OpenGL 3.1, OpenCL, VDPAU…

Posté par  (site web personnel) . Édité par Davy Defaud, Thomas Debesse et Nÿco. Modéré par Davy Defaud. Licence CC By‑SA.
60
9
oct.
2012
Serveurs d’affichage

Nous avions relayé au mois d’août la publication des spécifications OpenGL 4.3 et OpenGL ES 3.0 par le Groupe Khronos.

Mesa, une implémentation libre de la spécification pour plates‐formes de type Unix, comme GNU/Linux, vient de sortir en version 9.0, offrant notamment la prise en charge de la version 3.1 d’OpenGL datant du 24 mars 2009. Du fait de cette importante mise à jour, Mesa 8.1 sort finalement sous le nom de Mesa 9.0.

MesaMatrix pour suivre les progrès de Mesa

Posté par  . Édité par ZeroHeure, Davy Defaud, Xavier Teyssier, NeoX, tuiu pol et palm123. Modéré par tuiu pol. Licence CC By‑SA.
57
3
sept.
2014
Noyau

À chaque fois que je lis les dépêches LinuxFr.org sur le nouveau noyau ou bien les nouvelles de Phoronix, je m’empresse de regarder les avancées des pilotes graphique libres. Et souvent, je vais sur la page Mesa traçant les évolutions de l’implémentation d’OpenGL. Mais je trouve difficile de suivre où en est réellement la progression de cette adaptation dans Mesa et de ses différents pilotes graphiques qui en dépendent. C’est pourquoi j’ai décidé de faire un script qui parcourt ce fichier et l’affiche de manière plus intelligible.

 http://mesamatrix.net/

Si vous adorez suivre la course qui se tient entre Mesa et OpenGL, et que vous allez souvent voir quelles sont les nouvelles extensions OpenGL qui ont été implémentées et pour quels pilotes, ça pourrait vous intéresser ! Plus d’explications dans la suite de la dépêche.

EGLX : un petit traducteur GLX-EGL pour Wayland

Posté par  . Édité par Nÿco, palm123 et claudex. Modéré par Nÿco. Licence CC By‑SA.
Étiquettes :
57
27
oct.
2013
Serveurs d’affichage

Que ce soit un jeu vidéo, un petit logiciel de traitement ou une simple démo, on a tous dans notre coeur un vieux (comme dans vieux) logiciel utilisant des API obsolètes : OpenGL, X11… :-D

Malgré tout, l'antique OpenGL 1.X (celui avec glBegin(), glEnd() …) est en voie de disparition, remplacé par ses variantes mobiles que sont OpenGL ES 1.0, 2.0 et bientôt 3.0. Tout ça ne nous poserait pas de problème si X lui-même n'était pas en train d'être remplacé par Wayland, dont le compositeur de référence ne « comprend » qu'OpenGL ES en natif. Par ailleurs et par conséquent, la couche de glue entre GL et le système (GLX) change également, remplacée par EGL

C'est pour répondre à cette problèmatique que j'ai écrit EGLX, un traducteur GLX vers EGL/Wayland.

Tizen 1.0

Posté par  (site web personnel) . Édité par Lucas Bonnet, Benoît Sibaud, bubar🦥 et podoc. Modéré par Lucas Bonnet. Licence CC By‑SA.
49
17
août
2012
Mobile

On l'a un peu trop vite zappé, mais le projet Tizen (successeur de MeeGo et LiMo à la Linux Foundation) a annoncé en mai « Larkspur », le code source de la version 1.0 de la plateforme et du SDK. Rappelons que le but de Tizen est de créer un OS mobile (téléphones, tablettes, voitures) pour applications natives et web, projet soutenu par Intel et Samsung, entre autres.

La pile graphique est basée sur X11 avec EFL (Enlightenment Foundation Libraries) et GStreamer, avec prise en charge de OpenGL ES 1.1 et 2.0. WebRTC et des API pour accéder à l'appareil photo et au vibreur ont été ajoutées, ainsi que Wi-Fi Direct. L'IDE inclut un outil web de simulation, ainsi que la version 1.0 de l'émulateur QEMU.

Un prototype de téléphone Samsung a fait son apparition :

  • Processeur Dual-core Cortex A9 tournant à 1.2 GHz
  • GPU Mali 400
  • Mémoire vive de 1 Go
  • Stockage de 16 Go
  • Un écran de 4.65" de diagonale en Super AMOLED, de résolution 720p (1280x720)
  • Appareil photo frontal de 2 Mp et dorsal de 8 Mp

D'autre part, il existe une couche pour rendre compatibles les applications écrites à la base pour Android, comme c'est le cas sur l'OS BlackBerry 10.

Note : il ne faut pas trop rapidement mettre de côté cet OS, car l'industrie dans son ensemble n'a pas encore complètement résolu les problèmes de dualités entre iOS et Android, sachant que beaucoup ne se satisfont ni de l'un ni de l'autre. On attend en outre toujours que Windows Phone décolle, que BlackBerry lance des téléphones avec sa verson 10, et que Boot-to-Gecko aka FirefoxOS fasse son apparition.

Journal The Timeless hacke ta machine et ton cerveau

48
30
avr.
2014

Du 18 au 21 avril à Saarbrücken (Allemagne), se tenait l’événement Revision 2014, une des plus grandes demoparty du monde. L’équipe Mercury a publié une impressionnante démo dans la catégorie 64K (l’exécutable ne doit pas dépasser 64 Ko en taille) : The Timeless.

La démo dure environ 6 minutes (étape de pré-calcul omise). La première scène nous plonge dans une eau trouble que nous quittons pour contempler un soleil couchant sur une mer agitée, et dès les premières secondes (…)

Journal Vulkan le successeur d'OpenGL

Posté par  . Licence CC By‑SA.
42
6
mar.
2015

Une information qui a son importance dans la pile graphique de Linux, le 3 mars 2015, le Khronos Group, un consortium industriel qui gère entre autre les standards OpenGL, OpenGL ES, OpenCL et WebGL a dévoilé l'API qui devrait succéder à OpenGL à savoir Vulkan, , sa prochaine génération d'API de haute performance dédiée au graphisme 3D et au calcul GPU.

Publication d'OpenGL 3.2

Posté par  . Modéré par patrick_g.
Étiquettes :
42
4
août
2009
Serveurs d’affichage
Profitant de la tenue du SIGGRAPH 2009 à la Nouvelle Orléans, le Khronos Group a annoncé la publication de OpenGL 3.2. Il s'agit là d'une interface de programmation graphique multi plate-forme spécialisée dans le rendu 3D, concurrençant l'API Direct3D de Microsoft (dont la version 11 accompagnera la sortie de Windows 7).

Il s'agit de la dixième version publiée depuis la sortie de la version 1.0 en 1992 et de la troisième en seulement 1 an (la 3.0 étant parue le 02 août 2008 et la 3.1 le 24 mars 2009).
Cette parution confirme le bien-fondé du passage de l'OpenGL ARB originel, chapeauté par SGI, à celui du Khronos Group qui visait à en accélérer le développement, et ce malgré la (relative) longue attente de la version 3.0.

Le travail sur la norme OpenGL est conjoint à :
  • OpenGL ES (API graphique destinée à l'embarqué),
  • OpenCL (API dédiée à la parallélisation des calculs, notamment via les processeurs graphiques)
  • et depuis peu à webGL (visant à permettre l'utilisation de la 3D directement au sein des navigateurs).

Journal Ayé les processeurs Intel Ivy Bridge gèrent OpenCL 1.1 sous GNU/Linux

Posté par  (site web personnel) . Licence CC By‑SA.
41
12
fév.
2014

J'avais rédigé cette dépêche au lancement des processeurs Ivy Bridge :

Depuis, les développeurs de l'Intel Open Source Technology Center (aka Intel OTC) ont mis les bouchées doubles et voici où en est la situation :

Les cœurs graphiques Ivy Bridge sont à présent compatibles OpenGL 3.3 (depuis Mesa 10.0) (Ivy Bridge peut gérer OpenGL 4.0 en théorie), OpenGL ES 3.0 (depuis Mesa 9.1), et, grande nouveauté : OpenCL 1.1 (…)

Journal Vulkan 1.0

Posté par  (Mastodon) . Licence CC By‑SA.
Étiquettes :
39
17
fév.
2016

Voilà, c'est fait, Vulkan sort enfin en première version publique. Vulkan est une API graphique conçue par le Khronos Group, les mêmes qui conçoivent la grande famille OpenGL. Vulkan remplacera-t-il OpenGL ? Dans l'immédiat non. Dans le futur, peut-être. Vulkan est plus bas niveau qu'OpenGL et donc ne s'adresse pas forcément au même public. Vulkan est aussi bien plus complexe vu de loin (la «quick reference» fait quand même 13 pages, là où celle d'OpenGL ES2 en fait 4).

(…)

Journal Banc d’essai OpenGL/Direct3D de Source engine par Valve

Posté par  (site web personnel) .
39
2
août
2012

Vous n’avez sans doute pas manqué l’info ces dernières semaines sur l’exaspération de Valve face à windows 8, et de l’intérêt que porte désormais l’entreprise pour linux.

Certes Valve produit des logiciels propriétaires, ce qui ne suffira pas à contenter les plus libristes d’entre nous, mais comme RMS lui même l’admet, mieux vaut des jeux propriétaires sur une plateforme libre, qu’un frein au développement et à l’adoption de cette plateforme.

Et donc Valve nous gratifie d’un banc d’essai (…)