Betriebssysteme: Linux 4.2 ist für AMDs Grafikkarten optimiert

Linus Torvalds hat den Linux-Kernel in der Versionsnummer 4.2 freigegeben(öffnet im neuen Fenster) . Die Testphase war um eine Woche verlängert worden, da noch einige ausstehende Fehler korrigiert werden mussten. Statistisch gesehen hat Linux 4.2 mit die umfangreichsten Änderungen aller Kernel-Versionen erlebt. Darunter ist auch ein neuer Treiber für Grafikkarten von AMD. Außerdem lassen sich Updates für UEFIs jetzt direkt unter Linux einspielen. Nebenbei wurde auch die native Verschlüsselung von Dateisystemen erweitert.
Der Umfang des für Linux 4.2 eingereichten Codes erschien zunächst rekordverdächtig: Allein im Merge-Fenster, bei dem neuer Code für die kommende Version des Linux-Kernels eingereicht wird, erhielt Torvalds 12.092 Patches. Damit lag Linux 4.2 bereits vor der Testphase vor Linux 3.15, das bislang den Rekord für die umfangreichsten Änderungen hält.
Nur fast rekordverdächtig
Allerdings blieb die Anzahl der Verbesserungen, die während der Testphase eingereicht wurden, unter dem Durchschnitt. Darin sieht Kernel-Entwickler Johnathan Corbet einen Trend: Die während des Merge-Fensters eingereichten Patches enthalten immer weniger Fehler. Insgesamt belegt Linux 4.2 deshalb nur Platz zwei in der ewigen Statistik der arbeitsreichsten Versionssprünge, die Linux 3.15 weiterhin anführt.
Die Vorabversion des nächsten Linux-Kernels 4.2(öffnet im neuen Fenster) bricht aber dennoch einen Rekord: Erstmals besteht der Kernel aus mehr als 20 Millionen Codezeilen, doppelt so viele wie zur Veröffentlichung von Linux 2.6.27 im Oktober 2008. In den aktuellen Linux-Kernel flossen immerhin 800.000 neue Codezeilen.
Riesiger Treiberpatch für AMDs Grafikkarten
Fast die Hälfte davon gehört zu einem einzelnen Treiber: Amdgpu . Dessen Bestandteile bilden die Grundlage für künftige Grafikchips von AMD, bisher läuft er mit der Radeon-R9-Serie, bringt also die Unterstützung für die Fiji-GPU, die als Basis für Radeons R9 Fury X dient . Unterstützt würden demnach OpenGL 3.3 sowie die Videocodierung per VCE1 und die Decodierung per UVD. Die Unterstützung für VCE1 ist auch im alten Radeon-Treiber eingefügt worden. Der soll weiterhin gepflegt werden und den gleichen Funktionsumfang haben wie Amdgpu.
Amdgpu dient aber nicht nur als Basis für die freien Treiberkomponenten, sondern auch für den proprietären Catalyst-Treiber. Das soll für eine bessere Integration der Treiber sorgen, die direkt von AMD stammen. Bislang gibt es immer wieder Probleme mit der Unterstützung neuerer Versionen des Linux-Kernels. Die proprietären Bestandteile umfassen nämlich künftig lediglich den Userspace mit Implementierungen für OpenGL oder OpenCL. Die Register-Header für jeden einzelnen Block auf den Chips bilden 41 Prozent des gesamten Codes von Linux 4.2rc1. Noch haben die Entwickler bei AMD aber keine entsprechenden Änderungen in der Grafikbibliothek Mesa eingereicht. Deren nächste Version 11.0 soll im September 2015 fertig werden. Dort warten die Entwickler auch noch auf LLVM 3.7, das in wenigen Tagen erscheinen soll.
Treiber für virtuelle Grafikkarten
Mit Virtio-GPU gibt es einen weiteren neuen Grafiktreiber im Linux-Kernel. Er soll die von Red Hat entwickelte virtuelle GPU Virgil 3D(öffnet im neuen Fenster) unterstützen und so hardwarebeschleunigte 3D-Unterstützung für virtuelle Umgebungen bieten und für eine gesteigerte Grafikleistung in virtuellen Maschinen sorgen. Bislang wird allerdings nur das automatische Umschalten der Bildschirmauflösung (Kernel Modesetting) sowie höhere Bildschirmauflösungen und der Mehrfachmonitorbetrieb unterstützt. Die Qemu-Entwickler arbeiten bereits an der Unterstützung für Virgil 3D, die dann in Qemu und der Kernel Virtual Machine (KVM) einfließen soll. In KVM wurde die Unterstützung für Secure Boot verbessert.
Mehr Sicherheit und automatisierte UEFI-Updates
In Linux 4.2 wurde zudem das Atomic Modesetting eingeführt. Durch verbesserte Unterstützung moderner Grafikkarten soll der Bildschirmaufbau insgesamt unter Linux flüssiger und schneller werden, schreibt dessen Entwickler Daniel Vetter in zwei(öffnet im neuen Fenster) umfangreichen Artikeln(öffnet im neuen Fenster) bei LWN . Besonders bei der Videowiedergabe soll dadurch verhindert werden, dass beispielsweise ein Film angezeigt wird, bevor sich das entsprechende Fenster zeigt. Zudem sollen die Änderungen die Unterstützung von Grafikchips in eingebetteten Systemen verbessern. Allerdings müssen die einzelnen Treiber für die Atomic Modesettings noch angepasst werden.
Für Intel viel, für Nouveau nichts Neues
Der Treiber für Intel-basierte Hardware bietet jetzt eine erste minimale Unterstützung für das für Smartphones und Tablets gedachte SoC Broxton . Anfang Juni 2015 hatte Intel die Firmware-Blobs dafür bereitgestellt . Darüber hinaus wurde im Treiber der Code für Skylake-Chips sowie die Ausgabe über Display Ports verbessert. Neuerungen im freien Nouveau-Treiber für GPUs von Nvidia gibt es diesmal nicht. Dessen Maintainer Ben Skeggs ließ wissen(öffnet im neuen Fenster) , dass man an etwas Größerem arbeite. Für die Einreichung in Linux 4.2 sei es zu spät geworden.
Verschlüsseltes F2FS
Nachdem in Ext4 die native Verschlüsselung für Dateien auf Googles Initiative eingebaut wurde, gibt es die Funktion jetzt auch für das Dateisystem F2FS. F2FS wurde von Samsung entwickelt und kommt auf dessen mobilen Geräten unter Android zum Einsatz. Die Verschlüsselung auf Dateisystemebene soll die Zugriffe beschleunigen. Über die Schnittstelle DAX (Direct Access) kann das Dateisystem XFS jetzt direkt auf nichtflüchtigen Speicher zugreifen. Dax wurde zunächst unter dem Namen XIP für Ext4 entwickelt(öffnet im neuen Fenster) und dann unter dem Namen Dax für die Unterstützung anderer Dateisysteme erweitert.
Mehr Effizienz bei Schreibvorgängen
Der Device-Mapper kann künftig SSDs als Zwischenspeicher nutzen und so langsamere Datenträger entlasten. Die unter dem Namen Stochastic Multiqueue (SMQ) eingeführte Funktion soll zudem weniger Arbeitsspeicher benötigen und sich insgesamt besser automatisch an die verschieden eingesetzten Datenträger in einem System anpassen als das bislang verwendete Multiqueue (MQ).
Ebenfalls weniger Speicherverbrauch und Datenträgerzugriffe versprechen die Umbauten am Writeback-Cache des Linux-Kernels. Besonders bei der Verwendung der Control-Groups (Cgroups) sollen die Verbesserungen virtuellen Maschinen und Containern zugutekommen. Sie lassen sich künftig über die Cgroups individuell ansprechen. Bei übermäßiger Belastung einer einzelnen virtuellen Maschine blieben andere davon unversehrt.
Das Netzwerkdateisystem CIFS unterstützt jetzt experimentell 3.1.1 des SMB-Protokolls von Microsoft. Dabei wird vor allem das Kopieren von Dateien auf dem Server beschleunigt. Sie werden dort direkt kopiert und müssen nicht zunächst den zeitraubenden Weg über den Client nehmen.
Parallel genutzte Sicherheitsmodule
Künftig lässt sich im Linux Security Modul (LSM) nicht nur ein Sicherheitsframework nutzen, sondern gleich mehrere. Dazu gehören SELinux, Smack, Tomoyo und Apparmor. Bislang konnte das nur mit Yama umgesetzt werden. Dessen Ansatz galt aber als ineffizient, deshalb wurde das sogenannte Stacking mehrerer LSM entwickelt(öffnet im neuen Fenster) . Das Stacking-Modul bietet eine einheitlichere Schnittstelle zu anderen LSMs.
Das Netzwerk-Subsystem erhielt einen Treiber für das virtuelle Netzwerkprotokoll Geneve ( Generic Network Virtualization Encapsulation(öffnet im neuen Fenster) ). Auf Geneve hatten sich unter anderem VMware und Microsoft geeinigt. Damit soll die Netzwerkkommunikation zwischen diverser Hard- und Software in virtualisierten Umgebungen standardisiert werden.
Linux erleichtert UEFI-Firmware-Updates
Die Firmware von UEFIs lässt sich künftig direkt über Linux aktualisieren. Linux 4.2 unterstützt dafür den im UEFI-Standard 2.5 neu eingeführten EFI System Resource Table (ESRT). Noch unterstützen aber nur wenige Mainboards diese neue Technik. Unter Fedora 23 soll die Funktion aber bereits unterstützt werden. Verantwortlich für das Einspielen von Firmware-Updates soll die Softwareverwaltung von Gnome sein. Unter dem Webdienst Linux Vendor Firmware Service (LVFS) sollen Hersteller dann ihre Updates einreichen können. Von dort holt sich die Softwareaktualisierung die Updates ab und hinterlegt sie in der Firmware eines Mainboards. Beim einem Neustart des Systems werden sie dann eingespielt.
Der Quellcode von Linux 4.2 steht unter Kernel.org(öffnet im neuen Fenster) zum Download bereit.



