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

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.

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.

Der Audio-Treiber snd-ctxfi verstehen sich jetzt mit der Creative Sound Blaster Titanium HD. Die HDA-Codec-Treiber unterstützen ab 3.1 die Cirrus-Logic-Codecs der CS421x-Reihe und den Creative CA0132. Subsystem-Maintainer Takashi Iwai hebt in seinem Haupt-Git-Pull-Request einige weitere Neuerungen bei den Sound-Treibern hervor; darunter größere Umbauarbeiten an zwei Codec-Treibern.

Zum Media-Subsystem mit seinen Treibern für Fernbedienungen sowie DVB-, Radio- und Video-Hardware stießen Treiber für den Micronas DRX-K DVB-C/T Demodulator und den Tuner TDA18271C2 (u. a. 1, 2, 3, 4). Neu dabei ist auch der Ddbridge-Treiber, der Video-Hardware mit Ddbridge-Bausteinen von Digital Devices anspricht – etwa Octopus, Octopus mini, Octopus LE, cineS2(v6) mit DuoFlex S2 und/oder DuoFlex CT Tuner (1, 2, 3). Ebenfalls neu ist der Treiber Ir-mce_kbd-decoder, um das Microsoft Remote Keyboard der Windows Media Center Edition mit einem normalen IR-Empfänger zu nutzen.

Greg Kroah-Hartman hat die Staging-Treiber Westbridge und Msm sowie einige alte TTY- und Seriell-Treiber rausgeworfen, weil sich niemand um sie gekümmert hat (1, 2, 3, 4). Der Grafiktreiber für Intels GMA500-Grafikkern, der im Bereich für Code mit größeren Qualitätsmängeln liegt, erhielt Verbesserungen wie die Unterstützung der Medfield-Platform, bleibt aber bei 3.1 ein Staging-Treiber – immerhin ist die ToDo-Liste deutlich kürzer geworden.

Mehr Infos

Einbruchsfolgen

Nach dem Einbruch bei Kernel.org führen die Administratoren derzeit Wartungsarbeiten durch, daher sind das normalerweise dort liegende Git-Depot mit den Kernel-Quellen und dessen Webfrontend derzeit nicht erreichbar. Viele der Links im nebenstehende Artikel verweisen daher ausnahmsweise auf das Webfrontend der Kernel-Quellen bei Github, wo Linus Torvalds Linux vorübergehend weiterentwickelt, bis Kernel.org wieder in Betrieb ist.

Einige Verbesserungen für die Hyper-V-Treiber von Microsoft haben die Aufnahme bei 3.1 verpasst, sodass es bei 3.2 vermutlich wieder einen größeren Schwung geben wird. Viele der Qualitätsmängel wurden durch diese und die vorangegangenen Arbeiten mittlerweile ausgeräumt; was noch zu tun bleibt, damit die Treiber den Staging-Bereich verlassen können, haben die Entwickler kürzlich diskutiert.

  • Das Input-Subsystem erweiterten die Kernel-Entwickler um einen Wiimote genannten Treiber für Human Interface Devices (HID), mit dem sich der zuvor schon als Fernbedienung nutzbare Wiimote-Controller der Nintendo Wii auch als reguläres Eingabegerät nutzen lässt (u. a. 1, 2).
  • Der Ideapad-Platform-Treiber bietet nun Funktionen zur Helligkeitsregelung. Dank eines neuen Treibers gelingt die nun auch beim Samsung Q10 und damit verwandten Notebooks wie dem Dell Latitude X200.

Viele kleinere, aber keineswegs unbedeutende Neuerungen finden sich in der folgenden Liste mit den englischen Commit-Überschriften der jeweiligen Änderung. Die Einträge verlinken genau wie viele der Verweise im vorangegangenen Text auf das Webfrontend des von Linus Torvalds gepflegten Git-Zweigs mit den "offiziellen" Kernel-Quellen auf Kernel.org. Der über diese Links angezeigten Commit-Kommentar und der darunter ausgegebene Patch liefern zahlreiche weitere Informationen zur jeweiligen Änderungen.

Vor jedem Link finden sich in eckigen Klammern einige Buchstaben und Zahlen. Ein "C" kennzeichnet Patches mit Änderungen an Kconfig-Dateien, welche die Konfigurationsoptionen samt der zugehörigen Hilfetexte enthalten, die bei der Kernel-Konfiguration über "make menuconfig" oder "make xconfig" angezeigt werden. Ein "D" steht bei Patches, die die Dokumentation verändern, die im Kernel-Zweig unterhalb von Documentation/ liegt. Ein "N" weist Änderungen aus, die eine neue Datei anlegen. Die Zahl vermittelt einen groben Eindruck zur Größe des Patches: eine "1" kennzeichnet Änderungen, die inklusive Kommentar zwischen 10 und 20 KByte groß sind, eine "2" für solche, die zwischen 20 und 30 KByte Umfang haben; Änderungen ohne Zahl sind kleiner als 10 KByte, Patches mit einer "9" hingegen 90 KByte oder größer.

Audio

Graphics

EDAC/ Hwmon/I2C/Watchdog

Input

Mehr kleine Perlen

Media

Platform

Staging

USB

Various

Weitere Hintergründe und Informationen rund um Entwicklungen im Linux-Kernel und dessen Umfeld finden sich in den vorangegangenen Kernel-Logs auf heise open. Neue Ausgaben des Kernel-Logs werden auf den Identi.ca- und Twitter-Konten "@kernellog" erwähnt; die englischen, bei den Kollegen von "The H" erscheinenden Übersetzungen auf den Identi.ca- und Twitter-Konten "@kernellog2". Gelegentlich zwitschert der Autor des Kernel-Logs unabhängig davon über einige Kernel-Log-Themen bei Identi.ca und Twitter als "@kernellogauthor". (thl). (thl)