15 novembre 2007
Xgl et l'ère du bureau 3D !
Ca fait un peu plus d'une décennie, je me rappelle que quand je démarrais la vieille machine 80x88 que nous avions au lycée, je devrais insérer une vieille disquette MS-DOS. La machine démarrait péniblement sur le vieux console DOS. Nous faisions le traitement du texte sous DOS à l'aide d'un vieux logiciel de traitement de texte avec une arrière-plan toute bleue et une menu à activer par des combinaisons de touches. Nous programmions en Pascal et Basic sous des environnements de pogrammation rédumentaires. Malgré la difficulté que j'avais à manier les différentes commandes et l'indisponibilité de la documentation, je trouvais un plaisir fou à manipuler cette vieille merveille qui n'a plus de place dans la réalité dans nos jours. Elle n'est encore présente que dans les souvenirs. Puis nous avions installé le fameux Windows 3.1. Pour moi, c'était un régal: un système de fenêtrage, des icônes, utilisation satisfaisante de la souris, un meilleur graphisme, etc. Quelques années plutard, l'administration de notre lycée a décidé d'acheter de nouveau ordinateurs, des pentium II 300 MHz qui tournent sous Windows 95. Et en plus, on nous a installé un réseau informatique et une connexion à Internet via le modem téléphonique. C'était pour moi un joli paradis. Je passais des heures et des heures sur l'ordinateur entrain de découvrir l'inconnu et d'admirer le nouveau système d'exploitation avec ses couleurs et sa qualité de graphisme. Quand je regarde le graphisme des systèmes actuels (RGB 24 bits), je me rends compte du grand pas qu'a fait l'informatique dans ses deux composantes, matérielles et logicielles. Microsoft vient de sortir son Vista longuement attendu avec des effets graphiques et un habillage innovant et pas commun à ses anciens Windows. De l'autre coté, la communauté des logiciels libres a su léver le défi en présentant une gamme de plateformes et d'API capbles de donner des effets graphiques extrêmmement poussés et dans quelques uns relèvent de la fiction et des songes.
Dans ce contexte, nous célébrons l'arrivée du Xgl. Il s'agit d'un serveur X libre surcouche de l'OpenGL via glitz, permettant d'utiliser les capacités 3D des cartes graphiques modernes dans un environnement bureautique traditionnel, rendant ainsi possible des effets d'affichage tels que la transparence, les rotations des fenêtres, les ombrages, etc. Xgl est basé sur www.X.org et le développement a été démarré par David Reveman [1].
Vidéo I: Démonstration du Xgl (Novell)
La première version du code source de Xgl est rendue publique en Janvier 2006. Une démonstration publique de l'équipe "Desktop" de Novell en février 2006, a fait beaucoup de publicité pour cette technologie (voir vidéo I). En effet, Xgl est combiné actuellement avec le gestionnaire des fenêtres Compiz développé par David Reveman. Compiz et son fork Beryl sont tous deux des projets ayant pour but de permettre la composition de l’affichage, c’est-à-dire l’utilisation de la carte graphique en lieu et place du processeur central pour s’occuper de tout ou partie de l’affichage. Cependant, les 2 projets ont fusionné en un seul, Compiz Fusion [2].
A partir d'octobre 2006, Xgl/Compiz est inclus, évidemment dans la SUSE Linux Enterprise Desktop 10 de Novell, étant à l'initiative de la technologie, mais également dans la distribution Mandriva 2007 ainsi que dans la (K)Ubuntu 6.10.
Vidéo II: 3D Desktop MANDRIVA LINUX 2007 (Xgl/Compiz)
Avantages et Inconvénients du Xgl:
1- Avantages :
Fonctionne avec quasiment toutes marques de cartes graphiques (récentes, si possible malgré que les fabricants ne publient pas les spécifications internes de leurs cartes graphiques ce qui rend le développment de pilotes libres des fois quasi-impossible).
Pour la gestion de bureaux 3D, certains pilotes graphiques ne peuvent gérer que Xgl, c'est le cas du pilote fglrx, le driver propriétaire ATI.
Pour l'utiliser, il n'y a pas besoin d'éditer de fichier de configuration (même xorg.conf).
2- Inconvénients :
Xgl est une surcouche du serveur graphique X.org, il diminue donc les performances d'un programme d'effets 3D (comme Beryl ou Compiz).
Xgl ne permet pas de lancer deux programmes utilisant la 3D, c’est-à-dire que l'utilisation de Beryl ou de Compiz rend impossible l'exécution de jeux 3D. Il faut dans ce cas séparer Xgl en créant une session spéciale (cela dépend de la carte ou de la version de Xgl).
Xgl n'est pas intégré dans le pilote graphique, il demande de l'espace disque, 11 Mo environ.
L'accélération matérielle pour un bureau 2D a déjà été réalisée avec Mac OS X 10.2 en 2002 avec la technologie Quartz Extreme, en présentant les éléments de l'écran comme étant des textures dans un contexte 3D en OpenGL. De sa part, Sun a également réalisé Projet Looking Glass en 2003. Et comme d'habitude, souciante de l'attraction de tels environnements graphiques sur l'utilisateur, Microsoft a essayé de développer une technologie équivalente, Aero (basée sur Direct3D à la place de l'OpenGL) est sortie avec Windows Vista en Novembre 2006. En effet, Aero un acronyme (ou plus précisément un rétroacronyme) qui signifie Authentique, Energétique, Réfléchi et Ouvert (Authentic, Energetic, Reflective and Open en anglais) [3].
Références:
[1] http://fr.wikipedia.org/wiki/Xgl
[2] http://fr.wikipedia.org/wiki/Compiz
[3] http://fr.wikipedia.org/wiki/Aero_%28interface_utilisateur%29
14 novembre 2007
Conflit de mentalités ou bien conflit d'intérêts ?
versus

Vidéo I: Y a-t-il une vie après Microsoft ? (ARTE - 2007)
Vidéo II: Nom de code: Linux (ARTE - 2002)
Beaucoup de gens ont discuté la relation entre chacun des acteurs dans le monde informatique et Internet, en particulier, Microsoft avec sa ligne de produits logiciels et la communauté des logiciels libres représentée entre autres par le fameux Linux. Les partisans de Microsoft disent que cette compagnie a beaucoup donné à "l'ère informatique" et aux utilisateurs des ordinateurs partout dans le monde. Alors que les partisans des logiciels libres lui reprochent sa politique de fermeture et des produits "boîtes noirs" ce qui lui permet de gouverner le marché, diriger les conduites des utilisateurs et de l'industrie logicielle sans pour autant trop "se soucier" de leurs vrais besoins. Alors qu'il soit gratuit ou payant, un logiciel libre est par définition un programme dans le code source est révélé et auquel tout utilisateur pourrait y avoir accès. Ceci lui permet d'apporter les changements qu'il veuille afin d'adapter le logiciel à ses vrais besoins.
Dans le documentaire "Y a-t-il une vie après Microsoft ?" de la chaîne ARTE (voir vidéo I), une poignée d'anciens employés de Microsoft parlent de leurs expériences au sein de l'entreprise, de sa stratégie et les visions de développement et de marketing qu'elle adopte, etc. Des témoignages que je trouve très intérressantes afin de définir le profil "réel" du géant de l'industrie logicielle mondiale. De l'autre coté de la rivière, il y a Linux avec une communauté plus ouverte qui développe les logiciels libres en codes sources et même libres de droits. Une communauté qui croit profondément que faire de l'argent ne veut pas dire prendre les utilisateurs pour des esclaves et leurs dicter des choix et des produits prédéfinis, fermés et souvent inadaptés à leurs vrais besoins. Cette communauté a pour objectif de lever la main mise des grandes compagnies d'industrie logicielle entre autres Microsoft et instaurer une mentalité d'ouverture et de diffusion du savoir et du savoir-faire dans le domaine des technologies de l'information. Je trouve ces objectifs nobles surtout qu'ils permettent une bonne cadence de transfert technologique dans le domaine d'informatique et d'Internet en particulier vers les pays défavorisés et technologiquement encore sous-développés ainsi qu'ils permettent de boucher la grande fossée numérique entre le nord et le sud, l'ouest et l'est.
Dans le second documentaire "Nom de code: Linux" de la chaîne ARTE (voir vidéo II), une autre vision du monde logiciel en particulier et informatique en général nous est présenté. Basé sur le concept d'ouverture, Linux est un système d'exploitation qui a été crée pour défier MS Windows et fournir une plateforme multi-services, multi-utilisateurs, multi-tâches, libre et ouverte. Ces critères sont les plus importants de Linux car ils permettent à tout utilisateur de télécharger le code source du système d'exploitation, d'y faire des changements et le recompiler de nouveau afin d'avoir "son" système à lui. Pour cela et dans très peu de temps, nous avons vécu une totale révolution du monde Linux avec des dizaines de distributions en plusieurs langues et ciblant plusieurs types de plateformes matérielles du micro-ordinateur aux téléphones portables à l'avionique des dernières générations des avions. Malgré que Microsoft fait d'énormes efforts et investissements afin de conquérir de tels domaines, il lui est difficile de convaincre les professionnels avec ses produits orientés au développement des systèmes embarqués. En effet, les compagnies qui développent ce genre de systèmes ne tolèrent pas un écran bleu à 10.000 mètres d'altitude. Linux offre pour eux une vraie plateforme ouverte facile à diagnostiquer et donc exempte de surprises.
Imaginez cette situation (cf. figure suivante):
Figure I: Écrans bleus sur les instruments de bord d'un avion de ligne
Imaginez que vous êtes entrain de déguster un repas voluptueux en première classe, à une altitude de 12.000 mètres et à une vitesse de 950 km/h, quand soudainement la voix du commandant de bord surgisse dans la cabine: "Mes dames et Messieurs, bonjour, ici votre commandant de bord. Nous avons le regret de vous informer que les instruments de vols sont pour le moment plantés. Un écran bleu a remplacé les écrans habituels. Nous sommes désolés pour les inconvénients que puisse générer cette défaillance technique. Nous sommes présentement en communication avec le support technique de Microsoft afin de résoudre le problème. Des messages suivront. Merci de votre attention." Qu'allez-vous faire ? Personnellement, je chercherai immédiatement mes CDs de Linux et je me dirigerai tout droit vers le cockpit pour faire les réparations nécessaires. En effet, je réfuse de mourir con ! ;-)
Si la figure I représente une photo synthétique, la figure II est bien réelle:
Figure II: Écran bleu sur un écran d'informations dans un aéroport
