Zum Hauptinhalt Zur Navigation

Kernel: Linux 4.4-rc1 bringt Grafiktreiber für Raspberry Pi

Die kommende Version 4.4 des Linux-Kernels enthält einen freien Grafiktreiber für das Raspberry Pi und ermöglicht Grafikbeschleunigung in virtuellen Maschinen. Verbessert worden sind der RAID- und BPF-Code, geplant ist außerdem die Langzeitpflege der Version.
/ Sebastian Grüner
3 Kommentare News folgen (öffnet im neuen Fenster)
Linux 4.4 enthält einen neuen freien Grafiktreiber für die SoC der Raspberry-Pi-Rechner. (Bild: Multicherry)
Linux 4.4 enthält einen neuen freien Grafiktreiber für die SoC der Raspberry-Pi-Rechner. Bild: Multicherry / CC-BY 4.0

Schon vor Beginn der Entwicklungsphase der neuen Version 4.4 des Linux-Kernels gab der Maintainter Greg Kroah-Hartman bekannt(öffnet im neuen Fenster) , die Veröffentlichung zwei Jahre nach Erscheinen pflegen zu wollen. Mit der Freigabe von Linux 4.4-rc1 stehen die Funktionen nun fest, die in den kommenden Wochen noch ausgiebig getestet werden. Für viele Heimnutzer und Linux-Bastelfreunde am interessantesten ist wohl der neue Treiber für die Grafikeinheit des Raspberry Pi(öffnet im neuen Fenster) .

Seit Sommer 2014 arbeitet der ehemalige Intel-Angestellte Eric Anholt für Broadcom daran, einen vollständig freien Grafiktreiber zu erstellen, der in den Standard-Grafikstack von Linux-Systemen integriert werden kann. Mit dieser Code-Sammlung ist es dann vergleichsweise einfach, beliebige Distributionen für das Pi bereitzustellen und auch eigenständig Aktualisierungen durchzuführen. Der bisher von Broadcom bereitgestellte Treiber mit sehr vielen proprietären Teilen hat diese Arbeiten deutlich erschwert.

In der Grafikbibliothek Mesa sind die Bestandteile zur 3D-Beschleunigung bereits enthalten. In Linux 4.4 stehen nun erstmals einige der Kernel-Komponenten im Hauptzweig bereit. Konkret unterstützt wird durch den Treiber die GPU VC4 (Videocore 4) von Broadcom für die SoC BCM2835 sowie BCM2836, also für die erste und die zweite Generation des Kleinstrechners. Bis der Treiber allerdings voll funktionsfähig ist, müssen sich Nutzer wohl noch bis weit ins kommende Jahr gedulden, da dem Kernel-Treiber unter anderem noch die Energieverwaltung sowie die Unterstützung der 3D-Beschleunigung fehlen.

Virtuelles 3D und Patches für Intel, Nvidia und AMD

Vollständig umgesetzt worden ist in Linux 4.4 nun jedoch die 3D-Beschleunigung für die Virtio-GPU, die erstmals mit Linux 4.2 erschienen ist. Gemeinsam mit den bereits existierenden Userpace-Komponenten kann so eine hardwarebeschleunigte 3D-Darstellung in virtuellen Maschinen genutzt werden. Dies ist zwar bereits ähnlich mit Virtualbox und den Produkten von VMware machbar, anders als Virtio werden diese aber nicht oder nur teilweise per Upstream gepflegt, was den Einsatz in Linux-Distributionen erschwert. Das für Dezember geplante Qemu 2.5(öffnet im neuen Fenster) macht bereits Gebrauch von dem neuen 3D-Treiber der Virtio-GPU.

Verbessert haben die Linux-Hacker(öffnet im neuen Fenster) die Grafiktreiber für die Grafikchips in Intels Skylake ebenso wie für einige Chips der Kepler-Architektur von Nvidia, die in den Serien Geforce 600 und 700 sowie in dem Tegra K1 vorhanden sind. Signierte Firmware für Maxwell-GPUs steht im freien Nouveau-Treiber immer noch nicht bereit. Die Entwickler von AMD haben in ihrer neuen Treibergeneration AMDGPU die Unterstützung für Stoney APUs hinzugefügt, die im Frühjahr 2016 erscheinen soll. Die noch ausstehende Energieverwaltung für AMDGPU, womit etwa die Fury-Karten mehr Leistung erhalten sollten, wird vermutlich in das kommende Linux 4.5 eingepflegt.

Natives SHA für Intel, KASan für ARM64

Weiter fortgeschritten sind die mit Linux 4.1 begonnenen Aufräumarbeiten des x86-Codes, der statt in Assembler nun in C geschrieben ist. Maintainer Ingo Molnar schreibt dazu(öffnet im neuen Fenster) , dass der letzte noch verbleibende Schritt dieser Arbeiten sehr einfach ausfallen sollte. Intels Befehlssatzerweiterung für SHA(öffnet im neuen Fenster) wird von Linux 4.4 nun nativ unterstützt(öffnet im neuen Fenster) , was eine mehr als dreimal schnellere Berechnung(öffnet im neuen Fenster) der Hashwerte ermöglichen soll.

Der Kernel-Address-Sanitizer(öffnet im neuen Fenster) (KASan), mit dem Fehler in der Speicherverwaltung gefunden werden können, steht nun auch für die 64-Bit-ARM-Architektur (ARM64)(öffnet im neuen Fenster) bereit. Außerdem ist die Funktionserkennung für die unterschiedlichen ARM64-CPU-Kerne überarbeitet worden, ebenso wie die EFI-Unterstützung für diese Architektur(öffnet im neuen Fenster) . Updates gab es auch für die Umsetzung von TPM 2.0(öffnet im neuen Fenster) .

Netzwerk, RAID und Dateisystem

Von Grund auf neu gestaltet worden ist mit dem Treiber rtl8xxxu die Unterstützung für einige WLAN-Chips von Realtek, die per USB angebunden sind. Das Neuschreiben vereinfacht den ursprünglichen Code des Herstellers, indem nun einige Teile aus der Kernel-Infrastruktur wiederverwendet werden. Das Team hat außerdem Code verbessert, der von dem Jahr-2038-Problem betroffen gewesen ist.

Die Implementierung des neuen Algorithmus Rack(öffnet im neuen Fenster) (Recently Ack) von Google nutzt Zeitstempel zum Bemerken eines Paketverlustes bei TCP. Bisher ist dafür üblicherweise die Abfolge der übertragenen Pakete betrachtet worden. Google will Rack als Standard bei der IETF einreichen, einen entsprechenden Entwurf(öffnet im neuen Fenster) dafür gibt es bereits.

BPF auch für Userspace

Der Berkeley Packet Filter (BPF) kann über einen Systemaufruf von Userspace-Programmen genutzt werden, dazu werden entsprechende kleine Filterprogramme in die Kernel-VM geladen. Mit Linux 4.4 ist dies auch durch Anwendungen möglich, die nicht mit Root-Rechten laufen. Um die Systemsicherheit dabei nicht zu gefährden, sollen die BPF-Programme durch ein Modul verifiziert werden. Details zu dieser Funktion(öffnet im neuen Fenster) bietet das Magazin Lwn.net.

Die Möglichkeit zum Laden der BPF-Programme nutzt nun auch das Werkzeug Perf(öffnet im neuen Fenster) , mit dem die Leistungsfähigkeit des Kernels überprüft werden kann. Zudem können die sogenannten BPF Maps, die zum Speichern der Daten der BPF-Programme genutzt werden, nun dauerhaft in einem dazugehörigen virtuellen Dateisystem gespeichert werden. Weitere Neuerungen des Netzwerk-Stacks sind in einem gesammelten Beitrag(öffnet im neuen Fenster) aufgeführt.

RAID-Patches von Facebook und Suse

Mit Linux 4.4 ist die Unterstützung für RAID1 auf einem Cluster-System(öffnet im neuen Fenster) "nahezu komplett" . Die Arbeiten stammen von einem Suse-Entwickler, der diese Idee erstmals vor einem Jahr vorstellte.(öffnet im neuen Fenster) . Zu einem wirklich stabilen Code bräuchte es nur noch " ein halbes Dutzend Patches" , schreibt der Maintainer Neill Brown.

Facebook steuerte ein Journal für RAID5 bei. Damit soll sich Datenverlust bei einem Crash etwa durch einen Stromausfall auch dann noch vermeiden lassen, wenn bereits eine Festplatte in dem RAID nicht mehr in Betrieb gewesen ist. Als Gerät für das Journal des RAID werde typischerweise eine SSD oder NVRAM genutzt. Künftig könnte das Journal auch zur Beschleunigung der Operationen auf dem RAID genutzt werden.

Updates für Btrfs-RAID und Ext4-Verschlüsselung

Ebenfalls von Facebook zur besseren RAID-Unterstützung(öffnet im neuen Fenster) beigesteuert worden sind Verbesserungen in den Allokationsroutinen von Btrfs. Die Clone-Operation nach NFS-Version 4.2(öffnet im neuen Fenster) ist nun mit Btrfs Ioctls umgesetzt. Zudem soll der Code von Btrfs aufgeräumt worden sein. Das für den Servereinsatz beliebte XFS hat eine Statistikverbesserung(öffnet im neuen Fenster) erhalten.

Für die mit Linux 4.1 eingeführte native Verschlüsselung des Dateisystems Ext4 sind in Linux 4.4 einige wichtige Updates eingeflossen, die Speicherfehler beheben, sowie mögliche Beschädigungen der gespeicherten Daten selbst. Der Entwickler Ted Ts'o empfiehlt allen Anwendern der Verschlüsselung, statt eines Kernel-Updates zumindest die entsprechenden Patches auf ältere Kernel-Versionen zurückzuportieren.

Eingeschränkte Speicherinfo von Vmalloc

Entfernt haben die Entwickler(öffnet im neuen Fenster) den Zugriff über /proc/meminfo auf die Informationen zu dem per Vmalloc-Aufruf zugewiesenen Speicher. Das virtuelle Verzeichnis wird standardmäßig beim Start von einigen Versionen der Glibc ausgelesen, was normalerweise keine Probleme bereit, bei dem Vmalloc-Aufruf allerdings einen erhöhten Rechenbedarf verursacht. Falls benötigt, lassen sich die Informationen weiterhin über /proc/vmallocinfo auslesen.

Für Nutzer, die ihren Kernel selbst kompilieren und dabei das per make xconfig aufgerufene grafische Konfigurationswerkzeug verwenden, steht dieses nun als Portierung auf Qt5 bereit(öffnet im neuen Fenster) . Die lange Jahre noch theoretisch verfügbare Abwärtskompatibilität zu dem längst veralteten Qt3 ist damit endgültig entfernt worden.

Der Quellcode von Linux 4.4-rc1 kann auf der Webseite kernel.org(öffnet im neuen Fenster) heruntergeladen werden.


Relevante Themen