Interview de Denis Oliver Kropp (français)
DirectFB est un petit groupe de développeurs allemands qui travaillent sur une librairie graphique pour les plateformes GNU/LINUX. Une lbibliothèque aux performances étonnantes, surtout de part l'accélération matérielle qu'elle offre avec notamment l'alpha-blending accéléré en Hardware. Pour ceux qui ne savent pas, l'alpha-blending est le procédé qui permet de superposer de multiples fenêtres en utilisant la transparence.
Nous avons recueilli les propos de Denis Oliver Kropp, principal développeur de DirectFB lors d'une interview.
Presence-Pc: Bonjour Denis Oliver, première question, je pense que vous vous y êtes habitué, pourriez-vous vous présenter à nos visiteurs ?
- Denis Oliver Kropp:
J'ai 22 ans, et je suis développeur à Berlin, je suis le principal développeur de DirectFB. Mon entreprise 'Convergence GmbH' conçoit des MHP (Multimedia Home Platform) basés sur un système GNU/Linux/DirectFB.PPC: Pouvez-vous expliquer ce qu'est DirectFB et dire depuis combien de temps vous travaillez dessus ?
- DOK: DirectFB est le sous-système de notre architecture pour tout ce qui concerne le graphique et les interfaces d'entrée. Nous avons commencé le développement en Juillet 2000 pour répondre à nos besoins.
PPC: Quelles sont les applications de DirectFB ? J'ai lu des articles concernant les applications embarquées par exemple.
- DOK: Exact, dans la mesure où nous avons commencé à implémenter les spécifications de notre MHP, constituées de nombreuses APIs Java, nous savions exactement ce que DirectFB devait supporter. Aujourd'hui DirectFB présente de nombreuses fonctionnalités et technologies intéressantes. Il peut être utilisé dans n'importe quelle application avec une interface-utilisateur, dont les set-top-box (NDLR: applications embarquées du type freebox), terminaux de vente, ou panneaux de contrôle industriels. Mais toutes les fonctions implémentées se sont avérées très utiles pour les bureaux dernier cri et le jeu en 2D. Nous pouvons maintenant être compétitif face à MACOS X dans la mesure où nous disposions par exemple de fenêtres en transparence alpha-blended en 2000 déjà.
PPC: En parlant d'applications, j'ai vu sur votre site WEB des captures d'écran impressionnantes de jeux, voyez-vous DirectFB comme l'équivalent GNU/LINUX de DirectX ?
- DOK: En ce qui concerne la 2D, oui. Il est très facile de migrer les programmes qui font appels à DirectDraw vers DirectFB. Les développeurs qui sont familiers avec DirectX vont adorer notre API.
PPC: J'imagine qu'il est difficile de donner un chiffre comme cela, mais avez-vous une idée grossière de la performance relative des jeux sous LINUX/DFB comparé a MS/DX ? Est-ce que la légèreté de DirectFB joue un rôle ici ?
- DOK: les jeux basés sur DirectFB et DirectDraw ont des performances comparables. Mais DirectFB fournit bien plus de possibilités comme l'alpha-blending en combinaison avec la modulation de couleurs et d'alpha. En fait, DirectFB utilise l'unité de texture mapping de la Matrox, tandis que les fenêtres sont une texture chargée en mémoire vidéo.
PPC: Une des raisons les plus fréquentes pour lesquelles les gens hésitent à migrer d'un système d'exploitation propriétaire vers une solution GNU/Linux est le manque de support en terme de jeu sur cette plateforme. Pensez-vous que DirectFB est une solution pour combler ce manque ?
- DOK: Oui, avec récemment l'addition de l'OpenGL avec accélération matérielle, vous pouvez considérer GNU/Linux/DirectFB comme l'équivalent Opensource de Windows/DirectX pour les jeux, et MAC OS X pour l'interface-utilisateur.
PPC: La plupart du temps, les développeurs libres se plaignent du peu de soutien qu'ils obtiennent de la part des constructeurs de matériel informatique, pour obtenir un driver adéquat par exemple. J'ai vu que vous supportiez les produits Matrox mais rencontrez-vous un problème similaire ?
- DOK: C'est effectivement la raison principale pour laquelle il n'y a pas encore beaucoup de drivers entièrement supportés. Matrox rend toute la documentation publique, ce qui nous a permis d'écrire un driver complet. Si Matrox n'avait pas fait cela, DirectFB n'existerait probablement pas, ou du moins il serait limité aux applications embarquées de type 'set top box' avec des drivers bien spécifiques.
PPC: Quelle est la position de DirectFB face à X ? Je sais que X11 peut être une couche supérieure pour la librairie DirectFB, mais voyez-vous le développement d'un autre couche supérieure faite tout spécialement pour DirectFB comme un progrès intéressant ?
- DOK: X11 est un protocole réseau pour applications graphiques. Limiter DirectFB à la technologie de base des serveurs X reviendrait à utiliser une fusée comme un traîneau. Le développement à partir de zéro d'un nouveau bureau et d'un toolkit faits pour DirectFB serait le bienvenu.
PPC: En dehors de la librairie DirectFB elle-même, avez-vous d'autres projets en tête ? Quelles sont vos priorités de développement pour le futur ?
- DOK: J'ai plein d'idées intéressantes que j'aimerais implémenter, mais je dois me concentrer sur l'essentiel. Tandis que les autres écriraient les librairies, les extensions et les applications, je devrais me concentrer sur le technologique fondamentale.
Un de mes projets en prévision est la transparence via réseau à un plus haut niveau de DirectFB, par exemple sur la couche interface. DirectFB fournit beaucoup d'interfaces qui peuvent être implémentées de différentes façons. Chaque type d'interface aura une implémentation de type réseau qui communiquera avec un serveur qui utilisera les implémentations existantes comme une application locale. Vous pouvez comparer avec Cobra, si vous voulez.
Un détail intéressant de cette approche est que si une application distante veut charger un fichier PNG pour créer un sprite, il envoie un PNG compressé sur le réseau au lieu d'un non-compressé comme le ferait X11.
PPC: Qu'attendez-vous de votre participation au FOSDEM ?
- DOK: J'espère que plus de gens prendront part au développement, ou du moins qu'ils connaîtront ce qu'est DirectFB réellement, parce que je dois bien admettre que notre site Web p*e. :-)