Kernel-Log – Was 3.2 bringt (5): Treiber

Der Anfang Januar erwartete Kernel 3.2 bringt nicht nur bessere Unterstützung für Multitouch-Touchpads und moderne Grafikchips von Nvidia, sondern auch einen ganze Reihe neuer Treiber für DVB-Hardware.

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

Linux 3.2 dürfte zum Jahreswechsel erscheinen, so sich nicht noch Fehler finden, die die Freigabe verzögern. Das deutete Linus Torvalds in der Mail zur Veröffentlichung von Linux 3.2-rc6 an, in der er erwähnt, dass der siebte Release Candidate (RC) wahrscheinlich der letzte sein werde; er dürfte wohl zum Heiligen Abend erscheinen, sofern Torvalds seinen Rhythmus beibehält.

Das Kernel-Log will daher jetzt seine Mini-Serie "Was 3.2 bringt" mit der folgenden Beschreibung von Neuerungen rund um Treiber abschließen. Die ersten vier Teile der Artikelreihe haben bereits die für 3.2 integrierten Änderungen bei Netzwerk-Treibern und -Infrastruktur, Dateisystemen, Architektur- und Prozessor-Unterstützung und sonstiger Infrastruktur des Kernels erläutert.

Der DRM/KMS-Treiber für Intel-GPUs soll bei Systemen auf Basis von Intels Ivy-Bridge-Platform bis zu drei Monitore ansteuern können; der Kernel-Treiber für die Grafikkerne der im nächsten Jahr erwarteten Intel-Mainstream-Prozessoren gilt bereits seit Linux 3.1 als komplett. Bei den mit Grafikkern ausgestatteten Ivy-Bridge-CPUs aktiviert der DRM/KMS-Treiber von Linux 3.2 erstmals standardmäßig die sehr wirksame Stromspartechnik RC6 und die Semaphoren der Hardware (1, 2). Bei Intels derzeit aktuellen Prozessoren der Sandy-Bridge-Generation verwendet der neue Kernel die Techniken ab Version 3.2 ebenfalls automatisch, sofern die Virtualisierungstechnik VT-d deaktiviert ist – mit ihr soll es Wechselwirkungen geben, die Fehlverhalten oder Systemabstürzen nach sich ziehen. Da das Intel-spezifische RC6 die Leistungsaufnahme vieler Sandy-Bridge-Systeme um einige Watt senkt, ist sie insbesondere für Notebooks interessant, da sie die Akku-Laufzeit spürbar verlängern kann und auch die Geräuschentwicklung der Lüfter häufig reduziert. Man kann sie bei älteren Kernel-Versionen über den Kernel-Boot-Parameter i915.i915_enable_rc6=1 aktivieren; denen fehlen aber einige Korrekturen für Probleme rund um RC6, die in Linux 3.2 eingeflossen sind. [Update 20111227-1030] Nachdem neue Schwierigkeiten rund um RC6 und die Semaphoren des Sandy-Bridge-Grafikkerns gefunden wurden, haben die Entwickler die beiden Techniken auf diesen Chips abermals standardmäßig deaktiviert (1, 2). [/Update]

Der Nouveau-Treiber verwendet jetzt die Beschleunigungsfunktionen bei den Fermi-Chips NVC1 (GeForce GT 415M, 420, 420M, 425M, 430, 435M, 525M, 530, 540M, 550M und 555 sowie Quadro 600 und 1000M), NVC8 (GeForce GTX 560 Ti OEM, 570, 580 und 590 sowie Quadro 3000M, 4000M und 5010M ) und NVCF (GeForce GTX 550 Ti und 560M) mit der selbst erzeugten Firmware; letztgenannten Grafikchip unterstützt der Kernel mit Linux 3.2 erstmals. Zudem stießen einige Änderungen zum Kernel, die weitere Grundlagen zur Nutzung von Stromsparfunktionen und Lüftersteuerung im Nouveau-Treiber legen.

Einige größere Umbauarbeiten gab es am DRM/KMS-Grafiktreiber Vmwgfx, der die virtuelle Grafik-Hardware VMware SVGA2 anspricht, die neuere Virtualisierungslösungen von VMware emulieren. In diesem Zug legt der Code, der 2D- und 3D-Beschleunigung bietet, die Einstufung als Staging-Treiber ab. Neu dabei ist ein DRM/KMS-Treiber für den Exynos-4210-SOCs von Samsung. Er bietet bislang keine Beschleunigungsfunktionen, ist allerdings der erste für Embedded-Systeme gedachte DRM/KMS-Treiber, der in den Kernel einzieht. Schon bei Linux 3.3 soll ein DRM/KMS-Treiber für die OMAP-Platform von Texas Instruments (TI) folgen; er zieht allerdings in den Staging-Bereich ein. Zum USB-Subsystem stieß für 3.2 ein Framebuffer-Grafiktreiber für die von SMSC gefertigten Bausteine UFX6000 (USB 2.0) und UFX7000 (USB 3.0).

Mit den wesentlichsten Änderungen bei Audio-Treibern stieß ein Patch zum Kernel, durch den man Probleme umschiffen kann, falls ein Hardware-Hersteller die Vendor- und Subsystem-Informationen nicht richtig gesetzt hat. Ferner gingen eine Reihe von Änderungen im Kernel auf, die den bei Audio-Codecs von Realtek zur Codec-Konfiguration eingesetzten Auto-Parser verbessern (siehe "Die kleinen Perlen" auf der zweiten Seite des Artikels). Das soll die Wartung des Codes erleichtern und die automatische Konfiguration aktueller und zukünftiger Systeme verbessern. Genau wie bei vielen anderen Anpassungen am Kernel lässt sich bei solch einer größeren Änderungen rund um die Herangehensweise bei der Hardware-Konfiguration aber nie ganz auszuschließen, dass neue Kernel-Versionen Probleme zeigen, die bei älteren Kernel-Versionen nicht auftraten.

Im Media-Subsystem mit der Infrastruktur und den Treibern für Fernbedienungen, TV-Hardware und Webcams gab es wieder Dutzende von Änderungen; die wichtigsten erwähnt der zuständige Subsystemverwalter Mauro Carvalho Chehab in seinen beiden Haupt-Git-Pull-Requests für Linux 3.2 (1, 2). Neu sind etwa Treiber für Webcams mit Topro-Chipsatz sowie die TV-Empfänger Pinnacle PCTV HDTV Pro, Technotrend Connect S2-3600 und WinTV-Aero-M.

Neu ist auch Unterstützung für den DVB-T-Empfänger Kworld UB499-2T und den DVB-T-Demodulator MaxLinear MxL111SF. Zum Kernel stieß ferner ein Treiber für den DVB-S/S2-Demodulator NXP TDA10071 und den Conexant-Tuner CX24118A. Die Treiber tm6000 für die USB-DVB-Chips TM5600, TM6000 und TM6010 und altera-stapl für den Altera FPGA Firmware Downloader sind im Staging-Bereich jetzt so weit gereift, dass sie ins Media-Subsystem umziehen konnten; das schaffte auch der Treiber cx25821 für TV-Karten mit dem Conexant-Chip cx25821.

Im Verzeichnis drivers/staging/media/ betreut der Verwalter des Media-Subsystems nun die Media-Treiber des Staging-Bereichs; hier liegt Code, der den Qualitätsansprüchen seiner Entwickler oder der Kernel-Entwickler nicht genügt. Dort zog bei 3.2 unter anderem der Treiber as102 für einen DVB-Empfänger-Chip von Abilis ein.

Wie bereits an anderen Stellen der Mini-Serie "Was 3.2 bringt" erwähnt, konnten die Treiber ath6kl, brcm80211 und vmwgfx die Staging-Einstufung ablegen. Das gilt auch für Teile der Unterstützung von Micosofts Hyper-V; die verbliebenen Teile sollen bei 3.3 das Staging-Siegel ablegen. Dann dürften auch Teile des Treibers für Intels Grafikkern GMA500 folgen, der unter anderem in Intels Chipsatz US15W (Poulsbo) steckt.

  • Beim Code für Human Interface Devices (HID) findet sich ab Linux 3.2 ein vollwertiger Treiber für Logitechs Unifying Receiver.
  • Der Synaptics-Tocupad-Treiber bietet nun Image Sensor Support und kann dadurch Informationen zur Position mehrerer Finger liefern; ein weitere Änderung sorgt für bessere Unterstützung in Situationen, in denen der Anwender mehr als zwei Finger auflegt. Durch Erweiterungen am Touchpad-Treiber elantech unterstützt dieser nun neuere Elantech-Hardware und Multitouch besser (1, 2, 3).
  • Es sind auch schon einige der Patches in Linux 3.2 eingezogen, die aufgrund von Informationen aus den Windows-Treibern die PCIe-Stromspartechnik ASPM (Active State Power Management) bei bestimmten Chips generell lahm legen (1, 2). Erst bei Linux 3.3 soll der Patch folgen, durch den sich der Kernel bei der Entscheidung über das systemweite (De)aktivieren von ASPM ähnlich verhält wie moderne Windows-Versionen. Einige Distributionen haben diesen allerdings bereits in ihre Kernel integriert, die sie als reguläres Update verteilen.
  • Das neue Pin Control Subsystem kann die Konfiguration von Systems-on-a-Chip (SOC) vereinfachen, bei denen sich die Pins unterschiedlich nutzen lassen; Hintergründe erläutern die zugehörige Dokumentation und ein LWN.net-Artikel.
  • Der RDMA-Nes-Treiber unterstützt nun "MPAv2 Enhanced RDMA Negotiation" und "Packed And Unaligned fpdus".
  • Zum SCSI-Subsystem stieß der Treiber mvumi für Marvell Universal Message Interface (UMI); laut Commit-Kommentar werde das unter anderem zur Kommunikation mit Marvell-Chips wie dem "Plato" genutzt. Durch Erweiterungen des Treibers megaraid_sas unterstützt dieser nun den MegaRAID-Modelle 9360 und 9380. Der Treiber Mpt2sas erhielt "Fast Load Support"; der versucht die Treiber-Initialiserung zu beschleunigen, indem der Treiber unter anderem parallel zu anderen Treibern nach Geräten sucht. Der Treiber Qla4xxx lässt sich jetzt über das Programm Iscsiadm der Open-Iscsi-Werkzeuge administrieren.