Kernel-Log – Was 2.6.36 bringt (1): Grafik | heise online

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

Zahlreiche Änderungen verbessern Performance und Funktionsumfang der Treiber für Intels aktuelle Mobilgrafik. Nouveau unterstützt nun auch die Fermi-Chips neuerer GeForce-Grafikkarten; der Radeon-Treiber beherrscht mit 2.6.36 Underscan, HyperZ und Tiling. Erweiterungen für den Debugger KDB und den Intel-KMS-Treiber ermöglichen neuen Debugging-Funktionen.

vorlesen Druckansicht
Lesezeit: 10 Min.
Von
  • Thorsten Leemhuis
Inhaltsverzeichnis

Nach der Veröffentlichung der dritten Vorabversion von Linux 2.6.36 Ende August gab es für acht Tage keine Änderungen im Hauptentwicklungszweig von Linux, weil Linus Torvalds die Linuxcon Brazil 2010 besuchte. Am Dienstag Abend hat Torvalds die Entwicklung von 2.6.36 wieder aufgenommen; die vierte Vorabversion dürfte er vermutlich zu Beginn der nächsten Woche freigegeben, wenn er seinen üblichen Arbeitsmustern folgt.

Der jetzige Entwicklungsstand von 2.6.36 ähnelt der finalen Version bereits 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 ja neue Fehler mit sich bringen. Torvalds hat darauf bei 2.6.35 stärker gepocht als zuvor; er hält es bei 2.6.36 ähnlich, da sich der Ansatz bewährt habe.

Da die wesentlichen Neuerungen von Linux 2.6.36 feststehen, kann das Kernel-Log schon jetzt einen umfassenden Überblick über die größten Neuerungen der Ende Oktober erwarteten nächsten Kernel-Version geben. Wie üblich werden wir die Informationen über eine mehrere Artikel verteilen, die sich nach und nach den verschiedenen Funktionsbereichen des Kernels widmet. Den Anfang der Serie "Was 2.6.36 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, Treiber und einigen weiteren Funktionsbereichen.

Nachdem der Intelligent Power Sharing (IPS) Driver die Aufnahme in den Kernel 2.6.35 noch verpasst hatte, nahmen die Kernel-Hacker diesen im "Platform"-Subsystem angesiedelten Treiber nun für 2.6.36 auf. Mit seiner Hilfe kann der Grafikchip in einigen Mobilprozessoren aus Intels Westmere-Generation (etwa dem Core i5) auf eine höhere Taktfrequenz hochschalten, wenn der Baustein seinen spezifizierten Maximal-Wärmeumsatz ("Thermal Budget") noch nicht ausschöpft – Intel nennt diese Technik, die die 3D-Performance steigert und wohl auch in Desktop-Prozessoren auftauchen dürfte, "HD Graphics Dynamic Frequency Technology" und beschreibt sie in einem Whitepaper.

Der Intel-KMS-Treiber für die Grafikkerne der Mobile-Prozessoren aus den Core-i-Reihen kann nun den Frame Buffer komprimieren, was die Leistungsaufnahme bei einem nicht näher spezifizierten HP-Notebook laut Commit-Kommentar um 0,2 Watt senkt. Verbessert haben die Entwickler zudem die Unterstützung für den Embedded DisplayPort (eDP).

Den Nouveau-KMS-Treiber haben die Entwickler kurzfristig um Unterstützung für Grafikchips der Fermi-Generation erweitert, nachdem einer der Hauptentwickler des Treiber so eine Karte erhalten hatte (u. a. 1, 2, 3, 4, 5, 6, 7). Fermi-GPUs sitzen auf den im März vorgestellten GeForce-GTX-Modellen 470 und 480 und einigen weiteren, zwischenzeitlich eingeführten Modellen der 400er-Serie. Verbessert haben wollen die Kernel-Entwickler auch die Suspend- und Resume-Unterstützung für die Karten der GeForce-Familien bis einschließlich der 7000er-Serie sowie die Unterstützung für DisplayPort und Hotplug bei den GeForce-Serien 8000, 9000, 100, 200 und 300.

Der KMS-Treiber für Radeon-Karten beherrscht nun Underscan, um die Bildgröße besser auf digital angesteuerte Bildschirme anpassen zu können, die automatisch Overscan aktivieren. Der Treiber bietet jetzt auch Funktionen zum Auslesen der in neueren Radeon-GPUs integrierten Temperatursensoren, unterstützt bei Notebooks die Funktionstasten zum Aktivieren von externen Monitoranschlüssen besser und beherrscht die Audio-Ausgabe via HDMI bei den Mainboard-Chipsätzen RS600, RS690 und RS740.

Bei R300- und R500-Grafikchips bieten die Treiber nun alles nötige zur Nutzung der HyperZ genannten Beschleunigungsfunktionen rund um die Handhabung von Tiefeninformationen. Die Tiling-Untersütztung für die Grafikchips der R600, R700 und R800-Serien (2000er-Serie und später) soll die 2D- und 3D-Performance der Treiber steigen (u. a. 1, 2, 3)

DRM-Subsystem-Maintainer Dave Airlie erwähnt in seine Haupt-Git-Pull-Request noch einige weitere Neuerungen – das Big Kernel Lock (BKL) etwa wird ab 2.6.36 nur noch vom Treiber-Code für einige veraltete Intel-Grafikchips der 800er-Familie genutzt, was Skalierbarkeit und Performance des Codes verbessern sollte.

Über KDB-Entwickler Jason Wessel stieß ferner Unterstützung für die Debugger KGDB und den erst bei 2.6.35 integrierten KDB (Kernel Debugger) zum DRM-Code und dem Intel-KMS-Treiber. Zusammen mit Änderungen am KGDB/KDB-Code ermöglicht das mit dem Intel-Treiber den Wechsel auf eine Debugger-Shell, um dort etwa die Ursache für einen Absturz des X-Servers analysieren zu können, wenn der Wechsel auf eine Textkonsole nicht mehr möglich ist und keine serielle Konsole konfiguriert ist. Ein etwas älteres YouTube-Video demonstriert die Technik.

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 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)