Outils personnels
Vous êtes ici : Accueil Historique news 2007 Mars C'est le moment d'aider nouveau

C'est le moment d'aider nouveau

Par Benjamin Poulain - Dernière modification 18/04/2008 20:40

Nouveau est un projet visant à créer un driver libre pour les cartes graphiques nvidia. Nouveau se distingue par le fait que le pilotes devra gérer les fonctionnalités 3D des cartes.

Il est important de rappeler l'importance d'avoir des pilotes libres pour le matériel. A cause du manque de driver libre pour les cartes graphiques 3D, les bureaux 3D avec des gestionnaires tel que Beryl et Compiz sont difficilement déployable. En effet, pour le moment, les fonctionnalités 3D sont possible à l'aide de pilotes fermés, difficile à installer et absolument incontrôlable. Pour exemple, il y a quelque temps un bug a été mis en évidence dans les pilotes nvidia, et il a fallu attendre longtemps avant que celui-ci ne soit corrigé car les modifications du pilotes sont complètement dépendante de nvidia.

Les performances sont un autre facteur gênant dans les pilotes fermés. Les performances des pilotes pour les autres plateformes sont généralement plus élevée car ces pilotes sont plus développé. Si la communauté pouvait se charger du développement de pilotes, ceux-ci auraient sans doute des performances bien plus à jour. Le mieux serait évidement de travailler main dans la main avec les constructeurs tel que nvidia ou ati mais cela est de l'ordre du fantasme pour le moment.

Signalons aussi que les pilotes propriétaires rendent impossible le travail sur le noyau. Lorsque un module est chargé dans le noyau, il peut accéder à l'ensemble du l'espace d'adressage de celui-ci. Il devient donc impossible de débuguer un noyau avec des pilotes propriétaires car ceux-ci peuvent modifier de nombreuses tables sans que les développeurs du noyau ne le sachent.

Maintenant que vous êtes convaincu qu'il vous faut un driver libre, voyons comment vous pouvez aider nouveau. Nouveau se base sur le reverse engineering des pilotes fermé de nvidia pour trouver comment fonctionne leurs cartes. Un des outils utilisé est renouveau, c'est un programme qui réalise une série d'instructions OpenGL simple et qui cherche quel registres de la carte graphique ont été modifiés. Si tout les possesseurs de cartes nvidia utilisent nouveau avec leur cartes, l'équipe en charge du projet aura de la matière sur laquelle travailler pour réaliser leurs pilotes.

Prenez 5 minutes pour tester votre carte graphique et envoyez les dumps, ça va vite et ça aidera tout le monde. La procédure est disponible sur leur site mais je vous résume ça pour Ubuntu/Debian:

Utiliser le pilote propriétaire de nvidia

Commencez par installer le pilote propriétaire et lancez X avec celui-ci. Des tas de tutos sont disponible sur internet, par exemple sur Ubuntu-fr.

Installer Renouveau

Renouveau est disponible via CVS, commençons par installer les dépendances, tapez en console:

sudo apt-get install build-essential cvs mesa-common-dev libsdl1.2-dev libxvmc-dev nvidia-glx-dev

Ceci installera les paquets build-essential cvs mesa-common-dev libsdl1.2-dev libxvmc-dev nvidia-glx-dev si ceux-ci ne sont pas déjà présent sur votre machine.

Ensuite nous pouvons télécharger Renouveau via CVS, tapez ceci en console:

cvs -z3 -d:pserver:anonymous@nouveau.cvs.sourceforge.net:/cvsroot/nouveau co -P renouveau

Ceci téléchargera les fichiers à partir du dépot de renouveau dans un dossier nommé renouveau.

Tester la carte

Vous pouvez ensuite compiler renouveau, tapez en console:

cd renouveau
make

Et il ne vous reste plus qu'a réaliser le test. Pour ce faire nous allons créer un répertoire où stocker les résultats et lancer le test:

mkdir dumps
cd dumps
../renouveau

Ceci créera une fenêtre sans décoration qui sert à renouveau pour réaliser les tests. L' ensemble de tests dure entre 3 et 5 minutes et génère de nombreux fichier textes dans le dossier courant.

Envoyer le résultat

Vous devez envoyer ces fichiers texte par mail à l'équipe de renouveau. Pour retrouver, le format de l'envoi est standard, le nom du fichier utilise le numéro de la carte fournit par lspci:

lspci | grep -i nvidia | grep -i vga
01:00.0 VGA compatible controller: nVidia Corporation NV43 [GeForce 6600 GT] (rev a2)
lspci -n | grep 01:00.0
01:00.0 0300: 10de:0140 (rev a2)

On peut voir que le numéro de ma carte est 10de0140, le 10de désigne une carte nvidia, tandis que le 0140 désigne le chipset de ma carte graphique (ici 6600GT).

Il faut donc maintenant compresser les fichiers texte créés par renouveau en utilisant le numéro de la carte graphique:

tar -jcf 10de0140.tar.bz2 card_*test_*.txt card_stdout.txt 

Le 10de0140 doit bien sûr être remplacé par le nom de VOTRE carte graphique. Et voilà, si vous n'avez eu d'erreur à aucune étape, il vous suffit d'envoyer le fichier 10de0140.tar.bz2 à l'adresse email: renouveau |point| dumps |chez| gmail |point| com...


Merci à Florent Bayle qui a écrit sur renouveau dans un article sur Linuxfr. Florent Bayle a aussi fait un fantastique travail pour se faire rembourser les logiciels lié à un ordinateur qu'il a acquit chez Dell, montrant ainsi les problèmes de vente forcé et la communication absurde de Dell.

Actions sur le document