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

Zusammen mit neuen X-Servern wird Linux 3.5 Hybridgrafik besser unterstützten. Der Radeon-Treiber soll schneller arbeiten und bei mehr Grafikchips den HDMI-Audio-Transport beherrschen. Die Audio-Treiber unterstützten nun die Xonar DGX und Creative SoundCore3D.

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

Der Radeon-Treiber soll durch einige Änderungen an der Art, wie er die Daten im Videospeicher abgelegt, bei Linux 3.5 mehr Performance aus den GPUs der Generationen R600 bis R900 (Radeon HD 2400 bis 7670) kitzeln. Laut Commit-Kommentar stiegen die Bildraten bei Tests mit Lightsmark und Doom 3 auf einer Radeon HD 5750 um etwas mehr als ein Drittel; mit anderen Karten kann der Effekt allerdings anders ausfallen oder gar nicht auftreten.

Die Kernel-Entwickler haben zudem die Unterstützung für den Audio-Transport via HDMI bei neueren Radeon-GPUs erheblich ausgebaut, wodurch auch die meisten Northern-Island-GPUs (viele 6000er-Radeons) nun unterstützt werden; genau wie bei der Vorgängergeneration Evergreen (viele 5000er-Radeons) muss man die HDMI-Audio-Funktion aber fürs Erste weiter über den Parameter "audio" des Kernel-Treibers "radeon" explizit einschalten.

Der Nouveau-Treiber in 3.5 kann die Hardware-Beschleunigung der Kepler-Chips nutzen, die auf vielen GeForce-Modellen der aktuellen 600er-Serie sitzen. Bis auf weiteres ist dazu allerdings eine Firmware-Datei erforderlich, die man aus dem proprietären Treiber von Nvidia extrahieren muss.

Im Sysfs lassen sich nun einige Informationen zur Nutzung von Intels GPU-Stromspartechnik RC6 auslesen. Nachdem bereits früherere Kernel-Versionen ersten Code zur Unterstützung des Grafikkerns von Intels Haswell-Prozessoren erhielten, soll Linux 3.5 den Grafikkern des im ersten Halbjahr 2013 erwarteten Ivy-Bridge-Nachfolgers nun tatsächlich ansprechen können (1, 2, 3).

Zum Kernel stießen ferner rudimentäre Treiber für die Grafikchips aus der 2000er-Serie von AST (ASpeed Technologies), die G200-Serie von Matrox und den von Qemu emulierten Cirrus-Grafikkern. Da die beiden zuerst genannten Chips vornehmlich in Servern stecken, ist es verschmerzbar, dass die zugehörigen Treiber keine Beschleunigungsfunktionen nutzen.

Der zum Zu- oder Umschalten eines zweiten Grafikchips zuständige Treiber Vga-Switcheroo stimmt sich jetzt mit dem Audio-Subsystem ab, um gegebenenfalls den Audio-Transport eines HDMI-Ausgangs ein- oder auszuschalten, wenn der an einem zuschaltbaren Grafikchip hängt.

Mehr Infos

Entwicklungsstand

Seit der Freigabe des RC6 am vergangenen Wochenende sind noch einige Korrekturen in den Hauptentwicklungszweig von Linux eingezogen; es ist ungewiss, ob noch weitere Vorabversionen vor der Freigabe von Linux 3.5 erscheinen.

Die Kernel-Grafiktreiber Exynos (Grafikkern von Samsung SOCs), I915 (Intel), Nouveau (Nvidia), Radeon (AMD) und Udl (USB Display Link) erhielten Unterstützung für Prime – ein Framework, das den Support von Hybridgrafik verbessern soll. Grundlagen dazu liefert der bei 3.5 erweiterte DMA-Sharing-Mechanismus, dessen neue Funktionen der Commit-Kommentar und die im Commit enthaltene Dokumentation näher erläutern.

Prime-Support für den X-Server soll der X-Server 1.13 bringen, in dessen Entwicklerversion der Code kürzlich eingezogen ist. Einige Demo-Videos finden sich im Blog von Dave Airlie, der die Prime-Infrastuktur für den Linux-Kernel und X.org maßgeblich vorantreibt. In der Mail mit seinem Haupt-Git-Pull-Request für Linux 3.5 erwähnt der Airlie noch einige andere Neuerungen an den von ihm betreuten DRM-Grafiktreibern.

Zu den Framebuffer-Grafiktreibern des Kernels stieß Unterstützung für die Epaper-Controller, die unter anderem in Thalias Ebook-Readern Oyo 1 und Oyo 2 stecken; die können dadurch nun etwa ScummVM ausführen, wie ein Video des zuständigen Entwicklers zeigt. Den WLAN-Chip dieser Reader unterstützt der Kernel allerdings bislang nicht.

Linux 3.5 unterstützt die Asus-Soundkarte Xonar DGX und im HD-Audio-Treiber die Funktion Creative SoundCore3D. Einige weitere Änderungen an den vom Alsa-Projekt betreuten Sound-Treibern erläutert Takashi Iwai in der Mail mit seinem Haupt-Git-Pull-Request für Linux 3.5; dort betont er, die Streaming-Logik für den USB-Audio-Support sei neu geschrieben worden, daher sei diese Änderung unter Hauptverdacht, wenn Anwender Probleme mit USB-Audio-Hardware bemerkten.

Zum Staging-Bereich stieß ein Treiber für den WiMAX-Chip GCT GDM72xx. Die Treiber für das Management Engine Interface (MEI) vieler Mainboard-Chipsätze von Intel konnten den Staging-Zweig verlassen. Selbiges gelang nach langer Zeit auch den Kernfunktionen zur Unterstützung des Industrial I/O (IIO) – ein in der Industrie genutztes Bussystem, um etwa Spannungs-, Temperatur-, Beschleunigungs- oder Helligkeitssensoren anzusprechen (1, 2, 3). Viele IIO-Treiber bleiben aber fürs Erste noch im Bereich für Treiber, die den Qualitätsansprüchen der Kernel-Entwickler nicht genügen.

  • Der Plattform-Treiber für Sony-Notebooks erhielt einige Änderungen (siehe "Die kleinen Perlen" am Ende des Artikels), um neuere Sony-Geräte besser zu unterstützten; durch sie soll der Treiber nun etwa die Tastatur-Beleuchtung bei den Modellen Vaio SA/SB/SC und CA/CB aktivieren können.
  • Das schon lange als "Deprecated" eingestufte "USB Device Filesystem" haben die Kernel-Entwickler entfernt, da moderne Distributionen und Programme die früher auf /proc/bus/usb/ eingehängte Repräsentation der USB-Geräte nicht mehr benötigten.
  • Zum Media-Subsystem mit seinen Treibern für Fernbedienungen, Webcams sowie DVB- und Video-Hardware stößt ein Treiber für den DVB-T Demodulator Afatech AF9033. Einige weitere Änderungen in diesem Subsystem erläutert Mauro Carvalho Chehab in der Mail mit seinem Haupt-Git-Pull-Request für Linux 3.5

Die folgenden Links führen zu einigen kleineren, aber keineswegs unbedeutenden Änderungen:

Audio

Graphics

Hwmon, I2C, Watchdog

HID, Input

Media

MFD, MMC, MTD

Platform

Staging

USB

Various

Ein "C" im Bereich "[  ]" kennzeichnet Commits mit Änderungen an Kconfig-Dateien, welche die Konfigurationsoptionen samt der zugehörigen Hilfetexte enthalten. Mit "I" ausgezeichneten Patches rüsten neue PCI- oder USB-IDs nach; jene mit "D" verändern die dem Kernel beiliegende Dokumentation; Commits mit "N" legen neue Dateien an. Die Zahl vermittelt einen groben Eindruck zur Größe des Patches: Eine "1" kennzeichnet Patches, die inklusive Kommentar zwischen 10 und 20 KByte groß sind; Patches mit einer "9" sind 90 KByte oder größer.

Mehr Infos

Die "Was Linux 3.5 bringt"-Serie

Das Kernel-Log kann bereits jetzt einen Überblick über die wichtigsten Neuerungen der in der noch im Juli erwarteten Linux-Version 3.5 geben, da alle größeren Neuerungen bereits in den ersten zwei Entwicklungswochen integriert wurden; Linux 3.5 befindet sich daher jetzt in der Stabilisierungsphase, in der die Kernel-Hacker normalerweise keine größeren Änderungen mehr vornehmen.

Über einige der Neuerungen von Linux 3.5 hat das Kernel-Log bereits berichtet:

In den kommenden Wochen wird noch ein Artikel erscheinen, der sich mit den Neuerungen an der Kernel-Infrastruktur beschäftigt.

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)