Tweekers' Blog

Aller au contenu | Aller au menu | Aller à la recherche

Balise - Linux

Fil des billets

Utiliser Compiz efficacement

On entends souvent parler de compiz, souvent des commentaires enthousiastes par rapport aux effets graphiques apportés. Souvent aussi compiz est dénigré et le qualifiant de "gadget" inutile ou pire d'effet b***g b***g (je m'auto censure, je ne peux pas blairer cette expression).
Malheureusement on parle peu du fait que compiz est un excellent Window Manager, le meilleur que j'ai jamais rencontré pour être honnête (mais je n'ai pas essayé KDE 4).

Je vais présenter dans ce billet ma façon d'utiliser compiz avec les avantages que cela apporte

Pré-requis

Les opérations présentées ici nécessite l'outil de configuration Compiz configuration settings manager, abrégé ccsm. Il est disponible dans les dépôts logiciels de votre distribution favorite sous le nom compizconfig-settings-manager. Après installation, un lanceur est crée dans le menu Préférences. Pensez aussi a installer les plugins additionnels de compiz.

Cachez moi ces effets superflus

La première chose à faire, c'est de désactiver les options qui ont rendu compiz célèbre (et qui ont aussi participé a sa mauvaise réputation), j'ai nommé le "Cube du Bureau" et "Déformer les fenêtres" (les fenêtres molles ou élastiques). La majorités des plugins dans la section Effets ont eux aussi peu d'intérêt et je ne conserve que "Animations", "Décoration de la fenêtre" et "Types de fenêtres a animer". Je rappelle que le but de ce billet est d'avoir un environnement de travail efficace et pas une démo technologique.

Meilleur que le cube: le plan

A la place du cube, je choisi le bureau sur un plan et ceci pour plusieurs raisons. La première est que rien ne différencie une face du cube d'une autre, il est donc plus difficile de retrouver ses fenêtres. Sur un plan (la méthode utilisée par les bureaux virtuels ces 20 dernières années), on peut se rappeler que telle fenêtre est en haut a gauche, une autre fenêtre en bas au milieutres.. L'autre raison de ne pas utiliser le cube est que dès qu'on dépasse les 4 faces, on est encore plus perdu, et tous les bureaux sont mis des uns à coté des autres sur une seule ligne. Pour mon bureau en plan, j'ai adopté une surface de 3x3 soit 9 bureaux. Pour mon utilisation, c'est le meilleur compromis que j'ai trouvé. Je donnerais plus de détails sur le bureau en plan dans la partie où j'aborderai le positionnement des fenêtres. La surface du bureau se défini dans les "Options générales".
Deux fonctionnalités que je juge essentielles sont la fonction "Éxposé" et l'option "Bureau sur un tore" des préférences de "Bureau sur un plan". La fonction Éxposé permet d'avoir un aperçu de tous les bureaux et de pouvoir déplacer les fenêtres entre eux. C'est l'équivalent d'un widget "pager" qui se retrouve sur de nombreux bureaux Linux. Grâce a la fonction Éxposé, je ne dispose pas de pager mais j'ai l'équivalent en plein écran avec un simple raccourci clavier (Super+E par défaut). Le bureau sur un tore permet de connecter le bord droit du dernier bureau au bord gauche du premier et le bord du bas des bureaux inférieurs aux bords haut des bureaux supérieurs, ce qui est très pratique pour déplacer ses fenêtres.
Puisque je parle de déplacer les fenêtres et de bureau en plan, je rappelle des raccourcis présents sur la majorité des Window Manager : Ctrl+Alt+Flèches pour changer de bureau, Ctrl+Alt+Shift+Flèches pour déplacer la fenêtre active.

Gestion des fenêtres

Ou window management en anglais, ce qui est quand même un peu le but d'un Window Manager. Dans cette section de ccsm, il existe des tonnes d'option, certaines sont complexes a apprivoiser, d'autres sont indispensables. Dans le plugin "Actions supplémentaires du Gestionnaire de fenêtre" il est possible d'activer un raccourci pour mettre n'importe quelle fenêtre en plein écran avec la combinaison Ctrl+F11, du vrai plein écran, sans barre des tâches.
Le plugin Grille est très intéressant puisqu'il permet de redimensionner et positionner les fenêtres avec la combinaison Ctrl+Alt et les touches du pavé numérique. Par exemple Ctrl+Alt+1 va positionner la fenêtre active dans le coin en bas a gauche de l'écran. Si on appuye de nouveau sur ce raccourci, la fenêtre occupera 2/3 de l'écran au lieu de la moitié. Une autre pression et la fenêtre occupera 1/3 de l'écran. Le plugin "Redimensionner la fenêtre" reproduit une fonction déjà présente sur la majorité des Window Manager : pouvoir déplacer une fenêtre avec Alt+Bouton du milieu. D'une manière similaire, Déplacer la fenêtre permet de déplacer avec Alt+Bouton gauche. Tellement utile qu'on oublie vite qu'on a utilisé dans le passé la barre de titres pour déplacer et une zone minuscule de quelques pixels de large sur les coté pour redimensionner.
Les règles de fenêtres (ou "Window Rules" chez moi, un oubli de traduction) , sont un peu complexes a maitriser mais apportent beaucoup. Ici, on va aborder pour la première fois la notion de titre de fenètre et de classe de fenêtre. Dans le jargon de Xorg on appelle ces propriétés WM_NAME et WM_CLASS et ce sont des informations que l'on peut connaitre avec la commande xprop. Ces règles permettent de fixer certaines conditions pour des classes de fenêtres que vous aurez définies. Si vous souhaitez par exemple faire apparaitre Pidgin sur tous les bureaux, vous rajouterez class=Pidgin sur la ligne "Afficher sur tous les bureaux". Cette fonction étant déjà présente avec un clic droit sur la barre de titres cela ne présente qu'un intérêt faible, mais d'autres possibilités sont offertes comme forcer un programme en plein écran. De la même manière on pourra forcer la taille de certaines fenêtres dans l'onglet "Règles de tailles". Le plugin "Placer des fenêtres" utilise le même principe et permet d'ouvrir un programme sur un bureau que vous aurez défini. Ainsi je sais que mon terminal est a gauche au centre, firefox sur le bureau central, amarok à droite au centre, Netbeans en haut au milieu.

Compiz et le jeu vidéo

Cette partie du billet pourra surprendre certains car on a souvent transmis l'idée que pour jouer, il valait mieux couper Compiz. J'ai constaté dans les benchmarks publiés sur ce blog il y a plus d'un an que cette manipulation n'apporte (avec une carte Nvidia) qu'un gain négligeable. Ma carte est loin d'être du haut de gamme (9600 GT) et je ne me prive pas de jouer a Left4dead ou Borderlands avec Compiz activé. Peut être que la différence entre Compiz/Metacity est plus visible sur ATI / intel, je vous laisse répondre a cette question dans les commentaires.
Toujours est il que compiz apporte beaucoup pour les jeux. Il faut reconnaitre que la plupart des jeux sur Linux ont une gestion pitoyable du plein écran : Toute interaction avec le bureau est bloquée, impossibilité de changer le volume sonore, impossibilité de switcher vers un autre programme avec Alt+Tab, deuxième écran noir, bref une fois en plein écran, on est bloqué et le seul recours pour avoir la main sur sa machine sont les terminaux TTY (avec une possibilité de tout faire planter). Heureusement compiz est là, et si le jeu en question supporte le mode fenêtré alors on a toutes les chances de bénéficier d'une meilleure expérience. Jouer en mode fenêtré est surement la pire chose qui soit, et j'avoue préférer ne pas jouer plutôt que jouer dans une fenêtre. Cependant avec compiz il est simple avec les méthodes expliquées ci dessus de faire des fenêtres plein-écran, ce qui offre le meilleur des deux mondes. Cette méthode ne marchera pas avec tous les jeux, par exemple OpenArena qui insiste pour vous emprisonner dans le jeu, mais dans la grande majorité des cas c'est la fin de "Je peux pas répondre sur Pidgin, je suis en train de jouer".

Résultat

Pour finir voici un screenshot pour illustrer ce que donne cette configuration de Compiz CompizExpose
On y voit Evince, Netbeans, Thunderbird, Terminator, Firefox, Amarok 1.4, Left4Dead sur Cedega, VirtualBox, Pidgin et une application surprise ;)

Image pour VirtualBox : Ubuntu Server 9.04 x64

Pour ceux qui veulent une installation rapide d'un serveur de test je met a disposition une image pour VirtualBox d'Ubuntu Server 9.04 en 64 Bit.
Les paquets supplémentaires installés sont le serveur LAMP et OpenSSH.
L'archive fait 436 Mo (contre 593 Mo pour l'iso) et le système est a jour (ou du moins il l'était le 18/09/2009).

Téléchargez l'image

Voici les réglages choisis lors de l'installation, le reste n'a pas été touché :

distribution: Ubuntu Server 9.04
architecture: x64
hostname: vboxserver
login: ubuntu
password: ubuntu
mysql password: No password
additional packages: LAMP, OpenSSH
language: English
keyboard layout: French
system updated on: September 18th 2009


Le but étant de faire de multiples copies de cette machine virtuelle, une simple copie de fichier ne suffira pas si vous avez déjà enregistré l'image disque sur Virtual Box. Il faudra changer l'UUID (identifiant disque) au préalable :

VBoxManage internalcommands setvdiuuid ma_copie.vdi

The state of gaming on Linux

- no title specified

Many view gaming as the biggest obstacle keeping them from removing Windows from their computers. I can 't count the number of times I've things such as “I keep a dual boot because I still want to play some games on Windows”.

I myself like gaming but the reasons I don't use Windows are 1) that I'm not into the latest games as the majority of PC users are and 2) I'm willing to hack for hours in order to get a game working (what regular users want to avoid at all cost). But to be honest, I'm not a hardcore gamer, and that must be the reason that I've easily given up on Windows.

When a user gets into Linux there's not that many games to choose from (I mean big commercial titles working out of the box). Sure there's Open Source games, I'll talk about them later, and sure there is Wine but this just isn't a reliable solution. Take for example Silent Hill 2 which is a really great game by the way, it works flawlessly in Wine and I had a really good experience playing it in Linux. Silent Hill 3 is also a great game, and technically it's not that different from the second episode so one would say it should also work in Linux. Well no,  it just crashes (at least it did when I tried it, it seems that there is better support for this game now) so in order to play this game I had no choice but to play on a Windows computer. And that's what the majority of users will do, regardless of the game they want is rated Platinum or rated Garbage on Wine's AppDB.

Speaking of these ratings, these are just unreliable for any normal user. Many Wine testers have really low expectations and they might think that rating a game as “Gold”makes Wine more prestigious, but really it doesn't. When you play a game rated Gold, you expect some good results, but sometimes all you get is a framerate 2 or 3 times less than the one you get in Windows. Of course this rating can be legitimate sometimes, some users submit tests result that have been done with a big fat Core2 processor and a big fat Nvidia G2xx but totally forget to mention it in the results, and it's kinda hard to see the difference between 70FPS and 200FPS : both are just really playable.

There are also many games with a good rating where the tester tells us the game runs pretty well in 640x480. Come on, it's 2009, I would think no one judges playing games in such a low resolution as an acceptable solution but sadly, many do. Same thing goes with the level of details the game let you use. If you turn off HDR and put low resolution textures, it's not how the game was meant to be played.

It seems that these kind of tests do not even comply with Wine's rating guidelines. I remember that in the past, ratings where based solely on compatibility and not performance but now, reading from the current guidelines, an application running much slower than expected should be rated Bronze.

This doesn't change the fact that Wine developers target  better compatibility and not necessarily better performance and that's where Cedega got my attention. Cedega is the closed source version of Wine and aims to provide a better support for 3D games. For many games it does the job pretty well, the best example I have in mind being Left4dead which is unplayable in Wine but totally playable in Cedega. Cedega might be non free in the both ways, it brings gaming to the next level, providing support for many recent games.

I've been talking a lot about Windows games but nothing gets as good as native games and when I think about the current situation all I can do is cry in despair. The only recent titles that I can think of with a linux port are Quake Wars, Prey and World of Goo (and Prey is already kinda old). Other than this, there is Linux Game Publishing that sells ports of old games that I've never heard of before (Sacred is from 2004 and X3: Reunion from 2005). I miss the old Loki days in 2000-2002 when they ported really good games like Soldier of Fortune, Quake 3 or Unreal Tournament. Now all is left of Loki is Ryan 'Icculus' Gordon how seems the only guy on the planet really capable to do a Linux port.

The major question I asked myself is why is there less native games now than in 2002 ? Well, I have some clues about this. The game market has evolved since then and it has become much more expensive to make a game. The days where games where made by a small group of hackers are over and the current gaming industry is now even bigger than the movie industry. Game editors want to be paid for their games,  and the Linux market is just too low to even think about a port. I've been reading the Linux support thread on Unity3D forums and it's really enlightening to see what professional game developers think about the Linux community.

First major problem : the marketshare is way too low to even think about developing on Linux. The real problem is that this marketshare is low because Linux has almost no games to offer so the dog bites its tail here and we're stuck in an infinite loop. Arguments like “There is no DirectX on Linux” or “Linux is missing this library” are totally invalid. Game developers can do ports for any platform when they want to. Saying that Half Life ² will never get to Linux because it uses DirectX is wrong, HL² has been ported to the Playstation 3 and I've never heard of DirectX on Sony's console. When you look at the Sega Lindbergh arcade board, you see it's nothing more than a PC running Linux, still we don't get to play The House of the Dead 4 or Virtua Figher 5. All the latest generation consoles run on IBM Cell architecture and most of them don't use DirectX, meaning that every game is portable if you really want to.

Another problem adds to the problem of having a 1 or 2% market share of the whole desktop PC market, it's that Linux user have a reputation of not paying for stuff (because most of their software are free as in free speech AND free as in free beer). I think that is mostly untrue, at least in my case. I bought a few games on the Steam platform but how will Valve be aware that I don't run their games on Windows ? I think this reputation comes from the fact that you hear a lot from Free Software activists on the Internet whereas casual users, who are potential buyers, tend to stay quiet.

A user on the Unity 3D thread sums it up like this :

“Linux (desktop) users are (a) smaller in number even than Mac users, (b) buy less software than anyone, (c) have ridiculously high support costs unless they support themselves ... feel like GPLing your codebase? ”

The last point this user made is also a big problem. Sure there are some application that you can just download from a website and they will work on any distribution : think about Firefox, Google Earth , Eclipse or Doom 3. But as the application ages, it gets much worse when we're dealing with closed source software. Think about those old Loki installers, it's horrible to get them working on a recent Linux distribution : you'll have to deal with OSS, glibc 2.1 compatibility, and these sort of obsolete stuff. Quake 3 is a good example for this problem. When running the official closed source installer from iD software I'm pretty sure you'll run into some kind of problem at some point. If you use the open source ioquake3 binaries then you can except it to run out of the box. So yes, GPLing your codebase is indeed a good idea. At least game developers  should do it when stopping to support their applications.

I don't think that any game company has brought more to Linux gaming than iD software, they have written great game engines and more important Open Sourced them after a few years. Even though, on the same Unity3D thread I can read

“John Carmack of id Software has been quoted as saying that porting to Linux isn't worth it. Even though id does it, they do it as as technical exercise and not because it makes them any actual money.”

and

“ They started out developing on NeXT machines (no kidding) because they understand that you develop on the machine you like and ship on the machine you have to. They make so much money (and have so much technical skill) they can afford to take that attitude. Most games companies fail in both departments.”.

This is far from encouraging, knowing that the next engine id tech 5 might not be ported to Linux. Linux marketshare is slowly growing but game companies and offering less support than ever ! We already lost Epic Games with their failure at providing a UT3 client for Linux (while I think it's more Midway's fault than Epic's), if we also loose ID Software then ours chances of seeing future games on Linux are close to zero.

So what's left ? Open Source games ? Well excuse me but I'm a bit skeptical about these. Two years ago I thought that Open Source game where technically inferior to their commercial counterparts. Engines like Cube 2 (used in Sauerbraten) and Darkplaces (used in Nexuiz) have proved recently that they where capable of great things while others like Crystal Space / Blender Game Engine used in Yo Frankie! didn't impress me much, giving me the impression of an engine dating from 5 years ago. But I'm okay with poor graphics, I enjoy a lot of old games that don't look nearly as good as todays games. The only thing I ask for is good design and good gameplay or in one word: immersion. This is where Open Source games fail, I've never encountered a Free game that I wanted to play from start to finish if it's a single player game, or challenge me enough to keep me playing if it's multiplayer. I can't figure out how a large community of contributors fail at providing good design and gameplay. I guess that talented game designers get in the game industry and get paid making commercial games.  One good example of this Open Source failure is Open Arena. I've played Quake 3 Arena for hours, finished every level in Hardcore mode, finished some in Nightmare mode, I find the maps fun to play in, the models look cool, the sound effects are memorable. When playing the Open Source remake Open Arena is always got bored, the maps are awkward, the models and sound effects are pretty lame and more important than all, I don't have this feeling of playing a game with the perfect gameplay (Quake3 was pretty awesome for that). Actually, the best hope in Open Source gaming is Nexuiz, the gameplay is almost good (they still have to work on the movements and the part dealing with taking damage), and while I find the models poorly designed, the gameplay is fast enough so that I don't care about them that much. At some point I though that I was just beginning to get bored with video games in general. But then I found great new games that I enjoyed : Portal, Team Fortress 2 and Left4dead. That's what I call great design, perfect gameplay and total fun !  The new Prince Of Persia was really cool too and I enjoyed playing this great platformer.

Looking at the forums and blogs, I can clearly see that there are gamers on Linux that actually like all these Open Source games. These people are mainly the ones who reject all proprietary software. And while I understand the dislike of  proprietary code, I don't get why some people also insist on having Free (as in speech) content. Even Free Software activist Richard Stallman doesn't care about Free artwork ! Some activists gamers got carried too far away, I just think that the only reason they want Free games is to get free (as in beer) games. Free Software is not about this, it's about having the control on your programs, and we cans see why game developers deserve to get paid.

I think that games with proprietary artwork and gameplay running with an Open Source engine is the only hope left for Linux gaming. Imagine that Valve open sourced their Source Engine (while they could start with their HL1 engine …), would they sell less Orange Boxes and Left4deads ? I don't think so …We would see Source games ported to Mac and Linux in a few months or weeks and then Valve could see that making an engine Free Software does increase sales. Of course this method doesn't work for companies that only sell a game engine to other game developers like Unity3D does. In these cases it would be a good idea to use iD software's method and Free only the engines where you don't make anymore profit. Of course, in order to deliver a Free game engine, a game company is required to care about it's costumers, and we all know that's pretty rare : They're mostly here for the money, we're not in 1999 anymore, back when games were still made by a small team of passionate hackers. Open Source games also raise the issue of not having malicious code like DRM, in the game. I don't think game published like the idea of  giving their costumers this amount of power, neither do they have the desire to bring unlimited support for their games (Open Source code can be maintained forever), because supporting old games can mean selling less of the newer ones. Given all these facts, Linux gaming is in a pretty bad situation today, and maybe that video games aren't compatible with the spirit surrounding Free Software and open systems like Linux. In the book “The cathedral and the bazaar”, the author Eric Raymond states that 90% of all software development in for in-house use only, and using Free Software as proved to be the  most efficient method here. Sadly, video games are part of the remaining 10% and while I think that most the value resides in gameplay and design (which have no point in being Free), I'm not sure that an editor would be willing to Free its codebase just to gain a few Mac and Linux users.

Un point sur l'état du jeu vidéo sur Linux

- no title specified

Beaucoup d'utilisateurs considèrent le jeu vidéo comme étant l'obstacle majeur les empêchant de supprimer définitivement Windows de leur ordinateur. Je ne compte plus le nombre de fois ou j'ai pu lire des choses du genre « Je garde un dual boot parce que je veux  jouer a des jeux sur Windows ».

J'aime jouer mais les raisons pour lesquelles je n'utilise plus Windows sont parce que 1) je suis moins friand de jeux de dernière génération que la majorité des joueurs sur PC et 2) Je suis prêt a bidouiller pendant des heures pour avoir un jeu qui tourne bien (ce que la majorité des utilisateur veux éviter a tout prix). Pour être honnête , je ne suis pas un hardcore gamer, et c'est probablement la raison pour laquelle j'ai abondonné Windows si facilement.

Lorsqu'un utilisateur arrive sur Linux, le choix de jeux vidéos est maigre (Je parle de gros titres commerciaux qui marchent nativement). Bien sur il y a les jeux Open Source, j'en parlerai plus loin, et bien sur il y a Wine mais ce n'est pas une solution assez fiable. Prenons pour exemple Silent Hill 2, qui est au passage un excellent jeu : Il marche sans aucun problème avec Wine et je garde une très bonne expérience de ce jeu sur Linux. Silent Hill 3, qui est aussi un excellent jeu, et il est techniquement très proche de son prédécesseur. On serait donc amené a penser qu'il devrait aussi fonctionner sur Linux. Et bien non, le jeu plante avant de démarrer (ou tout du moins il plantait quand je l'ai essayé, il semble que ce jeu fonctionne mieux avec les dernières versions de Wine), donc pour jouer a ce jeu je n'ai pas eu d'autre choix que de jouer sur Windows. C'est ce que la majorité des utilisateurs feront que le jeu soit noté Platinum ou Garbage sur Wine AppDB.

En parlant de ces notations, elles ne sont pas fiable pour un utilisateur normal. Beaucoup de testeurs de Wine se suffisent de peu et doivent penser que noter un jeu « Gold » rends Wine plus prestigieux, mais en vérité c'est loin d'être le cas. Quand on joue a un jeu noté Gold, on s'attend a de bons résultats, mais souvent on a juste droit a un framerate de 2 a 3 fois inférieur a celui qu'on a sur Windows. Bien sur cette notation est quelque fois justifiée, certains testeurs soumettent des tests effectué avec  un bon gros  processeur Core2 et une bonne grosse carte Nvidia G2xx mais oublient totalement de le mentionner dans leurs compte rendu, et il est très difficile de faire la différence entre 70FPS et 200FPS : les deux sont parfaitement jouables.

Il y a aussi de nombreux jeux ou le testeur nous informe que le jeu tourne bien en 640x480. Allons … Nous sommes en 2009, j'aurais pensé que personne n'aurais considéré que jouer a un jeu dans une résolution aussi faible soit acceptable mais malheureusement beaucoup le pensent. La même chose est valable pour le niveau de détail que le jeu permet d'utiliser. Si on coupe le HDR et qu'on utilise les textures basses résolution, ce n'est pas ainsi que le jeu a été prévu de fonctionner.

Il me semble que ce type de tests n'est même pas en accord avec les règles de notation de Wine. J'ai souvenir que dans le passé, les notes étaient basées uniquement sur la compatibilité et non les performances mais maintenant, en lisant les recommendations actuelles, une application dont les performances sont fortement réduites doit être notée Bronze.

Ceci ne change pas le fait que les développeurs de Wine visent une meilleure compatibilité parfois au détriment des performances et c'est sur ce point que Cedega gagne mon attention. Cedega est la version propriétaire de Wine et offre un meilleur support des jeux 3D. Pour de nombreux jeux, il fait très bien son travail, le meilleur exemple que j'ai en tête étant Left4dead qui est injouable avec Wine alors qu'il est fluide avec Cedega. Cedega a beau être fermé et payant, il amène le jeu sur Linux a un niveau supérieur et offre un bon support pour de nombreux jeux récents.

 

J'ai parlé des jeux Windows mais rien ne vaux les jeux natifs et quand je pense a la situation actuelle je ne peux que pousser un cri de désespoir. Les seuls derniers titres récents qui me viennent a l'esprit et qui ont bénéficié d'un portage vers Linux sont Quake Wars, Prey et World of Goo (et Prey commence a dater). Mis a part ceux ci, il y a Linux Game Publishing qui porte d'anciens jeux dont je n'avais jamais entendu parlé auparavant (Sacred date de 2004 et X3: Reunion de 2005). L'époque des jeux Loki en 2000-2002 me manque, nous avions alors des portages d'excellents jeux comme Soldier Of Fortune, Quake 3 ou Unreal Tournament. Maintenant tout ce qui reste de Loki est Ryan 'Icculus' Gordon qui semble être le seul type sur la planète vraiment capable de faire un portage Linux.

La principale question que je me pose est pourquoi y a t'il moins de jeux natif maintenant qu'en 2002 ? J'ai bien quelques idées a ce sujet. Le marché du jeu vidéo a évolué depuis cette époque et la conception d'un jeu est beaucoup plus onéreuse. Les jours ou les jeux étaient le fruit d'une petite équipe de hackers est terminée et l'industrie des jeux vidéos a dépassé celle du cinéma. Les éditeurs de jeux attendent principalement une rentrée d'argent et le marché que représente les utilisateurs de Linux est trop faible pour penser a un portage. J'ai lu le sujet concernant  le support de Linux sur les forums d'Unity3D et il est très enrichissant de voir ce que les développeurs de jeux professionnel pensent de la communauté Linux.

Le premier problème majeur : la part de marché est trop faible pour penser a développer pour Linux. Le vrai problème étant que si ce marché est si faible c'est justement parce que Linux a très peu de jeux a offrir, le serpent se mords la queue et nous sommes coincés dans une boucle infinie. Les arguments tels que « Il n'y a pas DirectX sur Linux » ou «Telle librairie n'existe pas sur Linux »sont totalement invalides. Les développeurs savent faire des portages sur n'importe quelle plateforme quand ils en ont la réelle volonté. Dire que Half Life² ne sera jamais porté sur Linux parce qu'il utilise DirectX est faux, HL² a été porté sur Playstation 3 et je n'ai jamais entendu parler de DirectX sur les consoles de Sony.

Quand nous jetons un oeil sur la borne d'arcade Sega Lindbergh , nous voyons qu'il ne s'agit de rien de plus qu'un PC faisant tourner Linux, pourtant nous ne jouons pas a House of the Dead 4 ou Virtua Fighter 5. Toutes les consoles de dernière génération utilisent une architecture basée sur le Cell d'IBM et la majorité n'utilisent pas DirectX, prouvant ainsi que n'importe quel jeu est portable si la volonté est la.

Un autre problème viens se rajouter au fait d'avoir un marché comptant 1 ou 2 % des utilisateurs des PC de bureau, c'est la réputation qu'on les utilisateurs de Linux de ne pas payer leurs logiciels (car ils sont majoritairement libres et gratuits). Je pense que c'est partiellement faux, au moins dans mon cas. J'ai acheté quelques jeux sur la plateforme Steam, mais comment Valve peut il être au courant que je ne lance pas ses jeux sur Windows ?

Je pense que cette réputation viens du fait que les activistes du logiciels libres sont très présents sur la toile alors que les simples utilisateur qui sont aussi des acheteurs potentiels ont tendance a rester très discrets.

Un membre des forums d'Unity3D résume la situation comme ceci :

 “Linux (desktop) users are (a) smaller in number even than Mac users, (b) buy less software than anyone, (c) have ridiculously high support costs unless they support themselves ... feel like GPLing your codebase? ”

«Les utilisateurs de Linux sont (a) encore moins nombreux que les utilisateurs de Mac, (b) achètent moins de logiciels que n'importe qui, (c ) ont des coûts de support ridiculement hauts sauf s'il se maintiennent eux même … vous vous sentez de mettre votre code sous GPL ? »

Le dernier point abordé par ce membre est aussi un gros problème. Bien sur il y a des applications qui peuvent être téléchargées a partir du site officiel et qui fonctionneront sur n'importe quelle distribution : pensez a Firefox, Google Earth, Eclipse ou Doom 3. Mais avec le temps, cela deviens très dur de garantir la compatibilité d'une application propriétaire. Pensez aux installeurs Loki, les utiliser sur une distribution Linux récente est une horreur : vous aurez a régler des problème lié a OSS, a la compatibilité glibc 2.1 et ce genre de choses obsolètes. Quake 3 illustre très bien ce problème. Si vous lancez l'installeur propriétaire d'iD Software, je garanti que vous rencontrerez des problèmes. En revanche si vous utilisez son équivalent libre ioquake3 alors tout devrais fonctionner sans souci.

Donc oui,passer son code sous les termes de la GPL est une très bonne idée, les développeurs devraient au moins le faire quand ils arrêtent de supporter une application.

 

Je ne pense pas qu'une société ai apporté autant au jeu vidéo sur Linux qu'iD Software, il ont écrit de formidables moteurs 3D et plus important encore, ils les ont libérés après quelques années.

Pourtant sur le même topic du forum d'Unity3D on peut lire :

“John Carmack of id Software has been quoted as saying that porting to Linux isn't worth it. Even though id does it, they do it as as technical exercise and not because it makes them any actual money.” ( « John Carmack a été cité pour avoir dit que le portage de jeux sur Linux n'en vaut pas la peine. Et si ID le fait, c'est pour eux un exercice tehnique et pas parce que cela leur rapporte de l'argent » )

et  

“ They started out developing on NeXT machines (no kidding) because they understand that you develop on the machine you like and ship on the machine you have to. They make so much money (and have so much technical skill) they can afford to take that attitude. Most games companies fail in both departments.” («Ils ont commencé leur développement sur des machines NeXT (véridique!) parce qu'il ont compris qu'on développe sur la machine de son choix et qu'on livre sur la plateforme que l'on doit. Ils gagnent tellement d'argent et ont tellement de compétences techniques qu'ils peuvent se permettre d'avoir cette attitude. La plupart des studios de développement n'ont ni l'un ni l'autre »)

Ceci est loin d'être encourageant maintenant que nous savons que le prochain moteur ID Tech 5 a des chances de ne jamais voir le jour sur Linux. Les parts de marché de Linux augmentent lentement mais les sociétés de jeux vidéos n'ont jamais aussi peu supporté ce système ! Nous avons déjà perdu Epic Games avec leur échec concernant Unreal Tournament 3 (même si je pense que la faute est plutot du coté de Midway que d'Epic Games), si nous perdons aussi iD Software alors les chances de voir les jeux de demain sur Linux sont proche de zéro.

Alors que nous reste t'il ? Les jeux Open Source ? Excusez moi de me montrer un peu sceptique a leur propos. Il y a deux ans, je pensais que les jeux Open Source étaient techniquement inférieurs a leurs équivalents commerciaux. Aujourd'hui avec des moteurs comme Cube 2 (utilisé par Sauerbraten) et Darkplaces (utilisé par Nexiuz) ont prouvé qu'ils étaient capables de très bonnes choses, alors que d'autres comme Crystal Space / Blender Game Engine utilisé dans Yo Frankie ! n'ont pas réussi a vraiment  m'impressionner , me donnant l'impression d'être en face d'un jeu vieux de 5 ans. Mais je ne suis pas contre des graphismes rudimentaires, j'apprécie de nombreux anciens jeux qui sont loin d'être aussi beaux que ceux produits actuellement. Les seules choses que je demande sont un bon design et une bonne jouabilité ou en un seul mot : immersion.

C'est la où les jeux Open Source échouent, je n'ai jamais rencontré un jeu libre que j'ai voulu finir s'il s'agit d'un jeu solo, ou qui me branche assez pour que je continue a y jouer dans le cas d'un jeu multijoueur.  Je ne vois pas comment une grande communauté de contributeurs n'arrivent pas a fournir un bon gameplay et un bon design. J'assume que les game designers talentueux intègrent l'industrie du jeu vidéo et sont payés pour faire des jeux commerciaux.

Un exemple de cet échec des jeux libre est Open Arena. J'ai joué a Quake 3 pendant des heures, fini toutes les maps en niveau Hardcore, et certaines en niveau Nightmare. Les maps sont bien pensées , les modèles ont un bon look, les effets sonores sont mémorables. En jouant a son remake libre Open Arena, je me suis lassé au bout de quelques minutes. Les maps sont bizarres, les modèles et effets sonores sont très pauvres et plus important que tout, je n'avais pas le sentiment d'avoir un jeu au gameplay parfait (Quake 3 était assez impressionnant sur ce point). En fait, le meilleur espoir pour le jeu Open Source est Nexuiz. Le gameplay est presque bon (il y a encore des efforts a faire sur le mouvement et la partie qui s'occupe des dommages pris), et même si je trouve que les modèles sont loins d'être exceptionnels, le gameplay est assez rapide pour que je n'y prête pas attention. A un moment j'ai même pensé que les jeux vidéos en général me lassaient, puis j'ai découvert des jeux géniaux que j'ai vraiment apprécié : Portal, Team Fortress 2 et Left4dead. Ça, c'est que j'appelle un bon design,  un gameplay parfait et du fun a l'état pur ! Le dernier Prince of Persia était aussi de très bonne qualité, et je n'avais pas joué a un jeu de plateforme aussi bon depuis très longtemps.

En lisant les  forums et les blogs, je vois clairement qu'il y a un public qui apprécie les jeux Open Source. Ce sont majoritairement les mêmes personnes qui rejettent tout programme propriétaire. Et si je comprends qu'on aime pas les logiciels propriétaires, j'ai beaucoup plus de mal a comprendre pourquoi certains insistent pour avoir un contenu Libre. Même l'activiste du Logiciel Libre Richard Stallman n'accorde pas grande importance aux artworks libres ! Certains joueurs activistes se sont laissés emporté trop loin, et je pense que la seule raison de vouloir des contenus libres est d'avoir des jeux totalement gratuits. Ceci n'est pas le but du logiciel libre, son but est de garder le contrôle sur ses programmes, et il est aisé de voir pourquoi les designers de jeux doivent être rémunérés.

A mon avis les jeux offrant des artworks et un gameplay non libre mais utilisant un moteur Open Source sont le plus grand espoir qu'il reste au jeu vidéo pour Linux.  Imaginez un instant que Valve libère les sources de son moteur Source (même s'il pourraient commencer par le moteur d'HL1 …), vendraient t'il moins d'Orange Boxs et de Left4deads ? Je ne pense pas …Nous verrions des portages des jeux Source sur Mac et Linux en quelques mois ou semaines et Valve pourrait constater que rendre son moteur libre permet d'augmenter considérablement les ventes. Cette méthode ne fonctionne pas pour les société qui vendent un moteur de jeu a d'autres développeurs comme le fait Unity3D. Dans ces cas, il serait bon d'employer la méthode d'iD Software et de libérer seulement les moteurs qui ne génèrent plus assez de profit.

Bien sur, pour qu'un moteur de jeu soit publié en tant que Logiciel Libre, une société de jeux vidéos doit avoir le respect de ses clients comme une de ses priorité, ce qui aujourd'hui est assez rare : Beaucoup sont la principalement pour l'argent, nous ne sommes plus en 1999, où les jeux étaient encore  produits par de petites équipes de hackers passionés.

Les jeux Open Source soulèvent des problèmes comme ne pas avoir de code malicieux tel que des DRM dans le jeu. Je ne crois pas qu'un éditeur apprécie l'idée de donner autant de pouvoir a ses clients, et n'ont pas non plus le désir de fournir un support illimité dans le temps (un programme Open Source peut être maintenu indéfiniment), car supporter les anciens jeux c'est aussi vendre moins de nouveaux.

 

En prenant tous ces paramètres en compte, la situation actuelle du jeu sur Linux est bien mauvaise, et peut être que les jeux vidéo ne sont pas compatible avec l'esprit qui entoure les Logiciels Libres et les systèmes ouverts comme Linux. Dans le livre « The cathedral and the bazaar », l'auteur Eric Raymond affirme que 90% des développements logiciels sont destinés a un usage interne a une entreprise, et l'utilisation de logiciels libres s'est montrée la meilleure solution dans ce cas. Malheureusement les jeux vidéos font parti des 10% restant, et même si je suis intimement persuadé que toute la valeur d'un jeu réside dans son design et son gameplay (qui n'ont aucune raison d'être libres ou gratuits), je ne suis pas sûr qu'un éditeur soit prêt a prendre le risque de libérer son code pour gagner quelques utilisateurs Mac ou Linux.

The cathedral and the bazaar : une lecture indispensable !

Depuis le temps que j'ai terminé ce livre je me suis toujours dit qu'il serait bien que je fasse un billet a son sujet, car il fait parti, a mon avis, des ouvrages indispensables a la compréhension du logiciel libre. Son auteur, Eric Raymond, est créateur de logiciels libres comme fetchmail, mais est surtout connu pour avoir fondé l'Open Source Initiative. Pour la petite anecdote, c'est l'ouvrage dont je parle aujurd'hui qui a poussé les dirigeants de Netscape a libérer leur code, ce qui a donné naissance a Mozilla et plus tard Firefox.
La première version de cette ouvrage date d'il y a 10 ans en arrière mais les sujets abordés sont toujours d'actualités et mis a part quelques extrapolations sur le futur qui se sont plus ou moins vérifiées, les essais de Raymond sont très pertinents même en 2009.
Je parle d'essais au pluriel car je me limite pas au seul "Cathedral and the bazaar" mais a la totalité du livre publié par O'Reilly, c'est a dire :

  • A brief history of hackerdom
  • The cathedral and the bazaar
  • Homesteading the noosphere
  • The magic cauldron
  • Revenge of the hackers
  • How to become a hacker

Si je parle de ce livre aujourd'hui, c'est que je remarque que la communauté francaise, au travers des blogs, des forums se dirige vers une sorte de monoculture du libre, passant obligatoirement par Richard Stallman et ses idées. Si RMS est une des pierres angulaires du libre, réduire le logiciel libre a seulement la Free Software Foundation et a la General Public License est trop réducteur pour représenter la réalité des choses. Il ne s'agit pas de dénigrer le travail de Stallman, mais de mettre au même plan d'autres acteurs qui ont joué un rôle tout aussi important dans la construction du logiciel libre tel qu'il est aujourd'hui (En plus d'Eric Raymond, on pourrais rajouter Theo de Raadt, Linux Torvalds, Alan Cox, et j'en oublie).

Quand je parle de monoculture, c'est que moi aussi j'en ai fait parti, et la lecture de ce livre m'a ouvert a d'autres manière de voir les choses, toutes aussi pertinentes que celles de Stallman, tout en m'apprenant des bases importantes sur le modèle de développement Open Source. Un des points a retenir c'est le rapprochement a faire entre les termes Open Source et Logiciel Libre, si Stallman fait tout sont possible pour séparer les deux et tenter de dénigrer le terme Open Source , Raymond quand a lui, montre que les deux termes sont très semblables et qu'il ne devrait y avoir aucune animosité entre les partisans des deux camps. C'est un point important, car ce n'est pas en se querellant sur les détails qui séparent les deux termes que cela fera avancer quoi que ce soit vis a vis du véritable adversaire qui est le logiciel propriétaire.
Les essais de Raymond montrent un autre aspect important : Le modèle de développement Open Source est supérieur au modèle privateur, ce qui fait qu'on ne perçois plus le propriétaire comme une menace mais simplement un modèle dépassé avec lequel on doit vivre avec en attendant qu'il s'éteigne de lui même. On ne combat pas le logiciel propriétaire en le rejetant en bloc, on le combat en développant des alternatives libres supérieures. Oui, le camp de l'Open Source a raison de se focaliser sur la technique car c'est la technique qui fait qu'un produit libre est meilleur que son concurrent propriétaire (par exemple Firefox, ou Apache). Je suis un peu désolé de voir tout ces utilisateurs qui utilisent du libre parce que c'est libre. J'utilise du libre parce qu'il offre de meilleurs produits, et ces produits sont meilleurs parce qu'ils sont libres ! Certes la différence est subtile mais elle se voit dans la manière dont les gens parlent du Libre. La ou Stallman est sur la défensive par rapport au propriétaire, Raymond se pose en attaquant et montre la supériorité de l'Open Source. C'est toute la relation de dominant / dominé qui change,

Eric Raymond a fait parler de lui récemment en affirmant que la licence GPL n'était plus nécessaire, Si ce point de vue est un peu extrême, il va dans la continuité de ce qu'il a pu écrire 10 ans plus tôt. Il montre en effet sa confiance absolue dans le modèle Open Source en disant que ceux qui voudraient prendre du code libre pour en faire un logiciel fermé seraient au final perdants. La GPL étant une très bonne licence, il n'y a aucune raison de ne pas l'utiliser, mais cette interview montre bien le sentiment de domination sur le propriétaire que l'auteur ressent.

Bref, la cathédrale et le bazar et les essais qui l'entourent sont une lecture indispensable a toute personne intéressée par le logiciel libre. Et si je vous encourage a commander la version papier, vous pouvez tout de même tout lire en ligne gratuitement : http://www.catb.org/~esr/writings/c...
La majorité des essais sont aussi traduits en Français pour ceux qui auraient du mal avec la version originale :)

Astuces en vrac pour Jaunty Jackalope

Le passage de Intrepid Ibex vers Jaunty Jackalope beta s'étant très bien déroulé j'en ai immédiatement fait mon OS principal.Pour les fonctionnalités, pas de changement extraordinaires mais j'ai remarqué une stabilité et une réactivité accrue par rapport aux anciennes version.
Voici quelques astuces qui sont applicables sur Jaunty Jackalope et peut être sur d'autres distributions :

Si le lancement de Google Earth 5 beta crashe avec un message d'erreur concernant le fichier libcrypto.so.0.9.8, le fait de supprimer ou renommer ce fichier devrait remettre les choses dans l'ordre (il se trouve dans le dossier de Google Earth)

Ubuntu 9.04 mettra fin au support de Python 2.4, ce qui posera un problème aux utilisateurs de Cedega 7 dont l'installeur demande python2.4-dbus en dépendance. En attendant un correctif officiel, il faut reconstruire le paquet de la manière suivante :

mkdir -p cedega_000133_all/DEBIAN
ar p cedega_000133_all.deb data.tar.gz | tar zx -C cedega_000133_all/
ar p cedega_000133_all.deb control.tar.gz | tar zx -C cedega_000133_all/DEBIAN/
mv cedega_000133_all.deb cedega_000133_all.prerebuild.deb
perl -pi -e 's/python2.4-dbus/python-dbus/' cedega_000133_all/DEBIAN/control
dpkg-deb --build cedega_000133_all
rm -rf cedega_000133_all
sudo dpkg -i cedega_000133_all.deb 

Cedega donne encore quelques messages d'avertissement liés a l'utilisation de Python2.6 mais ceux ci peuvent être ignorés.

Toujours dans Python et ses versions, la 2.6 intègre le module json par défaut, mais possède une implémentation différente de la librairie du paquet python-json fournie pour python 2.5

Ceux qui comme moi préfèrent (a juste titre) Amarok 1.4 a Amarok 2, un dépot PPA a été mis en place pour en profiter , il suffira d'ajouter les lignes suivantes dans les dépots tiers dans synaptic.

deb http://ppa.launchpad.net/bogdanb/ppa/ubuntu jaunty main
deb-src http://ppa.launchpad.net/bogdanb/ppa/ubuntu jaunty main

Pensez a déinstaller Amarok 2 sinon il sera en conflit avec Amarok 1.4

La dernière version de Gnome-Do permet de remplacer avantageusement avant-window-navigator ou cairo dock. Pour cela il faut sélectionner le thème Docky dans l'onglet apparence des préférences. Gnome Do placera automatiquement dans le dock les programmes les plus souvent appelés via le lanceur. Il est aussi possible de procéder demanière plus traditionnelle en glissant des icônes vers le dock.

Lancement de Open Source Developer Network

Dans le précédent billet, j'exposais certaines difficultés que le développeur novice peut avoir lors d'une première approche dans le monde du logiciel libre.
Une des difficultés est de savoir ou trouver la documentation, car si l'on me dit RTFM je répondrais : WFP ? (Which F**king Paragraph ?).
L'autre rengaine courante est GIYF (Google Is Your Friend), et bien pas vraiment a vrai dire. Google est surtout très fort pour indexer tous les forums, toutes les mailings list, tous les blogs et s'il est facile de trouver des personnes qui ont le même problème que celui posé, il l'est déjà moins de trouver la bonne réponse.
Voila où OSDN (déformation du nom d'un célèbre site de documentation, d'un éditeur logiciel pas très apprécié dans les parages) rentre en jeu.
OSDN, ce n'est rien de bien compliqué techniquement : Un peu de HTML, et d'Ajax mais c'est surtout un travail de recherche et de classification. Cette page vise a regrouper toutes les pages de documentation de tous les langages et toutes les technologies Open Source. Oui, rien que ça... et la page n'a même pas un jour qu'elle commence déjà à être assez fournie.
La page comporte un moteur de recherche qui ira chercher uniquement sur le site en cours de consultation. (ou sur google.com/linux si aucune documentation n'est affichée)
Bien entendu je suis ouvert a toutes les suggestions, n'hésitez pas a m'envoyer dans les commentaires ou par mailavec le formulaire dédié les liens vers les documentations que vous jugez essentielles. Et ne soyez pas limités aux documentations officielles non plus, un bon tutoriel peut avoir sa place.
Aussi, si vous jugez l'organisation de l'arborescence inappropriée a certains endroits, n'hésitez pas a le signaler.
J'espère que cette page Web sera aussi utile pour vous qu'elle l'est déjà pour moi ;)

Ubuntu n'est pas libre : Une affirmation absurde

Mettons les choses au clair, quand je dit "une affirmation absurde", cela ne signifie en aucun cas une affirmation fausse. Oui, Ubuntu contient du code fermé, et je veux ici montrer que se baser sur cette caractéristique du système pour le rejeter est totalement incohérent.

Tout d'abord il est bon de savoir quels sont précisément les logiciels installés contenant du code propriétaire. Pour cela j'ai lancé la commande vrms sur une installation fraiche d'Ubuntu 8.10 dans Virtual Box, le résultat est le suivant :

            Non-free packages installed on strider-vbox

fglrx-modaliases          Identifiers supported by the ATI graphics driver
human-icon-theme          Human Icon theme
linux-generic             Complete Generic Linux kernel
linux-restricted-modules- Non-free Linux 2.6.27 modules helper script
linux-restricted-modules- Restricted Linux modules for generic kernels
nvidia-173-modaliases     Modaliases for the NVIDIA binary X.Org driver
nvidia-177-modaliases     Modaliases for the NVIDIA binary X.Org driver
nvidia-71-modaliases      Modaliases for the NVIDIA binary X.Org driver
nvidia-96-modaliases      Modaliases for the NVIDIA binary X.Org driver
tangerine-icon-theme      Tangerine Icon theme

            Contrib packages installed on strider-vbox

nvidia-common             Find obsolete NVIDIA drivers

  10 non-free packages, 0.8% of 1201 installed packages.
  1 contrib packages, 0.1% of 1201 installed packages.


Parmi cette liste ,j'élimine d'emblée les deux thèmes d'icones : Human et Tangerine qui sont sous license Creative Commons Attribution-ShareAlike 2.5 et qui n'ont rien a bénéficier d'une license GPL. Pour les libristes les plus intransigeants rappelons que Stallman lui même ne tiens pas particulièrement a voir des fichiers autre que du code source sous licence libre. Bref, ces thèmes d'icônes sont librement distribuables et c'est le principal. Un parenthèse sur Firefox et son logo qui ne sont pas utilisables librement. Un nom et un logo ne contiennent pas de code source, ils n'ont aucune raison d'être sous licence libre.

Un tour rapide des paquets concernant les drivers ATI et NVidia. nvidia-common est un script Pyhton sous GPL V2, il n'a rien a faire dans cette liste. Les paquets modaliases sont plus subtils : ils disposent d'un copyright d'AMD ou NVidia et ne sont pas sous GPL. Mais il ne s'agit pas des drivers a proprement parler mais uniquement d'une liste d'identifiant de cartes PCI avec le driver le plus adapté. En gros cela va indiquer au gestionnaire de pilote quel est le bon paquet a télécharger pour la carte en cours d'utilisation.

strider@strider-desktop:/usr/share/jockey/modaliases$ head -n2 nvidia-177 
# Listing generated by nvidia_supported. Do not edit manually.
alias pci:v000010DEd00000040sv*sd*bc03sc*i* nvidia nvidia-glx-177


Il nous reste maintenant le plus intéressant : Linux !
Le paquet linux-restricted-modules est le premier paquet comportant réellement du code propriétaire inclus dans trois projets distincts : ltmodem, broadcom et madwifi. Donc sans ce paquet vous aurez très peu de chance de voir votre modem interne avec un chipset Lucent, ou votre carte wifi avec un chipset Broadcom ou Atheros fonctionner. Si vous ne possédez aucun de ces trois type de matérie, vous pouvez désinstaller ce paquet si la présence de blobs binaires sur votre disque dur qui ne seront jamais exécutés vous dérange.
Et puis le meilleur pour la fin, le logiciel le moins libre de la distribution Ubuntu : le noyau Linux.
Je n'ai pas été chercher si les développeurs d'Ubuntu avaient rajouté certains modules fermés au noyau de base car celui ci, celui qui est en téléchargement sur kernel.org, en contient déjà suffisamment. Le noyau contient effet des blobs qui seront chargé sur les périphériques qui en ont besoin pour fonctionner. La FSF a bien évidemment crée un kernel linux libre dépourvu de ces blobs. Pour générer cette version spéciale du noyau, un script bash parcours toutes les sources du noyau a la recherche de microcode écrit en code machine et le supprime.
Kernel-libre
Le code nécessaire au bon fonctionnement du matériel est remplacé par le commentaire /*DEBLOBBED*/ . Le kernel libre offre donc les mêmes fonctionnalités que le kernel de base, les mêmes drivers sont présents, mais le périphérique demandant un microcode risque d'avoir quelques suprises quand il essayera de s'initialiser avec un kernel libre. La FSF n'a pas retiré les drivers propriétaires, elle les a rendu disfonctionnels ! On entre ici dans l'absurde mais on peut facilement continuer plus loin. Regardez autour de vous, essayez de vous faire une représentation de tout les appareils électroniques qui vous entourent et qui comportent un microprocesseur ou un microcontrolleur. Lesquels fonctionnent avec un code totalement libre ? Il y a de grande chances que la réponse soit zéro. La machine la plus "libre" que je connaisse est le XO Laptop de l'OLPC et celle ci demande quand même un microcode propriétaire pour faire fonctionner le chipset wifi...
Sérieusement, quelle est la raison pour laquelle on pousse les utilisateurs de systèmes GNU/Linux a installer des versions 100% libre ? Un noyau de base offre 2 possibilités : soit on a un périphérique nécessitant un microcode fermé et dans ce cas le périphérique fonctionnera, soit la machine n'a pas besoin de microcode (parce qu'elle inclus le code propriétaire dans une ROM, ce qui est encore plus hermétique) et alors le code fermé de Linux ne sera jamais exécuté. Dans le cas d'un kernel libre, on aura beau avoir l'âme en paix du fait de ne pas avoir quelques chaines en héxadécimal sur son disque dur, si on a la malchance de posséder un périphérique qui en a besoin, celui ci n'aura aucune chance de fonctionner.
Rendez vous a l'évidence : le moindre appareil électronique contient du code fermé, et il n'y a aucune raison de punir l'utilisateur parce que ce périphérique offre la possibilité de charger un firmware dynamiquement (en opposition a un firmware écrit de manière permanente en ROM, qui n'aura aucune chance d'être mis a jour). Le noyau Linux n'est pas libre a 100%, nous n'y pouvons rien, et nous pouvons déjà nous estimer chanceux que certains constructeurs aient permis la distribution de leurs firmwares pour assurer le bon fonctionnement de leurs périphériques.
Au final, on se rends compte qu'Ubuntu comporte quatre logiciels contenant du code propriétaire : ltmodem, broadcom, madwifi et linux. Tous concernent la gestion du matériel et il n'y aucun code non libre présent dans les programmes de l'utilisateur. Les alternatives 100% libres que sont BLAG, gNewSense et ututo n'ont aucun avantage par rapport aux autres si ce n'est la garantie de la liberté du code source. Il manque toutefois une liste mise en évidence sur les sites de ces distributions avec en titre "Voici la liste des périphérique qui ne fonctionneront pas sur notre distribution". Hormis les 3 distributions citées, toutes les autres distributions atteignent le même degré de liberté qu'Ubuntu, il est donc complètement absurde de dire "je quitte Ubuntu pour Mandriva/Debian/Gentoo/Fedora/etc... parce qu'Ubuntu n'est pas assez libre pour moi".


PS(1): Je ne souhaite pas m'étendre sur les facilités d'installation que propose Ubuntu pour certains logiciels propriétaires. Ubuntu n'est pas installé par défaut avec ceux ci et il appartient a l'utilisateur d'installer des programmes qui sont susceptibles de lui offrir une meilleure expérience au détriment de l'ouverture du code source. Toute fonctionnalité visant, d'une manière ou d'une autre a faciliter l'usage de la machine ne peut être qu'encouragée.

PS(2): Malheureusement certaines personnes font un amalgame entre logiciels propriétaire et format breveté. La plupart des codecs audio/video sont des logiciels libres, qui sont concus pour traiter des formats sous licence. Ce ce fait leur utilisation n'est pas légale dans tous les pays. Aussi on ne dit pas d'un format qu'il est libre mais qu'il est ouvert. Encore une raison pour insister sur le fait que le terme "libre" doit être appliqué uniquement aux logiciels (et aux documentations qui en découlent).

PS(3): Oui, Mono est un logiciel 100% libre

Installer Windows sans écraser Grub

Un des gros inconvénients de Windows est son incapacité a prendre en compte les installations de Linux présentes sur la machine. En effet, toutes les versions de Windows écrasent les gestionnaires de démarrage présent sur le disque de boot, ce qui implique qu'il faudra réinstaller Grub a l'aide d'un Live CD.
Il existe cependant une solution très simple pour mettre en place facilement un dual boot et dont la seule condition est d'installer Windows sur un disque physique différent de celui qui contient Grub.
Avant l'installation, allez dans votre BIOS pour changer l'ordre de priorité des disques dur et mettez le disque qui va accueillir Windows en premier, de cette façon Grub restera a l'abris.
Installez Windows normalement sans se soucier des autres systèmes présents.
Une fois l'installation terminée, retournez dans le BIOS et rétablissez l'ordre de démarrage de façon a retrouver Grub et vos systèmes Linux.
Démarrez votre système principal et ouvrez le fichier /boot/grub/menu.lst avec des droits administrateur.
Rajoutez a la fin du fichier les lignes suivantes :

title		Windows XP
root		(hd1,0)
savedefault
makeactive
map		(hd0) (hd1)
map		(hd1) (hd0)
chainloader	+1

Testez votre dual boot, si Windows ne démarre pas, revenez sur Linux et jouez sur les numéros de disque (remplacez hd1 par hd2 ou hd3). Au pire si cela ne fonctionne pas vous pourrez toujours démarrer Windows en répétant l'opération effectuée sur le BIOS.
Notez que cette manipulation peut aussi s'avérer utile pour les distributions Linux un peu trop brutales qui ne tiennent pas compte de la configuration Grub déja présente.