Kernel-Log – Was 3.16 bringt (3): Treiber

Trends & News | Kernel-Log

Die AMD- und Intel-Grafiktreiber können nun etwas schneller arbeiten. Nvidia arbeitet jetzt beim Nouveau-Grafiktreiber mit. Die Helligkeitregelung von Notebooks-Displays soll nun häufiger funktionieren.

Der im Linux-Kernel enthaltene Treiber für Grafikkerne von Intel unterstützt nun Userspace Pointer. Durch diese auch User Pointer oder Userptr genannte Funktion müssen Speicherbereiche regulärer Programme nicht erst in den Kernel-eigenen Speicherbereich kopiert werden, damit der Grafikkern darauf zugreifen kann; das vermeidet Overhead und kann so 3D-, Video- und OpenCL-Leistung verbessern. Die Änderung wurde nach der Aufnahme heftig von einem erfahrenen Entwickler kritisiert, der allerlei Probleme befürchtete (1, 2). Diese Bedenken konnten später ausgeräumt werden, daher soll vielleicht auch der Radeon-Treiber bald Userspace Pointer beherrschen.

Entwicklungsstand

Linux 3.16 dürfte am Ende des ersten Augustwochenendes erscheinen. Darauf deutet zumindest einiges in der Freigabemail zur siebten Vorabversion dieser Kernel-Version hin, die Linus Torvalds am letzten Juli-Sonntag veröffentlicht hat. Die Freigabe kann sich aber leicht um eine Woche oder mehr verzögern, falls noch größere Fehler auftauchen.

Neu ist auch die Unterstützung für das Display Serial Interface (DSI), mit dem manche Mobile-Geräte ihre Displays ansteuern. Zu denen zählt das mit Windows 8.1 ausgelieferte Asus Transformer Book T100 – ein 10-Zoll-Tablet, das durch das mitgelieferte Tastaturdock zum Netbook wird. Der Intel-Treiber unterstützt nun die Hardware-beschleunigte Ausgabe von Mauszeiger-Bildern, die bis zu 256 × 256 Pixel groß sind; das bisherige Limit lag bei 64 × 64, was bei sehr hochauflösenden Displays zu recht kleinen Mauszeigern führt. Details zu diesen und anderen Neuerungen am Intel-Treiber liefert dessen Hauptbetreuer in einem Blog-Beitrag.

Der Treiber für AMDs Grafikkerne soll bei Linux 3.16 etwas flotter arbeiten und HDMI Deep Color unterstützen (u. a.1, 2, 3). Zudem beherrscht der Radeon-Treiber bei neueren APUs nun BAPM (1, 2); dadurch kann der Grafikkern in AMDs Prozessoren etwas höher takten und mehr Leistung liefern, wenn die APU die maximale thermische Verlustleistung (TDP/Thermal Design Power) noch nicht erreicht hat, weil die CPU-Kerne gerade nicht so viel zu tun haben.

Beim für Nvidia-GPUs zuständigen Nouveau-Treiber haben die Kernel-Entwickler die DisplayPort-Unterstützung verbessert. Der Treiber beherrscht bei einigen Grafikchips der Familien nv40 (viele 6000er und 7000er GeForce-Modelle), nvaa/nvac (bspw. GeForce 8100, 8200 & 8300) und nve0 (viele 600er und 700er GeForce-Modelle) nun das Hochschalten in schnellere Betriebsmodi. Das gelingt derzeit allerdings nur manuell über Sysfs-Dateien wie /sys/class/drm/card0/device/pstate; zudem funktioniere das Hoch- und Runterschalten laut dem Entwickler nur unzuverlässig, man solle es daher "mit Vorsicht" nutzen. Ein automatisches Hoch- und Runterschalten soll es erst geben, wenn die Frequenzwechsel zuverlässig funktionieren.

Was Linux 3.16 bringt

Das Anfang August erwartete Linux 3.16 befindet sich derzeit in der Stabilisierungsphase. Größere Umbauarbeiten gibt es in dieser Phase nur in seltenen Ausnahmefällen, denn alle wesentlichen Neuerungen haben die Kernel-Hacker bereits in den ersten beiden Entwicklungswochen integriert. Das Kernel-Log kann daher bereits vor der Fertigstellung einen Überblick über die wichtigsten Änderungen dieser Version liefern. Das erfolgt im Rahmen der Artikelserie "Was 3.16 bringt", die aus drei Teilen besteht:

Der Nouveau-Treiber bietet nun auch Basis-Support für den Grafikchip GK110B, den etwa die GeForce GTX 780 Ti nutzt. Nvidia hat zudem Code beigesteuert, damit der Treiber den GK20a-Grafikkern des Tegra K1 unterstützt (u. a. 1, 2, 3). Von Nvidia-Mitarbeitern stammen auch Änderungen, durch den der Nouveau-OpenGL-Treiber in Mesa 3D den Grafikkern anspricht (1, 2). Diese Änderungen werden in der nächsten größeren Mesa-Überarbeitung enthalten sein, die die Versionsnummer 10.3 oder 11.0 tragen dürfte. Damit beteiligt sich Nvidia erstmals signifikant an der Entwicklung des Nouveau-Treibers, der maßgeblich per Reverse Engineering entwickelt wird. Nvidia will die Mitarbeit am Treiber aber auch in Zukunft auf Code konzentrieren, der zur Unterstützung der Grafikkerne in den hauseigenen ARM-SoCs benötigt wird.

Ein ganzer Schwung von Änderungen am ACPI-Code soll Schwierigkeiten bei der Regelung der Bildschirmhelligkeit beseitigen, die eine Reihe von Win­dows-8-Notebooks plagen. In Einzelfällen zeigen sich aber noch Probleme mit der verbesserten Herangehensweise, daher haben die Entwickler sich entschlossen, diese bei 3.16 wieder standardmäßig zu deaktivieren. Man kann sie aber über den Kernel-Parameter "video.brightness_switch_enabled=0" einschalten; ab Linux 3.17 soll der Kernel die verbesserte Herangehensweise standardmäßig nutzen.

Linux enthält jetzt einen Treiber für den Fallsensor, der in manchem Dell-Notebooks der Latitude-Serie steckt. Ein normales Programm kann mit diesem Treiber zusammenarbeiten und so die Schreib/Lese-Köpfe von Festplatten in eine sichere Position bringen, während das Notebook herunterfällt.

Der Kernel bringt jetzt einen Treiber für Synaptics-Touchpads mit, die das RMI4-Protokoll nutzen und via I2C oder USB angeschlossen sind. Die Unterstützung für solche Touchpads soll noch grundlegend überarbeitet werden, denn der jetzt aufgenommenen Code ist nur als Übergangsmaßnahme gedacht, damit die Touchpads einiger Notebooks zuverlässig funktionieren – etwa bei der Haswell-Generation der Dell-XPS-Notebooks 11 und 12.

In den Staging-Bereich für unzulänglichen Code ist ein Treiber für den PCIe-WLAN-Chip Realtek RTL8192EE eingezogen (u. a. 1, 2, 3, 4).

Es gab noch hunderte weitere Änderungen am Code der beschriebenen Kernel-Bereiche. Informationen zu diesen finden Sie über die folgenden Links auf Git-Merge-Commits, mit denen die wesentlichen Neuerungen dieser Bereiche in Linux 3.16 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)

Kommentare

Anzeige
Anzeige