Kernel-Log – Was 3.1 bringt (4): Treiber

Linux 3.1 bringt alles Nötige zur Nutzung der 3D-Beschleunigung einiger aktueller GeForce-Grafikchips mit. Der Intel-Grafiktreiber nutzt eine wichtige Stromspartechnik immer noch nicht. Die Creative Sond Blaster Titanium HD wird nun unterstützt.

In Pocket speichern vorlesen Druckansicht 22 Kommentare lesen
Lesezeit: 31 Min.
Von
  • Thorsten Leemhuis
Inhaltsverzeichnis

In der Nacht von Mittwoch auf Donnerstag hat Linus Torvalds die siebte Vorabversion von Linux 3.1 fertig gestellt. In der Freigabe-Mail zum RC7 und einem Beitrag bei Google+ deutet er an, 3.1 sei bald reif zur Veröffentlichung. Torvalds hält es aber nicht für sinnvoll, das auf die Freigabe von Linux 3.1 folgende Merge Window von Linux 3.2 ohne Kernel.org stemmen zu wollen – die Server sind seit mittlerweile zwei Wochen nicht erreichbar, weil sie nach einem Einbruch gerade geprüft oder neu aufgesetzt werden. Torvalds erwähnt zudem, Anfang Oktober Urlaub zu machen. Offenbar will er Linux 3.1 erst danach freigeben, wodurch sich das Merge Window mit dem diesjährigen Kernel Summit überlappen würde. Der findet von 23. bis 25. Oktober statt; eine Veröffentlichung von Linux 3.1 vor dem 9. Oktober scheint damit derzeit unwahrscheinlich.

Aufgrund der näher rückenden Fertigstellung will das Kernel-Log die Serie "Was 3.1 bringt" mit der Beschreibung der Neuerungen rund um die Hardware-Unterstützung von Linux abschließen. Den Anfang dieser Artikel-Reihe hat eine Übersicht der Änderungen an Netzwerk-Treibern und -Infrastruktur gemacht; es folgte ein Artikel zu Neuerungen bei Storage-Code und Dateisystemen und einer zu Architektur, Infrastruktur und Virtualisierung.

Der Nouveau-DRM/KMS-Treiber in Linux 3.1 wird eine "fuc" genannten Firmware für Fermi-Grafikchips selbst erzeugen können. Mit ihr lassen sich 3D-Funktionen einiger Fermi-GPUs nutzen, die bei den beiden neuesten GeForce-Serien 400 und 500 zum Einsatz kommen. Laut Nouveau-Wiki arbeitete das Ganze vermutlich bei den Chips NVC0, NVC4, NVCE, die auf den GeForce-GTX-Modellen 460, 465, 470, 470M, 480, 480M und 560 stecken. Bei einigen anderen Fermi-Bausteinen sind Probleme bekannt; andere sind ungetestet oder arbeiten bekanntermaßen nur mit der Original-Firmware, die sich den proprietären Nvidia-Treibern mit einigen eher umständlichen Tricks entlocken lassen.

Um die 3D-Funktionen des DRM/KMS-Nouveau-Treibers in Linux 3.1 nutzen zu können, sind aktuelle Mesa-3D- und X.org-Treiber erforderlich. Einige der im Herbst erwarteten Linux-Distributionen dürften all diese Bausteine enthalten – dort sollten daher 3D-Desktop-Oberflächen wie die Gnome Shell oder Unity auch auf einigen Fermi-Grafikarten arbeiten, ohne dass man die proprietären Nvidia-Treiber einspielen muss. Viele Anwender dürften diese dennoch installieren, denn für anspruchsvolle Spiele reicht die rudimentäre 3D-Unterstützung des Nouveau-Treibers nicht aus; zudem beherrscht er viele Stromsparfunktionen nicht und kann auch die Lüfter vieler Grafikkarten nicht regeln. Die Nouveau-Entwickler arbeiten aber an der Beseitigung dieser beiden Mankos.

Die Entwickler des Intel-DRM/KMS-Treibers hatten die Stromspartechnik "RC6" standardmäßig einschalten wollen -- die Grafikkerne vieler in den letzten zwei bis drei Jahren vorgestellten Intel-Prozessoren und -Chipsätze beherrschen RC6 (etwa die Core-CPUs mit integrierter Grafik). Diese Änderung nahmen die Kernel-Hacker aber schon nach kurzer Zeit wieder zurück, weil die Technik bei einem Anwender zu Problemen führte. Bei vielen Notebooks arbeitet sie allerdings einwandfrei und kann die Leerlauf-Leistungsaufnahme um bis zu 6 Watt senken, was die Akku-Laufzeit spürbar verlängert. Wegen der geringeren Wärmeentwicklung laufen Lüfter zudem seltener oder ruhiger. Bei Notebooks mit RC6-tauglicher Grafikhardware empfiehlt sich daher ein testweises Einschalten – dazu übergibt man dem Modul i915 beim Laden den Parameter "i915_enable_rc6=1" oder ruft den Kernel mit dem Parameter "i915.i915_enable_rc6=1" auf.

Den Radeon-DRM/KMS-Treiber für Evergreen-GPUs (HD-5000-Serie) haben die Entwickler um einige Teile zur Unterstützung von Compute-Befehlen erweitert, über die sich Berechnungen auf Grafikchips auslagern lassen.