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

Linux kann jetzt nicht nur den Video-Encoder der neuen Radeon-Chips ansprechen, sondern auch Nvidias neueste Grafikchipfamilie. Der neue Kernel unterstützt aktuelle Thinkpads besser und entlockt manchen USB-3.0-Datenträgern mehr Geschwindigkeit.

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

Alles deutet darauf hin, dass Linus Torvalds den Linux-Kernel 3.15 am nächsten oder übernächsten Sonntag freigibt. Die folgenden Beschreibungen zu Änderungen an Treibern sollen daher jetzt unsere Kernel-Log-Mini-Serie "Was 3.15 bringt" rechtzeitig vor der Freigabe beenden. Die vier vorangegangenen Teile der Serie hatten sich mit den Neuerungen beschäftigt, die 3.15 in den Bereichen Dateisysteme und Storage, Performance-Optimierungen, Netzwerk und Infrastruktur bringt; diese Vorabberichterstattung war möglich, weil Torvalds alle wesentlichen Änderungen von Linux 3.15 bereits in der ersten Aprilhälfte angenommen hat.

Der Radeon-Grafiktreiber des Kernels bietet jetzt ein Interface zum Zugriff auf den Video-Encoder VCE2, der in neueren AMD-Prozessoren sowie Sea-Islands-Grafikkarten steckt – etwa den Radeon-HD-Modellen 7790, R7 260 und R9 290 (u. .a 1). Auf das neue Kernel-Interface greift ein Encoder-Treiber zurück, den das Anfang Juni erwartete Mesa 3D 10.2 mitbringen wird. Multimedia-Anwendungen können diesen Treiber über das OpenMAX API ansprechen, das wie OpenGL von der Khronos Group vorangetrieben wird; beim Enkodieren von H.264-Videos kann Software so die Arbeit den Radeon-Grafikkernen aufbürden, die das viel effizienter erledigen als der Hauptprozessor.

Der Treiber für Radeon-GPUs spricht jetzt auch die Grafikkerne in Mullins-Prozessoren an; dabei handelt es sich um CPUs für Tablets, die AMD Ende April vorgestellt hat. Der Nouveau-Kerneltreiber unterstützt jetzt den Grafikchip GM107, der auf den im Februar eingeführten GeForce-GTX-Modellen 750 und 750 Ti sitzt (u. a. 1). Diese GPU ist die erste der Maxwell-Familie, welche die Kepler-Familie beerbt und einen neuen Befehlssatz nutzt; daher war viel neuer Code nötig, um die noch junge GPU-Familie zu unterstützen. Einen Nouveau-OpenGL-Treiber für die neuen Grafikkern-Reihe gibt es derzeit nur im Entwicklerzweig von Mesa 3D, in dem die Entwickler derzeit der Nachfolger der in Kürze erwarteten Version 10.2 vorbereiten (u. a. 1, 2). Unter den Verbesserungen am Treiber für Grafikkerne von Intel waren Änderungen, um die Stromsparfunktionen moderner GPUs noch stärker zu nutzen; zudem haben die Entwickler die Unterstützung für die Broadwell-Prozessoren ausgebaut, die im Sommer auf den Markt kommen sollen. Der Grafiktreiber für Tegra-SoCs bietet jetzt eingeschränkte Unterstützung für die Display-Ansteuerung per Embedded DisplayPort (eDP) beim Tegra K1.

Die Grafiktreiber-Infrastruktur des Kernels bietet nun auch "Universal Plane Support", auf den verschiedene Entwickler seit über zwei Jahren hingearbeitet haben (u. a. 1, 2). Durch die Änderungen soll die Mehrbildschirm-Konfiguration verlässlicher, schneller und mit weniger Bildstörungen erfolgen. Zudem wird dadurch der Overhead des Codes reduziert, der ein fertig berechnetes Bild zur Ausgabe freigibt; das kann Performance und Ausgabequalität verbessern. Entwickelt wurden diese Änderungen anfangs unter den Begriffen "Atomic Modesetting" und "Nuclear Page-Flipping".

Thinkpads der Business-Reihen haben den Ruf, von Linux gut unterstützt zu werden. Der Kernel 3.15 zeigt, dass das auch Entwicklern zu verdanken ist, die Treiber schreiben, weil sie selbst solche Thinkpads besitzen. Ein Entwickler hat beispielsweise Basisunterstützung für die anpassungsfähige Tastatur des neuesten Thinkpad-Ultrabooks X1 Carbon von Lenovo eingebracht; der Linux-Kernel interpretiert dadurch nun Eingaben korrekt, wenn die berührungsempfindliche Leiste am oberen Tastaturrand die Funktions- oder Home-Tasten anzeigt.

Einige andere Entwickler haben den Synaptics-Treiber verbessert, damit er die Clickpads besser unterstützt, die in vielen der Thinkpads mit Core-i-4000er-CPU stecken; darunter die Modelle T431s, L440, T440, L540, S1 Yoga und das X1. Ein weiterer Entwickler hat Änderungen beigesteuert, die die Unterstützung des ThinkPad Helix verbessern (1, 2).

Der Linux-Kernel enthält jetzt wieder einen Treiber für USB Attached SCSI (UAS); dieser Treiber entlockt USB-3.0-Datenträgern mit UAS-Unterstützung oft bessere Performance als der USB-Mass-Storage-Treiber, weil UAS bei der Datenübertragung effizienter vorgeht. Der Code für den UAS-Treiber steckt schon lange im Kernel, bereitete aber von Anfang an Probleme und wurde daher bei Linux 3.8 lahmgelegt; die Entwickler wollen diese Probleme jetzt ausgeräumt haben.

Neu ist auch Treibersupport für Touchpads, die für das Multitouch-Protokoll von Windows 8.1 entworfen wurden.

Zu den Media-Treibern stieß der DRX-J-Treiber, der unter anderem den USB-HDTV-Stick Pinnacle PCTV HD Mini anspricht, der auch als PCTV 80e bekannt ist.

Die Gast-Treiber und Hintergrunddienste zur Unterstützung von Microsofts Hyper-V können nun Dateien im Dateisystem von Linux-VMs ablegen, wenn Microsofts Hypervisor sie dazu auffordert; diese Funktion ist Teil der "Guest Integration Services" neuerer Windows-Versionen.

Es gab noch hunderte andere Änderungen am Code der beschriebenen Kernel-Bereiche. Informationen zu diesen finden Sie über die folgenden Links auf Git-Merge-Commits, mit denen die wesentlichsten Neuerungen dieser Bereiche in Linux 3.15 eingeflossen sind; die zugehörigen Commit-Kommentare enthalten zumeist eine Beschreibung der wichtigsten Änderungen des jeweiligen Subsystems.

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 dem Twitter-Konto "@kernellog" annonciert. (thl) (thl)