Linux 5.0 ist da: Geschwindigkeit zurückerobern und moderner speichern
Seite 5: Viele neue Treiber, endlich Support für big.LITTLE im Prozess-Scheduler
Viele neue Treiber
Die Entwickler haben ferner den Hardware-Support wieder signifikant erweitert, denn sie haben Dutzende neuer Treiber integriert und Hunderte existierende verbessert. Alles aufzulisten würde den Rahmen sprengen, daher folgen nur einige Beispiele.
Der neue Kernel unterstützt etwa die Touch-Funktion des 7-Zoll-Touch-Displays für den Raspberry Pi, das raspberrypi.org vertreibt. Neu dabei ist auch ein Treiber für das Cougar 700K Gaming Keyboard. Ferner haben die Entwickler den Support für Mäuse mit hochauflösendem Scrollrad verbessert, die unter anderem Logitech vertreibt (u. a. 1, 2, 3, 4). Das klingt nach einer simplen Änderung, hat aber viel Forschungsarbeit erfordert, wie ein Blog-Eintrag des Entwicklers Peter Hutterer zeigt; dort erwähnt er auch, dass das Feature bei einigen neueren Mäusen von Microsoft vermutlich nicht unterstützt wird.
Die neue Kernelversion kann bereits die Temperatur der zweiten Generation von AMDs Zen-Prozessorkernen auslesen. Linux 5.0 unterstützt zudem die Audio-Einheit einiger neuer Ryzen-G-Prozessoren besser und weiß weitere Varianten der VEGA-Grafikchipfamilie von AMD anzusprechen. Der Amdgpu-Treiber beherrscht nun auch Adaptive Backlight Management (ABM), das den Stromverbrauch mancher Displays senken kann. Die neue Linux-Version bringt ferner Basis-Support für GPUs aus Nvidias Turing-Reihe, die bei der GeForce-RTX-2000-Serie zum Einsatz kommt (1, 2, 3, 4).
Neu dabei ist auch ein Treiber für einen AQtion 2.5/5-Gbit-USB-Ethernet-Adapter von Aquantia. Der Thunderbolt-Treiber beherrscht jetzt die von neueren Systemen vielfach verwendete Konfiguration, bei dem der Anwender sich nicht mit der Frage herum plagen muss, inwieweit er angesteckten Geräten vertraut. Das ist möglich, weil solche Systeme den Speicherbereich des Controllers mit einer IOMMU (Input/Output Memory Management Unit) isolieren; Thunderbolt-Geräte können dadurch nur noch auf den ihnen zugewiesenen Bereich des Arbeitsspeichers zugreifen und nicht mehr den gesamten RAM per DMA einsehen.
Eine Reihe anderer signifikant verbesserter oder neuerer Treiber nennen die Git-Merge-Kommentare der Subsysteme Bluetooth, Char, DRM Human Interface Devices (HID), Input, Hardware Monitoring, Media (1, 2), RDMA, Sound, USB und x86 Platform drivers. Auch das ist übrigens nur die Spitze des Eisbergs, denn es gibt noch einige Dutzend weniger geläufiger Subsysteme, bei denen die Entwickler die Hardware-Unterstützung verbessert haben.
Entfernt haben die Kernelmacher indes den ISDN-Treiber "Eicon", der stark wartungsbedürftig war, weil sich seit langem niemand mehr um ihn gekümmert hat.
Endlich Support für big.LITTLE im Prozess-Scheduler
Das neue Energy Aware Scheduling (EAS) soll helfen, den Energieverbrauch bei Prozessoren mit ARMs big.LITTLE zu senken, in denen CPU-Kerne mit unterschiedlichem Leistungspotenzial und Energiehunger stecken (1, 2, 3, 4, 5). Durch EAS kann der Scheduler bekanntermaßen simple und kurzlebige Prozesse mit schwachen und dadurch sparsamen Kernen ausführen, während er rechenintensive gleich stärkeren zuteilt, die mehr Strom fordern.
Ohne eine Lösung wie EAS verbrauchen solche SoCs mehr Strom als nötig und spielen zugleich ihr Performance-Potenzial nicht aus. Mit solchen SoCs bestückte Android-Geräte bringen daher meist einen der vielen Vorläufer von EAS mit, die in den vergangenen sieben Jahren entstanden. Keiner davon konnte allerdings die Ansprüche der Entwickler des Prozess-Schedulers erfüllen. EAS hat das jetzt geschafft – ist aber auch bewusst simpel gehalten, daher bietet es noch viel Raum für Verbesserungen, an denen bereits gearbeitet wird.
Daten und Zahlen zu den jüngsten Versionen des Linux-Kernels
Kernel- Version |
Anzahl Dateien¹ |
Zeilen Quelltext (Ohne Doku)² |
Entwick- lungs- zeitraum |
Commits (Ohne Merges)³ |
Diffstat⁴ |
Linux 4.14 | 61.290 |
25.041.284 (23.050.486) |
70 Tage |
14.659 (13.452) |
23.388 files changed, 719.862 insertions(+), 445.585 deletions(-) |
Linux 4.15 | 62.303 |
25.364.802 (23.329.451) |
77 Tage |
16.223 (14.866) |
13.265 files changed, 643.912 insertions(+), 320.289 deletions(-) |
Linux 4.16 | 62.915 |
25.558.805 (23.495.643) |
63 Tage |
14.896 (13.630) |
12.239 files changed, 1.133.069 insertions(+), 939.066 deletions(-) |
Linux 4.17 | 61.362 |
25.379.564 (23.314.368) |
63 Tage |
14.745 (13.541) |
14.504 files changed, 777.301 insertions(+), 956.941 deletions(-) |
Linux 4.18 | 61.003 |
25.280.872 (23.183.236) |
70 Tage |
14.432 (13.283) |
13.141 files changed, 583.336 insertions(+), 682.028 deletions(-) |
Linux 4.19 | 61.734 |
25.588.455 (23.449.221) |
70 Tage |
15.204 (14.043) |
11,693 files changed, 552.223 insertions(+), 244.235 deletions(-) |
Linux 4.20 | 62.481 |
25.955.520 (23.776.585) |
63 Tage |
14.995 (13.844) |
11.402 files changed, 685.027 insertions(+), 317.959 deletions(-) |
Linux 5.0 | 63.135 |
26.203.035 (23.933.016) |
70 Tage |
13.921 (12.808) |
12.100 files changed, 579.084 insertions(+), 331.570 deletions(-) |
¹ git ls-tree -r --name-only HEAD | wc -l ² find . -type f -not -regex '\./\.git/.*' | xargs cat | wc -l; echo "($(find . -name *.[hcS] -not -regex '\./\.git/.*' | xargs cat | wc -l))" ³ git-log --pretty=oneline vx.(y-1)..vx.(y) | wc -l; echo "($(git-log --pretty=oneline --no-merges vx.(y-1)..vx.(y) | wc -l))" ⁴ git diff --shortstat vx.(y-1)..vx.(y) |
Den neuen Linux-Kernel herunterladen und einrichten
Die neue Linux-Version steht wie gewohnt über Kernel.org zum Download bereit. Auf Kernel.org finden Sie auch eine Anleitung, wie Sie die Quellen auf Authentizität und Unversehrtheit prüfen.
Hinweise zur Einrichtung eines eigenen Kernels finden Sie im Artikel "Linux-Kernel maßgeschneidert". Das darin beschriebene Make-Target make localmodconfig
erzeugt weitgehend automatisch eine recht gut auf Ihr System zugeschnittene Kernel-Konfiguration, mit der Sie in wenigen Minuten eine neue Linux-Version einrichten können.
Fedora und Rolling-Release-Distributionen wie Arch Linux, Gentoo und OpenSuse Tumbleweed dürften die neue Linux-Version in den nächsten Wochen im Rahmen der regulären Systemaktualisierung erhalten. Bei bereits erhältlichen Releases von Debian, OpenSuse Leap, Ubuntu und vielen anderen klassisch gewarteten Distributionen macht der Kernel normalerweise keine größeren Versionssprünge; deutlich neuere Kernel erhält man dort meist erst beim Wechsel auf eine neuere Version der Distribution.
Versionshistorie dieses Artikels
- 2019-03-04, 06:25 – v1.1: Anlässlich der Freigabe von Linux 4.20 einen Kurzüberblick der wichtigsten Neuerungen am Anfang hinzugefügt.
- 2019-02-20, 06:00 – v1.0: Erste Version.
Der Newsticker von heise online erwähnt alle größeren Texterweiterungen, auf die auch der Twitter-Account @kernellog hinweist.
(thl)