Kernel-Log – Was 2.6.32 bringt (2): Grafik

Linux 2.6.32 wird 3D-Unterstützung mit Radeon-Grafikkarten der Serien 2000, 3000 und 4000 bieten. Die Treiber für Intel-Grafikchips beherrschen nun mehr Stromsparfunktionen und sollen gerade auf älter Mainboard-Chipsätzen deutlich runder laufen.

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

Anfang November hat Linus Torvalds 2.6.32-rc6 freigegeben – wegen des Kernel Summit erschien der sechste RC nicht wie sonst üblich eine, sondern zwei Wochen nach dem rc5. Wie bei diesem Stand des Entwicklungszyklus üblich, sind die in den vergangenen Tagen integrierten Patches vorwiegend klein, um in den verbleibenden drei bis sechs Wochen bis zur Freigabe von Linux 2.6.32 keine Änderungen einzuschleusen, die neue Fehler auslösen.

Nach der Beschreibung der Änderungen im Netzwerksubsystem widmet sich das Kernel-Log nun den wichtigsten Neuerungen rund um die Unterstützung für Grafikhardware. Auf einiges davon dürften viele Anwender warten, seit AMD wieder enger mit Open-Source-Entwicklern zusammenarbeitet.

Kernel und Direct Rendering Manager (DRM) beherrschen in Zukunft 3D-Unterstützung und Kernel-based Mode-Setting (KMS) auch mit den AMD-GPUs der Baureihen R600 und R700. Die kommt in den Radeon-Modellen der Serien 2000, 3000 und 4000 zum Einsatz – also bei den meisten der in den letzten zwei bis drei Jahren verkauften Radeon-Grafikkarten sowie verschiedenen AMD-Mainboard-Chipsätzen der 700er-Baureihe.

Damit 3D-Unterstützung und KMS aber auch funktionieren, sind darauf abgestimmte (Entwickler-)Versionen von Libdrm und Mesa 3D sowie dazu passende Radeon-Grafiktreiber für X.org erforderlich. Diesen Software-Stack passend zusammenzustellen ist eher etwas für fortgeschrittene Anwender – das Fedora-Projekt will alles Nötige jedoch in dem Mitte des Monats erwarteten Fedora 12 in einem experimentellen Paket mitliefern.

Der Radeon-KMS-Treiber bietet in Zukunft auch Basisunterstützung zum Aktivieren von TV-Ausgängen. Der KMS-Treiber für Intel-Grafikchips konnte das schon vorher, unterstützt nun aber eine größere Zahl und mehr Funktionen der dafür zuständigen SDVO-Chips (1, 2, 3).

Der Intel-KMS-Code komprimiert ab 2.6.32 zudem den Framebuffer-Speicher, was die Leistungsaufnahme laut den Entwicklern um bis zu 0,5 Watt senkt; die neue dynamische Taktanpassung ("Dynamic Clock Frequency Control") soll bei unbelastetem System die Stromaufnahme durch Reduzieren der LCD-Bildwiederholrate, Self-Memory-Refresh und Taktreduzierung weiter vermindern und so die Akku-Laufzeit von Notebooks verlängern. Der Intel-Treiber geht zudem effizienter mit dem Grafikspeicher um (1, 2) und versucht, abgestürzte GPUs wieder neu zu initialisieren.

Aufgenommen haben die Kernel-Hacker auch die VGA-Arbitration-Patches (1, 2, Dokumentation). Bei Systemen mit mehreren Grafikkarten stellen sie zusammen mit einem X-Server ab Version 1.7 sicher, dass die jeweils richtige Grafikkarte die ihr zugedachten VGA-Kommandos des X-Servers auch erhält – das soll deutlich mehr Flexibilität beim Aufsetzen von Multiseat-Umgebungen ermöglichen.

Einige weitere Änderungen im für die Unterstützung für Grafikhardware zuständigen Code des Kernels:

  • Über den Parameter "video=" kann man dem KMS-Code zukünftig eine bestimmte Ausgabe-Bildschirmauflösung für einzelne oder alle Monitore vorgeben .
  • Die bislang mit dem Radeon-Treibercode eng verbundene Firmware haben die Entwickler in eigene Dateien ausgelagert und laden diese fortan mit Hilfe des Firmware-Loaders. Eine vergleichbare Änderung gab es auch im Treibercode für Matrox-Grafikkarten.
  • Neu dabei ist ein Framebuffertreiber für MSM/QSD SoCs von Qualcomm, die etwa beim HTC Dream (aka T-Mobile G1, aka ADP1) zum Einsatz kommen.
  • Die Entwickler haben die von Radeon-Treibern des Kernels bei der Initialisierung genutzten Codepfade überarbeitet. Das soll ihnen die Wartung vereinfachen, aber auch das Suspend- und Resume-Verhalten verbessern – die zuständigen Commits finden sich in der Liste am Ende des Artikels. Die Treiber-Pflege sollte auch die Zusammenlegung einiger Teile des KMS-Codes für AMD- und Intel-GPUs vereinfachen.
  • Der Framebuffertreiber für VIA-Grafikhardware unterstützt nun auch den VX855-Chipsatz. Zudem haben die Kernel-Hacker die 2D-Engine des VIA-Treibers neu geschrieben.
  • Mit Hilfe der neuen Tracepoint-Unterstützung lässt sich in Zukunft das Verhalten des DRM-Codes fürs Intels aktuelle Grafikchipsätze besser beobachten.
  • Die Entwickler wollen zahlreiche seit der Aufnahme von GEM bei 2.6.27 auftretende Fehler mit Intel-Chipsätzen der 8xx-Serie behoben haben.
  • Der KMS-Code für Radeon-Grafikhardware unterstützt nun Surround View – also den Parallelbetrieb von Radeon-Grafikkarte mit Chipsatzgrafik.

Viele weitere nicht ganz so wichtige, aber keineswegs unbedeutende Neuerungen finden sich in der folgenden Liste, die die englischen Commit-Überschriften der jeweiligen Änderung enthalten. Die Einträge verlinken genau wie viele der Verweise im vorangegangenen Text auf das Webfrontend des von Linus Torvalds gepflegten Git-Zweigs mit den Kernel-Quellen auf Kernel.org. Im Webfrontend liefern normalerweise der Commit-Kommentar und der Patch selbst zahlreiche weitere Informationen zur jeweiligen Änderungen.

Weitere Hintergründe und Informationen rund um die Entwicklungen im Linux-Kernel und dessen Umfeld finden sich in den vorangegangenen Ausgaben des Kernel-Log. (thl) (thl)