Die Neuerungen von Linux 3.4
Einen ganzen Schwung größerer Änderungen gab es bei den Treibern für AMD-, Intel- und Nvidia-Grafik. Das neue x32-ABI will die Vorteile von x86-64-CPUs nutzen, aber den Overhead von 64-Bit-Code vermeiden. Btrfs soll flotter arbeiten und Yama verhindern, dass ein Prozess einem anderen in den Speicher schaut.
- Thorsten Leemhuis
Lediglich zwei Monate haben die Kernel-Entwickler zur Fertigstellung der jetzt veröffentlichten Version 3.4 benötigt. Neuerungen bringt sie aber dennoch im gewohnten Umfang; sie sind für Administratoren von Rechnerparks genauso von Bedeutung wie für Anwender, die Linux auf Desktop-PCs oder Notebooks einsetzen.
Grafiktreiber
Im Detail
Bereits in den vergangenen Wochen hat das Kernel-Log in der Serie "Was Linux 3.4 bringt" detailliert ĂĽber die Neuerungen von Linux 3.4 berichtet:
Der nebenstehende Text fasst die wichtigsten Neuerungen in Linux 3.4 zusammen und gibt einen Ausblick auf den Kernel 3.5.
Nur wenige Stunden nachdem Nvidia mit der Vorstellung der GeForce GTX 680 den Generationswechsel auf die Kepler-Architektur einläutete, erweiterten die Kernel-Entwickler den Kernel-Treiber Nouveau um rudimentäre Unterstützung für diese Grafikkarte. Zunächst unterstützte der DRM-Treiber nur das Einstellen der Bildschirmauflösung (Modesetting). Nachdem auch die Entwicklerversionen der Nouveau-Treiber von Mesa 3D und X.org Unterstützung für die Karte erhielten, rüsteten einige Patches für den Kernel-Treiber die Fähigkeit nach, Beschleunigungsfunktionen der Karte über den Direct Rendering Manager (DRM) nutzen.
Damit sind im Prinzip alle Bausteine zusammen, um aktuelle Nvidia-Grafikarten unter Linux zu nutzen. Es dürften allerdings noch einige Monate vergehen, bis den größeren Linux-Distributionen alles für die GTX 680 benötigte von Haus aus beiliegt – so fehlt es derzeit unter anderem noch an einer freien Firmware.
Der Radeon-DRM-Treiber des Kernels 3.4 unterstützt die Grafikkerne der Familien "Southern Islands" (SI) und "Trinity" (TN) (u. .a 1, 2, 3, 4). Zur Southern-Islands-Generation zählen die Grafikchips Tahiti, Pitcairn und Verde, die auf den Mittelklasse- und High-End-Karten der Radeon-HD-Serien 7700, 7800 und 7900 sitzen. Ein Gallium3D-Treiber für Mesa 3D, der mit dem DRM-Treiber im Kernel zusammenarbeitet, befindet sich allerdings noch in Entwicklung.
Trinity ist der Codename für eine mit Grafikkern ausgestattete Reihe von Prozessoren, die AMD Mitte Mai vorgestellt hat; sie beerben die Llano-Prozessoren aus AMDs Serie A, die vornehmlich in PCs und Notebooks der unteren und mittleren Preisklassen eingesetzt werden. Unterstützung für die Trinity-GPU ist schon in den Treibern von Mesa 3D und X.org enthalten und dürfte vermutlich bald in den Linux-Distributionen auftauchen. Mit dem um Trinity-Unterstützung erweiterten Radeon-Kernel-Treiber im Kernel 3.4 sollte Trinity-Grafik daher jetzt unter Linux funktionieren.
Die Intel-Entwickler haben einen Patch eingebracht, durch den Linux 3.4 die Grafikkern-Stromspartechnik RC6 bei Intels Sandy-Bridge-Prozessoren mit GPU standardmäßig verwendet. Da die Technik die Leerlauf-Leistungsaufnahme typischerweise um drei bis fünf Watt senkt, kann die Änderung die Akku-Laufzeit von Notebooks spürbar verlängern und die Geräuschentwicklung merklich senken.
Zum Kernel stieĂź ferner der einfache DRM-Treiber "udl", der das DisplayLink-Protokoll spricht, das bei der Ansteuerung von Monitoren via USB zum Einsatz kommt. Aufgenommen wurde auch das das Framework Prime/Dma-Buf, ĂĽber das Grafikkerne ohne viel Overhead Daten austauschen sollen. Langfristig soll das die UnterstĂĽtzung fĂĽr im Betrieb zuschaltbare Grafikchips verbessern, damit in Systemen mit Hybrid-Grafik der schnelle AMD- oder Nvidia-Chip die von ihm berechneten Bilder ohne viel Aufwand zur Ausgabe auf den Monitor an die Prozessorgrafik ĂĽbergeben kann. Bislang nutzt allerdings noch kein Treiber die neue Infrastruktur.
Architektur & Infrastruktur
Für x86-64/x64-Prozessoren übersetzte Kernel bieten Programmen ab Linux 3.4 das neue x32-ABI (u. a. 1). Dafür kompilierte Programme haben Zugriff auf die die 64-Bit-Register und -Datenpfade der 64-Bit-Prozessoren, arbeiten aber nur mit 32-Bit-Pointern – die reichen für viele typische Aufgabenstellungen aus und belegen weniger Arbeitsspeicher als 64-Bit-Pointer. Grob gesprochen vermeidet das x32-ABI so den Overhead, den ein voller 64-Bit-Betrieb mit sich bringt, macht aber dennoch einige wichtige Vorteile von 64-Bit-x86-Prozessoren nutzbar.
Das neue ABI, das vor allem von Intel-Entwicklern vorangetrieben wurde, ist offenbar vornehmlich für den Embedded- und Mobil-Markt gedacht: Die dort eingesetzten Programme dürften problemlos mit 4 GByte Speicher und damit mit 32-Bit-Pointern auskommen, sodass sich der höhere Speicherverbrauch eines vollwertigen 64-Bit-Betriebs nicht lohnt.
Das neu aufgenommene Security-Modul Yama kann Prozessen verbieten, über den Funktionsaufruf Ptrace (Process Trace) den Speicher anderer Prozesse zu untersuchen; SELinux beherrscht seit Kurzem eine ähnliche Funktion.