Freier Nvidia-Treiber Nouveau in den Kernel 2.6.33 aufgenommen

  • Schlussendlich war ein Machtwort von Linus Torvalds höchstpersönlich notwendig: Nouveau, der durch Reverse Engineering entstandene freie Treiber für Nvidia-Grafikkarten, wurde in den Entwicklerzweig des Kernels 2.6.33 aufgenommen.


    Nouveau unterstützt alle Nvidia-Chips von NV4 (Riva TNT) bis NV50 (GeForce 8) und kann mittlerweile mit einer langen Liste von Funktionen aufwarten: 2D-Beschleunigung und Video-Wiedergabe auf allen Karten, Dual-Head, Randr 1.2, Kernel Mode Setting (KMS) und Suspend/Resume. 3D-Beschleunigung gilt immer noch als experimentell, ermöglicht aber stellenweise schon die Nutzung von Compiz. Nouveau setzt dabei bereits auf das derzeit noch in Entwicklung befindliche Gallium3D auf.

    Das Fedora-Projekt hatte sich mit Version 11 entschieden Nouveau mit auszuliefern, um den Code von einer breiteren Öffentlichkeit testen zu lassen, der DRM-Code wurde seitdem in einem eigenen Kernel-Zweig gepflegt. Anstrengungen, diesen in den von Torvalds veröffentlichen Standard-Kernel einfließen zu lassen, hab es allerdings keine. Als David Airlie, Angestellter von Red Hat, vor drei Tagen neue DRM-Patches für Kernel 2.6.33 übersandte und Nouveau wieder nicht enthalten war, platzte Torvalds der Kragen: Wenn Nouveau nicht bereit für den Standard-Kernel sei, solle RedHat es nicht gleichzeitig an Millionen Nutzer auszuliefern. »Was zum Teufel geht hier vor«, tobte der Kernel-Vater.

    Die Diskussion konzentrierte sich dann relativ schnell um den eigentlichen Stein des Anstoßes: Nouveau kommt nicht vollständig ohne proprietäre Komponenten aus. Seit der GeForce-6-Serie muss ein »ctx_voodoo« genannter binärer Blob unbekannten Inhalts in die Karten geladen werden. Dieser stammt allerdings aus dem proprietären Nvidia-Treiber und kann bislang nicht durch eine freie Alternative ersetzt werden. Es sei daher niemand bereit den Code mit seiner »Signed-Off:«-Zeile zu versehen und die eventuell daraus resultierenden Rechtsstreitigkeiten mit Nvidia auf sich zu nehmen.

    Nvidia-Entwickler Andy Rittger hatte zwar in der Vergangenheit erklärt, dass der Konzern den Nouvea-Entwicklern weder im Weg stehen noch sie unterstützen wolle, dies ist allerdings rechtlich nicht bindend. Torvalds lehnt sämtliche Erklärungen als »Ausreden« ab und stellt die Gültigkeit des Lizenzproblems in Frage - Fedora liefere den Blob ja bereits mit aus, wenn es ein Problem gäbe hätte RedHat dies tunlichst unterlassen sollen.

    Ben Skeggs vom Nouveau-Projekt löste die Situation mit einem verfrühten »Weihnachtsgeschenk« in Form des »drm-nouveau-pony«-Zweiges: ctx_voodoo wird nun über das Firmware-Interface des Kernels aus einer Datei geladen und ist nicht mehr Bestandteil des Codes, der Nutzer muss die Datei also aus anderen Quellen beziehen. Nouveau kann daher im Normalzustand nur noch Grafikkarten bis zur GeForce-5-Serie ansprechen, dies dürfte allerdings für die meisten Nutzer auch der Hauptgrund sein es überhaupt einzusetzen: Der proprietäre Nvidia-Treiber unterstützt ältere Karten nicht mehr, und der in X.Org enthaltene »nv«-Treiber beherrscht nur 2D-Operationen. Nouveau kann also momentan seiner Hauptaufgabe nachkommen ohne die strittigen Teile zu benötigen.

    Torvalds nahm den drm-nouveau-pony-Zweig schließlich mit dem Kommentar »PONIES! Yay! I lurve ponies!« in den Standard-Kernel auf. Nutzer mit Nvidia-Grafikkarten können daher hoffnungsvoll ins Jahr 2010 blicken: Große Teile von Nouveau sind mittlerweile in die notwendigen Projekte eingeflossen, und mit Ubuntu 10.04 plant ein weiterer Distributor die Auslieferung des Treibers. Die Tage des alten »nv«-Treibers sollten damit langsam gezählt sein.

    Quelle: Pro-Linux

    Gruess Suse-Newbie

    Für den Inhalt des Beitrages 10407 haftet ausdrücklich der jeweilige Autor: Suse-Newbie