Die Neuerungen von Linux 4.5

Einige aktuelle Radeon-Grafikkarten können mit dem neuen Linux-Kernel deutlich mehr 3D-Performance liefern. Die neue Version unterstützt den Raspberry Pi besser und schützt vor Hardware-Defekten durch unbedachte Löschbefehle. Eine ganze Latte neuer und weiterentwickelter Treiber verbessert die Hardware-Unterstützung.

In Pocket speichern vorlesen Druckansicht 35 Kommentare lesen
Die Neuerungen von Linux 4.5
Lesezeit: 18 Min.
Von
  • Thorsten Leemhuis
Inhaltsverzeichnis

Linus Torvalds hat Linux 4.5 veröffentlicht. Diese Kernel-Version kann den Radeon-R9-Grafikkarten 285, 380, Nano und Fury deutlich mehr 3D-Performance entlocken. Das ist der Unterstützung für AMDs "PowerPlay"-Technik zu verdanken, denn durch sie kann der Amdgpu-Treiber diese Grafikkarten nun in schnelle oder sparsame Betriebsmodi schalten (u. a. 1, 2, 3, 4, 5, 6, 7).

Bislang können diese und anderen Grafikkarten mit "Volcanic Islands"-GPUs ihr Leistungspotenzial nicht ausspielen, weil sie mit einem niedrigen bis mittleren Standardtakt laufen, den die Firmware beim Booten setzt. Das wird aber auch bei 4.5 standardmäßig so bleiben, denn der PowerPlay-Support ist noch nicht ausgereift und daher in der Voreinstellung lahmgelegt. Sie müssen ihn daher beim Bau des Kernels über die Option CONFIG_DRM_AMD_POWERPLAY aktivieren und im Betrieb explizit freigeben, indem Sie den Kernel mit dem Parameter amdgpu.powerplay=1 starten. Die PowerPlay-Unterstützung soll so erste Feldtests absolvieren, bevor der Kernel sie dann irgendwann automatisch aktiviert. [Update, 14.03.16, 16:30]Der Boot-Parameter ist nur bei den Carzzizo- und Stoney-Prozessoren von AMD nötig; bei den Tonga- und Fiji-Chips, die auf den eingangs erwähnten Grafikkarten sitzen, aktiviert der Treiber die PowerPlay-Unterstützung automatisch.[/Update]

Zusammen mit aktuellen Mesa-Versionen lässt sich jetzt die 3D-Beschleunigung der Grafikprozessoren in den verschiedenen Ausführungen des Raspberry Pi nutzen. Das ist der 3D-Unterstützung im Kernel-Grafiktreiber vc4 zu verdanken, der zu den großen Neuerungen von Linux 4.4 zählte. Einen OpenGL-Treiber namens vc4 zur Verwendung der 3D-Beschleunigung bringt Mesa ab der Version 11.1 mit. In aktuellen Versionen der Linux-Distribution Raspbian lässt sich der neue Grafikstack bereits testen. Die bislang auf dem Raspi eingesetzten Grafiktreiber haben die meisten Aufgaben an einen Grafiktreiber in der proprietären Firmware weitergereicht.

Linux 4.5 soll zudem alles mitbringen, um auf dem Raspberry Pi 2 starten zu können (u.a. 1, 2 3, 4). Der Out-of-the-Box-Support für den beliebten Kleinstcomputer soll aber noch nicht richtig rund laufen – Besserung ist für 4.6 versprochen. Mindestens bis dahin fährt man daher besser mit den Linux-Quellen der Raspberry Pi Foundation, die einige Hardware-spezifische Änderungen am Linux-Code enthalten.

Linux 4.5 schützt einige Dateien mit Efi-Variablen vor unachtsamen Entfernen, um Hardware-Defekte beim Löschen aller Dateien mit rm -rf / zu verhindern. Dieses Kommando kann bislang einige per UEFI bootende PCs und Notebooks zum Reparaturfall machen, weil es alle im nichtflüchtigen Speicher (NVRAM) des Mainboards abgelegten EFI-Variablen löscht. Eine Firmware sollte solche Situationen eigentlich handhaben können; manche schafft das allerdings nicht und kann das System dann nicht mehr starten.

Dem Kernel-Entwickler Matthew Garrett zufolge lässt sich das Problem auch unter Windows auslösen, wo man alle UEFI-Variablen mit lediglich zwanzig Zeilen Code entfernen könne. Unter Linux passiert das beim erwähnten rm -rf /, weil der Befehl bis in /sys/firmware/efi/efivars/ vordringt; dort hängen Linux-Distributionen das virtuelle Dateisystem Efivarfs ein, über das der Root-Anwender EFI-Variablen anlegen, modifizieren oder löschen kann. Linux 4.5 erschwert Letzteres, denn es verleiht Dateien mit unbekannten EFI-Variablen das Attribut "Immutable", damit sie das rm -rf / unangetastet lässt.

Diesen Befehl sollte man aber auch in Zukunft besser nie absetzen, denn er kann nach wie vor die Boot-Einträge und -Loader aller installierten Betriebssysteme entfernen. Weitere Details hierzu liefert die heise open-Meldung 'Linux: "rm -rf /" soll keine UEFI-Systeme mehr kaputt machen'.

Durch Änderungen am TCP-Code können Anwendungen jetzt zeitnah auf einen Wechsel der Internet-Anbindung reagieren. Dadurch sollen beispielsweise Notebooks oder Smartphones einen Video-Stream ungestört wiedergegeben können, wenn sie die Reichweite des WLANs verlassen und auf eine Mobilfunk-Datenverbindung umschalten.

Bislang bemerkten Anwendungen einen Wechsel der Internet-Anbindung manchmal erst nach Minuten, wenn die bestehenden TCP-Verbindungen in einen Timeout laufen. Das können Admins und Programme wie der NetworkManager mit der neuen Infrastruktur jetzt vermeiden, denn über die neue SOCK_DESTROY-Operation können sie den Kernel jetzt zum Schließen aller offenen TCP-Sockets auffordern (1, 2, 3). Der Kernel beendet diese mit dem Fehlercode ECONNABORTED; Video-Streaming-Anwendungen erfahren so vom Abschuss und können im Idealfall eine neue Verbindung aufbauen, bevor ihr Puffer leer läuft.

Die Idee ist nicht neu, der Fehlercode stammt von FreeBSD. Zudem bietet der Android-Kernel schon länger eine solche Abschussfunktion. Deren Entwickler haben den Code jetzt so verbessert, dass die Kernel-Entwickler ihn akzeptabel fanden. Weitere Details zum Ganzen liefert ein Artikel bei LWN.net.