Note: la page en anglais peut contenir des informations plus à jour.
. Latest news:
07.07.2009 posté par pq
Le support Pre-randr 1.2 a été supprimé, -2000 lignes de codes dans le DDX. Yay !
Nouveau : Accélération 3D Open Source pour les cartes graphiques nVidia
A propos de Nouveau
Vous êtes sur la page d'accueil (française) du projet nouveau qui vise à créer un pilote 3D Open Source pour les cartes graphiques nVidia. "nouveau" [nuvo] est un mot français sigifiant... "nouveau".
Si vous avez des questions ou des problèmes, prenez le soin de consulter la FAQ avant de nous contacter.
Si vous voulez aider au développement, il y a deux grandes places pour ça : IRC ou les mailings lists.
La majorité des discussions entre développeurs a lieu sur le canal IRC #nouveau sur freenode. Vous pouvez lire les archives des discussions IRC ainsi que les différentes éditions du TiNDC (synthèses du développement basées sur les archives du canal IRC) sur la page IrcChatLogs-fr.
Nous utilisons également plusieurs liste de diffusion :
la mailing list du projet Nouveau est l'endroit où vous pouvez rapporter des bugs et où des discussions relatives au développement ont lieu (regardez quand même les archives IRC en premier),
la liste de diffusion des changements CVS de la documentation, de rules-ng et de renouveau,
la liste dri-devel est celle du projet dri, où Nouveau devrait à terme être intégré,
la liste mesa3d-dev.
Vous pouvez consulter les descriptifs de ces listes sur la page consacrées aux listes de diffusion.
Avant de poster dans ces mailing list, noter qu'il existe deux types de lists : une pour les utilisateurs finaux, et une seconde pour les développeurs.
Nous sommes intéressés par ce qui ce dit du projet, des liens sont rassemblés sur la page Presse.
Statut actuel
Nous avons une page reprenant le statut des fonctionnalités implémentées ainsi qu'une TODO list (liste des tâches à accomplir) fort utile.
Il est important de tester la gestion des modes en espace noyau (KMS kernel mode setting), la gestion des modes actuelle (en espace utilisateur via le serveur X) devant être retirée dans le future. KMS est activé dans le module DRM nouveau.ko en passant l'option modeset=1, voyez InstallDRM section Installation Notes.
Certains GPU intégrés sur la carte mère ne fonctionne pas avec Nouveau pour une raison inconnue, ceci inclut les GeForce 8200/8300 et probablement certaines 9400. Toutes les autres séries 8000/9000 devraient fonctionner, en supposant que quelqu'un se donne la peine d'extraire les microcode d'une trace mmio (mmio-trace), si ce n'est déjà fait. Le problème des GPU s'identifie comme NVIDIA NVAx dans le fichier de log de Xorg, avec x un nombre hexadecimal.
Actuellement, le support de la 2D est plutôt bon avec EXA, Xv et RandR12 (pensez au bi-écran, rotation etc) qui devrait fonctionner pour toutes les cartes jusqu'au 8xxx exclues (randr1.2 fonctionne néanmoins sur celles-ci et est maintenant activé par défaut). Le support 3D est limité et pour les développeurs chanceux. De même que la bascule vers les terminaux virtuels.
Les utilisateurs peuvent aider au développement en fournissant des dumps REnouveau ainsi que des traces MMIO. Les dumps REnouveau sont actuellement utiles seulement pour les cartes récentes (séries 9000 & GTX). Actuellement, un dump MMioTrace est beaucoup plus utile, et nous en avons besoin pour toutes les cartes. Consultez MmioTrace pour plus d'informations.
Pour savoir si des informations sur votre carte seraient utiles, vous pouvez consultez la page des dumps REnouveau déjà fournis.
Si vous possédez du matériel Nvidia dont vous n'avez plus besoin, une donation pourrait nous être très utile ! Proposez votre carte sur le canal IRC, l'un des développeurs sera peut-être (sûrement) intéressé.
Pour les développeurs et les utilisateurs avertis, il y a des instructions pour compiler et utiliser Nouveau.
Des demandes de tests spécifiques peuvent être trouvées sur la page d'appels aux testeurs. Vérifiez là !
Nouvelles
07.07.2009 posté par pq
Le support Pre-randr 1.2 a été supprimé, -2000 lignes de codes dans le DDX. Yay !
30.06.2009 posté par pq
Nouveau a déplacé le code DRM vers un arbre noyau, l'ancien dépôt DRM.git linux-core est abandonné.
20.03.2009 posté par KoalaBR
Des nouvelles sur le FOSDEM, FreeBSD et encore plus dans le TiNDC #43
21.01.2009 posté par KoalaBR
La suite de la couverture de Novembre à la semaine dernière, c'est ici TiNDC #42
14.11.2008 posté par KoalaBR
Après une longue pause KoalaBR est de retour avec TiNDC #41. LA TiNDC couvre tout du 1er Juin au 30 Ocrobre.
Bogues
Nous utilisons le Bugzilla de freedesktop.org. Nouveau (pilote 2D) se trouve dans Product xorg, Component Driver/nouveau, ainsi que dans Product Mesa, Component Drivers/DRI/nouveau pour la partie 3D. Éviter de soumettre des bugs pour la partie 3D en ce moment.
Nous avons une liste de diffusion où vous pouvez envoyez des rapports de bogues, poser des questions, discuter des patchs ou de tout ce qui tourne autour de nouveau et de ses outils. Elle se trouve à l'adresse suivante : http://lists.freedesktop.org/mailman/listinfo/nouveau
N'hésitez pas à nous soumettre les bogues que vous aurez trouvés dans l'implémentation 2D. Faites une recherche au préalable pour être sur que le bogue n'est pas déjà connu, si vous n'êtes pas sur qu'il soit la manifestation d'un bogue existant, ouvrez en un nouveau.
S'il vous plait, ne compressez pas les fichiers attaché aux rapports de bogues, spécialement les fichiers texte tel que des logs à moins que le fichier soit si volumineux que BugZilla le refuse. La compression des fichiers rends impossible un survol rapide. D'autre part, veillez à ce que le type MIME des fichiers textes soit correctement mis ) "text/plain", et non par exemple application/octet-stream. Ces petis gestes simplifieraient énormément la vie des personnes lisant les rapports de bogue (merci d'avance en leur nom).
Liens vers les dépôts du code
Le code actuel est accessible via git dans les arbres officiels sur git.freedesktop.org.
DDX git (pilote 2D) contient le pilote DDX.
Pour le récupérer, utilisez la commande git clone git://anongit.freedesktop.org/git/nouveau/xf86-video-nouveau
DRM GIT (Gestion de la mémoire) contient la bibliothèque libdrm (et libdrm-nouveau)
Pour le récupérer, utilisez la commande git clone git://anongit.freedesktop.org/git/mesa/drm
- DRM signifie Direct Rendering Manager et se réfère généralement au pilote noyau.
Arbre noyau Nouveau (modules DRM) pour le développement. instructions de compilation : InstallDRM.
Mesa Master est la place du driver 3D en cours de développement (non supporté)
Pour le récupérer, utilisez la commande git clone git://anongit.freedesktop.org/git/mesa/mesa
DriProject les développeurs du DRI nouveau trouveront des informations ici.
Outils utiles
Outils utiles à l'écriture du pilote :
REnouveau (voir CVS) logiciel permettant de lire (« dump ») les modifications survenant dans les commandes fifo ainsi que dans les registres lorsque qu'une commande de rendu est émise. Lisez cette page pour nous envoyer un dump de votre carte.
Version modifiée de nvclock Cette version de nvclock est modifiée de façon à pouvoir lire et écrire tous les registres des cartes nVidia.
MmioTrace permet de suivre les accès mémoire (« memory mapped I/O access » ou MMIO) à l'intérieur même du noyau. Il est utilisé pour enregistrer les lectures et écritures MMIO d'un pilote noyau, pour l'ingénierie inverse et pour le débogage.
RulesNG, un schéma d'organisation des données permettant la description des registres des cartes graphiques. Une version en développement est disponible.
Nvtrace, une variante de valgrind-mmt qui vise à intercepter tous le traffic à destination du pilote
Les outils et scripts relatifs à Nouveau (createdump ou encore crashdump) sont disponible dans le CVS.
Outils de débogage
OProfile profileur statistique, permet de mesurer les performances sur le système complet
Documentation/Code source disponible
Introduction et documentations sur les API
IntroductoryCourse - Sélection de liens et documents utiles pour appréhender le pilote Nouveau
CtxInit - Comment initialiser les changements de contextes
GalliumHowto Dans le cas où vous êtes assez courageux, ne venez pas vous plaindre que ça ne fonctionne pas.
Comment construire un environnement graphique complet avec Git sans écraser celui fourni par votre distribution.
Presentations
Video Hardware docs
Autres pilotes nVidia
Divers
NvHardwareDocs tous les registres nv documentés, protocoles, articles, et diverses informations sur le matériel des cartes graphiques nVidia
Games - Comment les jeux s'adressent au pilote et à la carte graphique
Liste des Noms de codes des cartes NVIDIA
openChrome Project - Pilote libre pour les cartes graphiques VIA S3 (possède une version de XvMC avec une accélération MPEG-4)
intellinuxgraphics.org - Pilote libre Linux pour les cartes graphiques Intel (possède une version de XvMC avec une accélération MPEG-2)
R300 DRI (Direct Rendering Infrastructure) - Pilote libre en développement pour les carte graphique AMD/ATI R300
Gallium3D - évolution de MESA
NouveauDemo - une suite de test.

