• # A voir

    Posté par . En réponse au journal Aperçu de "Nouveau". Évalué à -3.

    Personnellement, je suis assez septique sur les chances de succès. Ecrire un driver de carte graphique est loin d'être évident mais le faire en aveugle, sans doc, ça relève de l'exploit. Ces derniers temps on entends parler de Nouveau un peu partout et tout le monde se prends à rêver d'un driver libre aussi performant que le driver propriétaire mais il faut un peu garder les pieds sur terre.

    La première fois que j'ai entendu parler de Nouveau c'était sur LinuxFr. Je suis naturellement allé voir sur le site si je trouvais plus d'info. Je suis tombé sur un compte rendu (de septembre je crois, soit 6-7 mois après le début de projet) ou un gars disait en substance "bon on commence à avoir une idée de ce qu'on veut faire maintenant on va commencer à écrire du code". Je rêve. On commence par monter un site web où on annonce qu'on va changer la face du monde, où on détaille toutes les fonctionnalités qu'on compte supporter et au bout de 7 mois on a pas écrit la moindre ligne de code ? On a passé 7 mois à se tripoter la nouille et à s'auto féliciter ? En général, on commence par faire un prototype basique qui marche (proof of concept) et ensuite on peut évaluer si ça tient la route et ce qu'on peut espérer. Les projets qui commencent par promettre la lune sans avoir rien sorti finissent souvent mal.

    Depuis les gars ont fait des choses. Ils ont repris la dernière version non obscurcie du driver libre NV et on tenté de dépourrir les dernières versions de ce driver. On en est à peu près là. Nouveau est pour le moment un driver NV nettoyé, donc 2D only. Pour ce qui est de la 3D, c'est une autre paire de manche. OK, ils ont des dumps de registres obtenus en observant la façon donc fonctionne le driver Nvidia mais de là à écrire un driver qui marche à partir de ça, il y a un gouffre, même s'ils s'en tiennent aux fonctionnalités de base. Il ne faut pas oublier que sur les dernières cartes 3D, comme on a de plus en plus de fonctionnalités à implémenter et qu'on ne peut pas augmenter indéfiniment le nombre de transistors, on retire l'implémentation matérielle de certaines fonctionnalités (il n'y a quasiment plus d'unités de calcul 2D par exemple) pour les émuler avec d'autres (shaders). Donc les fonctionnalités les plus simples techniquement sont peut être celle qui ont l'implémentation la plus tordue.

    Tout ça pour dire qu'il ne faut pas s'emballer. Quand on voit comment les développeurs du driver libre Radeon rament, sortir un driver semble plus que difficile. Ils sont peut être plein de bonne volonté mais il me semble qu'ils ont les yeux plus gros que le ventre.