Kernel-Log – Was 2.6.37 bringt (1): Grafik

Der Nouveau-Treiber beherrscht erstmals Power-Management und spricht den GeForce 320M an. Der Code für Intels Grafikkerne unterstützt die Video-Einheiten der in Kürze erwarteten Sandybridge-Prozessoren und einige Änderungen am Radeon-KMS-Treiber sollen dessen Performance verbessern.

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

Vor einer Woche hat Linus Torvalds die dritte Vorabversion von Linux 2.6.37 veröffentlicht; sofern er sich trotz Thanksgiving und einer Reise nach Tokio an den üblichen Rhythmus hält, dürfte in Kürze die vierte Vorabversion von 2.6.37 folgen.

Die Fertigstellung der vermutlich Anfang Januar oder vielleicht schon Ende Dezember erwarteten Kernel-Version rückt damit langsam näher. Der jetzige Entwicklungsstand ähnelt der finalen Version allerdings schon stark, denn die Kernel-Hacker haben wie üblich am Anfang des Entwicklungszyklus alle größeren Neuerungen im Rahmen des Merge Window in den Hauptentwicklungszweig integriert. In der jetzigen Stabilisierungsphase fließen vorwiegend Fehlerkorrekturen, aber keine größeren Änderungen mehr ein, denn die könnten neue Fehler mit sich bringen.

Das Kernel-Log kann daher schon jetzt einen umfassenden Überblick über die größten Neuerungen der nächsten Kernel-Version geben. Wie üblich wird es die Informationen über mehrere Artikel verteilen, die sich nach und nach den verschiedenen Funktionsbereichen des Kernels widmet. Den Anfang der Serie "Was 2.6.37 bringt" machen die Änderungen rund um die Unterstützung für Grafikhardware; in den kommenden Wochen folgen Artikel zur Netzwerkunterstützung, zu Storage-Hardware, Dateisystemen, Architektur-Code, Treibern und einigen weiteren Funktionsbereichen.

Der Nouveau-Treiber unterstützt nun NVAF-Chips wie den auch MCP89 genannten GeForce 320M – ein Mainboard-Chipsatz mit integrierter Grafik, der etwa in einigen der aktuellen MacBooks steckt. Der Nouveau-Code spricht jetzt auch einige der Power-Management-Funktionen von GeForce-Grafikchips an; die Lüfterregelung aktiviert er aber weiterhin nicht, wodurch die Lüfter von Grafikkarten, die den Lüfter nicht autark regeln, stetig auf Höchstgeschwindigkeit laufen.

Der Code für Radeon-Grafikchips der Evergreen-Generation (HD 5000-Serie) bietet nun Blit-Unterstützung, was die Nutzung des Grafikspeichers jenseits der "PCI Aperture Size" ermöglicht sowie 2D- und 3D-Performance steigert. Letztere verbessert auch die auch für ältere Radeon-Grafikchips implementierte Writeback-Unterstützung.

Die Treiber für Intel-GPUs unterstützt nun den Ring Buffer der mit Grafikchip ausgestatteten Sandybridge-Prozessoren; Userland-Code kann darüber die Recheneinheiten zum De- und Encodieren von Video nutzen, welche die GPUs der Anfang nächsten Jahres erwarteten Intel-Prozessoren enthalten (1, 2). Der Intel-KMS-Treiber kann nun auch die Audio-Ausgabe via DisplayPort und HDMI aktivieren; gibt es bei der Erkennung der Audio-Fähigkeiten von via DP oder HDMI angeschlossenen Ausgabegeräten Probleme, kann man die Audio-Ausgabe nun auch manuell aktivieren (1, 2, 3) .

Für die GMA500-Grafik des Poulsbo-Chipsatzes von Intel bringt der Kernel nun einen minimalistischen Treiber zur Regelung der Bildschirmhelligkeit mit. Open-Source-Grafiktreiber oder einen universellen, für die gängigsten Mainstream-Distributionen einsetzbaren proprietären Grafiktreiber gibt es für diesen eher auf Embedded-Systeme ausgerichteten, aber auch in einigen Netbooks eingesetzten Chipsatz weiterhin nicht. Intel ist sich der Problematik durchaus bewusst und will sie langfristig beseitigen, wie der Kernel-Log-Author kürzlich von einem Intel-Mitarbeiter erfuhr – es blieb aber unklar, ob damit ein Treiber für die jetzigen oder Chipsätze gemeint ist oder ob nur zukünftige Chipsätze einen ordentlichen Linux-Treiber erhalten.

Um Problemen oder Abstürzen auf den Grund zu gehen lässt sich nun auch mit den KMS-Treibern für GeForce- und Radeon-Grafikhardware eine KDB-Debug-Shell öffnen (1, 2); der für die Shell zuständige Code stieß bei Version 2.6.36 zum Kernel, arbeitet dort aber nur mit dem Intel-KMS-Treiber zusammen. Nachdem es um den Treiber für die unter anderem von Virtualiersungslösungen von VMware emulierter Grafik-Hardware etwas ruhiger geworden war, erhielt er nun wieder etwas größere Änderungen; unter ihnen finden sich unter anderem eine Korrektur zur besseren Unterstützung von ACPI S3 und S4

Einige weitere Änderungen rund um den für DRM und KMS zuständigen Kernel-Code listet dessen Betreuer Dave Airlie in seinem Haupt-Git-Pull-Request auf. Darüber hinaus gab es noch einige Änderungen am im Staging-Zweig angesiedelten USB-DisplayLink-Treiber udlfb – darunter Dokumentation und DPMS-Unterstützung. Durch Verbesserungen am Code zum Auslesen der Display-Informationen (EDID/Extended display identification data) und dem Setzen der Bildschirmauflösung kann der Treiber nun über billige DisplayLink-Chips wie den DL-125 auch High-End-Monitore ansprechen, deren Standard-Auflösung jenseits von 1280 × 1024 liegt. Bereits vor Monaten verliehen die Entwickler des Treibers in einem ihrer Hoffnung Ausdruck, dass der Treiber den Staging-Bereich bald verlassen kann; bei 2.6.37 war es aber noch nicht der Fall.

Viele kleinere, aber keineswegs unbedeutende Neuerungen finden sich in der folgenden Liste mit den englischen Commit-Überschriften der jeweiligen Änderung. Die Einträge verlinken genau wie viele der Verweise im vorangegangenen Text auf das Webfrontend des von Linus Torvalds gepflegten Git-Zweigs mit den "offiziellen" Kernel-Quellen auf Kernel.org. Der über diese Links angezeigten Commit-Kommentar und der darunter ausgegebene Patch liefern zahlreiche weitere Informationen zur jeweiligen Änderungen.

Vor jedem Link finden sich in eckigen Klammern einige Buchstaben und Zahlen. Ein "C" kennzeichnet Patches mit Änderungen an Kconfig-Dateien, welche die Hilfetexte und Konfigurationsoptionen enthalten, die bei der Kernel-Konfiguration über "make menuconfig", "make xconfig" und ähnliche Werkzeuge angezeigt werden. Ein "D" steht bei Patches, die die Dokumentation verändern, die im Kernel-Zweig unterhalb von Documentation/ liegt. Ein "N" weist Änderungen aus, die eine neue Datei anlegen. Die Zahl vermittelt einen groben Eindruck zur Größe des Patches: eine "1" steht etwa für Änderungen, die inklusive Kommentar zwischen 10 und 20 KByte groß sind, eine "2" für solche, die zwischen 20 und 30 KByte Umfang haben; Änderungen ohne Zahl sind kleiner als 10 KByte, Patches mit einer "9" hingegen 90 KByte oder größer.

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)