Kernel-Log – Was 2.6.31 bringt (2): Grafik, Audio und Video

Linux 2.6.31 wird Kernel-Based Mode-Setting bei Radeon-Grafikchips unterstützen. Neu sind Treiber für X-Fi-Soundkarten und Intels "Next-Generation Graphics Device". Zahlreiche Verbesserungen gab es auch bei den Treibern für Webcams und TV-Hardware.

In Pocket speichern vorlesen Druckansicht 1 Kommentar lesen
Lesezeit: 16 Min.
Von
  • Thorsten Leemhuis
Inhaltsverzeichnis

Trotz Hochsommer auf der Nordhalbkugel geht die Kernel-Entwicklung ohne Unterbrechung weiter. Die Entwicklung von Linux 2.6.31 ist mittlerweile bei der fünften Vorabversion angekommen. Bei ihr schlich sich noch der Webcam-Treiber gspca/sn9c20x ein, obowhl das Merge Window schon lange vorbei war. Er ist aber nur eine von vielen Neuerungen im Audio- und Video-Bereich von Linux 2.6.31.

Nachdem bei Linux 2.6.28 der Intel-spezifische GEM (Graphics Execution Manager) zum Kernel stieß und mit 2.6.29 die darauf aufbauende Unterstützung für Kernel-Based Mode-Setting (KMS) folgte, nahmen die Entwickler nun KMS-Code für Radeon-Grafikchips von AMD/ATI auf. Damit man die Vorteile von KMS – die zentrale Verwaltung der Grafik an einer Stelle, besser funktionierender Suspend und weniger komplexe Grafiktreiber – nutzen kann und der X-Server mit KMS arbeitet, müssen die Treiber für X.org, die Libdrm sowie Mesa3D aktualisiert werden. Das ist ein erheblicher Einrichtungs- und Abstimmungsaufwand, den man am besten dem Linux-Distributor seiner Wahl überlässt.

Der aufgenommene und maßgeblich von den Programmierern des X.org-Treibers "radeon" entwickelte KMS-Code unterstützt Radeon-GPUs bis hin zur R5XX-Serie – also alle Radeon-Modelle bis einschließlich der X1950. KMS-Unterstützung für die R6xx- und R7xx-GPUs der Radeon-HD-Serien 2000, 3000 und 4000 ist noch in Arbeit. Doch auch der für 2.6.31 integrierte Radeon-KMS-Code ist noch nicht ganz ausgereift; die Entwickler haben ihn daher vorerst als Staging-Treiber gekennzeichnet.

Zur Speicherverwaltung und Koordination des Zugriffs auf die Recheneinheiten dient dem Radeon-KMS-Code nicht GEM, sondern der ebenfalls neue TTM GPU Memory Manager. Ursprünglich hatte der Intel-KMS-Treiber diesen auch nutzen sollen, die Intel-Entwickler waren damit allerdings nicht ganz glücklich und starteten GEM als Alternative. Der TTM-Code wurde aber zwischenzeitlich überarbeitet und lässt sich auch über ein GEM-API nutzen.

Den Intel-KMS-Treiber erweiterten die Entwickler um Unterstützung für die Monitoransteuerung via DisplayPort (DP). Zahlreiche Korrekturen verbessern zudem den bisherigen KMS- und GEM-Code – der kürzlich freigegebene X.org-Treiber 2.8 solle daher am besten mit Linux 2.6.31 arbeiten.

Die Intel-Crew hat ferner KMS-Code und andere Patches zur Unterstützung einer als IGDNG bezeichneten Grafikchipreihe beigesteuert. Das Kürzel steht vermutlich für "Intel Graphics Device Next-Generation" und dürfte für die Grafikkerne der Anfang nächsten Jahres erwarteten Prozessoren stehen.

Informationen zu diesen und anderen Änderungen rund um die Grafikunterstützung des Kernels finden sich am Ende des Artikels sowie in einigen der Git-Pull-Request von Dave Airlie (1, 2, 3, 4).

Über die Alsa-Entwickler fand der für verschiedene Creative-Soundkarten der X-Fi-Serie geeignete und maßgeblich von Creative-Mitarbeitern entwickelte Treiber snd-ctxfi den Weg in den Kernel. Damit findet eine Treiber-Odyssee nun ein Ende, denn einige zumeist allenfalls halb-fertige Versionen verschiedener quelloffener oder proprietärer Treiber hatten in den vergangenen Jahren immer wieder eine unerfüllt gebliebene Hoffnung auf einen halbwegs ordentlichen Linux-Treiber für X-Fi-Sound-Chips aufkommen lassen. Ausgereift ist der jetzt in Kernel aufgenommene Treiber aber noch nicht; so fehlt etwa die Unterstützung für externe I/O-Module.

Neu dabei ist auch der Audio-Treiber lx6464es für verschiedene LX6464ES-Modelle von Digigram. Dazugestoßen ist ferner die Unterstützung für die ESI Maya44 und zahlreiche PCs und Notebooks – darunter das MacBook 5.1 (Aluminium). Wie mit jeder neuen Kernel-Version haben die Entwickler zudem die Whitelists für die automatische Anwendung Hardware-spezifischer Sonderbehandlungen ("Quirks") erheblich erweitert – die wichtigsten Commits aus diesen Bereichen finden sich in der Liste am Ende dieses Artikels. Einer der Verwalter des Audio-Subsystems hat die herausragendsten Neuerungen von 2.6.31 einer Mail zusammengefasst.