1 🔧 DKMS (Dynamic Kernel Module Support – Der automatische Treiber-Brückenbauer)
1.1 1.1 🔬 DIE FUNKTIONSWEISE: WARUM BRAUCHEN WIR DKMS?
Ein Linux-Kernel ist monolithisch. Das bedeutet, fast alle Treiber (für AMD/Intel-Grafik, USB-Anschlüsse, Tastaturen etc.) sind bereits fest in den Kernel eingebaut.
Es gibt jedoch Treiber, die aus rechtlichen Gründen (z. B. proprietärer NVIDIA-Code) oder weil die Hardware brandneu ist, nicht im offiziellen Kernel enthalten sind. Diese nennt man Out-of-Tree-Treiber.
1.1.1 Das Problem ohne DKMS:
Ein Treiber ist wie ein Maßanzug, der exakt auf die interne Struktur einer bestimmten Kernel-Version (z. B. 6.8.0-1-amd64) zugeschnitten ist. Aktualisiert dein Paketmanager das System auf Version 6.10.0-1-amd64, passt der Anzug nicht mehr. Das System bootet, aber die Grafik bleibt schwarz oder das WLAN ist weg.
1.1.2 Die Lösung mit DKMS:
DKMS speichert nicht den fertig kompilierten Treiber, sondern dessen Quellcode (Source Code) im System. Jedes Mal, wenn ein neuer Kernel installiert wird, springt DKMS an und führt vollautomatisch folgende Schritte aus:
- Es erkennt den neuen Kernel.
- Es kompiliert (baut) den Treiber-Quellcode exakt passend für diesen neuen Kernel.
- Es installiert das fertige Modul in den neuen Kernel-Ordner.
1.2 1.2 🛠️ DIE NATIVE INSTALLATION (DIE FANTASTISCHEN VIER)
Da DKMS tief in den Update-Prozess des Systems eingreift, wird es ausnahmslos nativ installiert. Es ist ein reines Hintergrund-Werkzeug ohne grafische Oberfläche.
Hinweis: Bevor man Treiber wie nvidia-dkms oder einen Custom-Kernel (XanMod/Liquorix) installiert, sollte DKMS immer schon auf dem System vorhanden sein.
1. Debian / Ubuntu / Linux Mint / Pop!_OS:
Zusammen mit DKMS sollten auch immer die grundlegenden Build-Werkzeuge installiert werden:
3. Fedora:
4. openSUSE (Tumbleweed / Leap):
1.3 1.3 ⚠️ DIE KLASSISCHEN STOLPERSTEINE
1.3.1 „DKMS meldet beim Update einen Fehler: 'An error occurred during the build of this module. Missing kernel-headers!'“
Hintergrund:
Damit DKMS einen Treiber für einen Kernel bauen kann, benötigt es die „Bauanleitung“ dieses Kernels. Diese Bauanleitung steckt im Paket der sogenannten Kernel-Headers. Fehlen diese, ist DKMS absolut blind und kann nichts kompilieren.
Lösung:
Die passenden Header-Dateien für den aktuell laufenden Kernel müssen nachinstalliert werden.
Unter Debian / Ubuntu / Mint:
Unter Arch Linux:
(Nutzt der User den linux-zen Kernel, lautet der Befehl entsprechend sudo pacman -S linux-zen-headers).
1.3.2 „Wie kann ich prüfen, ob die DKMS-Treiber überhaupt richtig gebaut wurden?“
Lösung:
Mit folgendem Befehl lässt sich der Status aller installierten DKMS-Module blitzschnell abfragen:
Ein fehlerfreies Ergebnis sieht so aus:
(Das installed am Ende zeigt, dass der Treiber erfolgreich für diesen Kernel gebaut und einsatzbereit ist. Steht dort error oder added, ist beim Kompilieren etwas schiefgegangen).
1.4 1.4 💡 INTERNER VERGLEICH: STANDARD-TREIBER VS. DKMS-TREIBER
- nvidia (Standard-Paket):
Wird von den Distributionen vorkompiliert ausgeliefert. Es funktioniert nur mit dem exakten Standard-Kernel der Distribution. Es spart zwar CPU-Zeit beim Update, bricht aber sofort, wenn man einen Custom-Kernel nutzt. - nvidia-dkms (DKMS-Paket):
Baut sich bei jedem Kernel-Update selbst. Es ist völlig egal, ob der User den Standard-Kernel, Liquorix, XanMod oder Zen nutzt – DKMS passt den Treiber immer automatisch an.
1.5 1.5 💡 FAZIT
DKMS ist die unsichtbare Lebensversicherung für alle Linux-Nutzer, die auf proprietäre oder externe Treiber angewiesen sind. Es nimmt dem Anwender die lästige Pflicht ab, nach jedem Kernel-Update Treiber manuell im Terminal neu zu kompilieren, und sorgt für einen reibungslosen, stabilen Desktop-Alltag.