Aus Linux-Magazin 01/2016

Linux 4.4: Grafiktreiber für den Raspi, LTS-Support, Virtio-GPU

© Jarungthip Jarin, 123RF

Greg Kroah-Hartman will für die kommende Version 4.4 des Linux-Kernels Langzeit-Support leisten. Die neue Ausgabe enthält einen freien Grafiktreiber für den Raspberry Pi, ermöglicht Grafikbeschleunigung in virtuellen Maschinen und optimiert den Raid- und BPF-Code.

Noch bevor jemand an der neuen Version 4.4 des Linux-Kernels arbeitete, gab Maintainer Greg Kroah-Hartman bereits bekannt, diesen nach seinem Erscheinen zwei Jahre lang pflegen zu wollen. Seit der Freigabe von Linux 4.4-rc1 Mitte November stehen auch die meisten Funktionen fest, die im Kernel landen.

Nutzer des alten und neuen Raspberry Pi dürfte der neue Treiber für die Grafikeinheit interessieren. Bereits seit dem Sommer 2014 arbeitet der ehemalige Intel-Angestellte Eric Anholt für Broadcom daran, einen vollständig freien Grafiktreiber für den Standard-Grafikstack von Linux-Systemen zu entwickeln.

Die Codesammlung soll es dann vergleichsweise einfach machen, beliebige Distributionen für den Pi bereitzustellen und diese eigenständig zu aktualisieren. Nicht so trivial gestalteten sich solche Arbeiten bislang mit dem von Broadcom bereitgestellten Treiber, der viele proprietäre Komponenten mitbrachte.

Für den Grafikchip des Raspberry Pi gibt es nun einen vollständig freien Grafiktreiber.

Für den Grafikchip des Raspberry Pi gibt es nun einen vollständig freien Grafiktreiber.

Die Bestandteile zur 3-D-Beschleunigung stecken bereits in der Grafikbibliothek Mesa. Mit Linux 4.4 landen erstmals einige der Kernelkomponenten im Hauptzweig. Der Treiber unterstützt konkret die GPU VC4 (Videocore 4, [1]) von Broadcom für das SoC BCM2835 sowie das BCM2836, also für die erste und die zweite Generation des Kleinstrechners. Bis er vollends funktioniert, müssen sich Nutzer aber noch bis weit ins Jahr 2016 gedulden, da dem Kernel-Part unter anderem noch die Energieverwaltung sowie die Unterstützung für die 3-D-Beschleunigung fehlen.

Die 3-D-Beschleunigung für die Virtio-GPU setzt Linux 4.4 hingegen komplett um, sie ist seit Linux 4.2 an Bord. Zusammen mit den existierenden Userspace-Komponenten nutzen Anwender mit ihr Hardware-beschleunigte 3-D-Darstellung in VMs. Das funktioniert zwar bereits so ähnlich in Virtualbox und den VMware-Produkten, doch pflegen deren Hersteller ihre Produkte nicht oder nur teilweise, was den Einsatz in Linux-Distributionen erschwert. Das für Dezember geplante Qemu 2.5 macht bereits Gebrauch vom neuen Virtio-GPU-Treiber.

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

Weiter fortgeschritten sind die mit Linux 4.1 begonnenen Aufräumarbeiten des x86-Codes. Der ist statt in Assembler nun in C geschrieben. Maintainer Ingo Molnar schreibt, dass die verbliebene Arbeit vermutlich sehr einfach werde. Linux 4.4 unterstütze Intels Befehlssatz-Erweiterung für SHA inzwischen nativ und berechne Hashwerte mehr als dreimal schneller als zuvor.

Der Kernel Address Sanitizer (Kasan), der Fehler in der Speicherverwaltung aufspüren kann, steht jetzt für die ARM64-Architektur bereit. Daneben haben die Entwickler die Funktionserkennung für die unterschiedlichen ARM64-CPU-Kerne ebenso überarbeitet wie die EFI-Unterstützung für diese Architektur. Updates gab es auch für TPM 2.0.

Netzwerk und Google Rack

Von Grund auf neu gestaltet haben die Entwickler den Treiber »rtl8xxxu« für mehrere per USB angebundene WLAN-Chips von Realtek. Damit wollen sie den Code vom Hersteller vereinfachen, indem sie einige Teile aus der Kernel-Infrastruktur wiederverwenden. Das Team hat außerdem Code verbessert, der anfällig für das Jahr-2038-Problem war.

Die Implementierung des neuen Algorithmus Rack (Recently Ack) von Google verwendet Zeitstempel, um Paketverluste von TCP zu bemerken. Bislang betrachtete der Kernel dafür die Abfolge der übertragenen Pakete. Google möchte Rack als Standard bei der IETF einreichen, einen entsprechenden Entwurf dafür gibt es bereits [2].

BPF für Userspace

Der Berkley Packet Filter (BPF) lässt sich über einen Systemaufruf von Userspace-Programmen aus bedienen und lädt dazu (kleine) Filterprogramme in eine Art Kernel-VM. Ab Linux 4.4 dürfen dies auch Anwendungen nutzen, die ohne Rootrechte laufen. Um die Systemsicherheit nicht zu gefährden, soll ein Modul die BPF-Programme verifizieren, Details zur Funktion liefert Lwn.net [3].

Auch das Werkzeug Perf nutzt jetzt die Möglichkeit, BPF-Programme zu laden. Es überprüft die Leistungsfähigkeit des Kernels. Zudem landen die so genannten BPF Maps, die Daten der BPF-Programme speichern, nun dauerhaft in einem zugehörigen virtuellen Dateisystem.

Raid-Updates

Nicht zuletzt unterstützt Linux 4.4 Raid 1 auf einem Clustersystem “nahezu komplett”. Die Arbeiten stammen von einem Suse-Entwickler, der die Idee erstmals vor einem Jahr vorstellte. Zu einem wirklich stabilen Code bräuchte es nur noch “ein halbes Dutzend Patches”, schreibt Maintainer Neill Brown auf der Kernel-Mailingliste [4].

Facebook steuert ein Journal für Raid 5 bei. Kommt es etwa nach einem Stromausfall zum Absturz, während zuvor eine der Festplatten im Raid nicht mehr in Betrieb war, entsteht dank des Journals dennoch kein Datenverlust. Als Gerät nutzt das Journal des Raid meist eine SSD oder NVRAM. Künftig soll es auch Operationen auf dem Raid beschleunigen.

Ebenfalls zur besseren Raid-Unterstützung hat Facebook die Allokationsroutinen von Btr-FS optimiert. Um Clone-Operationen nach NFS-Version 4.2 kümmern sich jetzt Btr-FS-Systemaufrufe. Zudem haben die Entwickler den Code deutlich aufgeräumt und dem im Serverumfeld beliebten XFS-Dateisystem ein Statistik-Update spendiert.

Eingeschränkte Speicher-Info von Vmalloc

Entfernt haben die Entwickler den Zugriff über »/proc/meminfo« auf die Informationen zu dem per Vmalloc-Aufruf zugewiesenen Speicher. Allerdings lesen einige Versionen der Glibc das virtuelle Verzeichnis beim Start standardmäßig aus. Das verursacht normalerweise keine Probleme, zieht aber einen deutlich höheren Rechenaufwand nach sich. Im Notfall können Programme diese Informationen aber weiterhin über »/proc/vmallocinfo« auslesen.

Für Anwender, die ihren Kernel bevorzugt selbst kompilieren und die dabei das per »make xconfig« aufgerufene grafische Konfigurationswerkzeug verwenden, steht dieses nun als Portierung auf Qt 5 bereit. Im Zuge dieser Umstellung verschwindet die Abwärtskompatibilität zum längst veralteten Qt 3 endgültig aus dem Kern.

Den Quellcode für die Vorabversionen von Linux 4.4 gibt es wie gewohnt auf Kernel.org [5], die fertige Version dürfte Anfang Januar 2016 erscheinen.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 2 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
LINUX-MAGAZIN KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Readly Logo
E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben