DisplayLink unter Debian 13 – upgradesichere Einrichtung (Targus QV4K) DisplayLink unter Debian 13 – upgradesichere Einrichtung (Targus QV4K) Anleitung für Debian 13 (Trixie), GNOME, Intel-Grafik und DisplayLink-Docks wie die Targus USB-C Universal Quad 4K (QV4K, DOCK570USZ). Grundlage ist ein angepasster Fork des Projekts displaylink-debian, der Kernel-Upgrades abgesichert. Verifizierter Produktivstand (28. Oktober 2026) Debian GNU/Linux 13 (Trixie), GNOME/Wayland, Intel iGPU Targus QV4K / DOCK570USZ (Dual DisplayLink DL-6910) laufender Debian-Stable-Kernel: 6.12.113+deb13-amd64 aus trixie-security displaylink-driver 6.4.0-22, EVDI 1.15.1-197 Secure Boot aktiv; DKMS-Schlüssel erfolgreich per MOK eingeschrieben Guard nach apt upgrade automatisch und erfolgreich ausgeführt: [displaylink-evdi-guard] EVDI 1.15.1 ready for 6.12.113+deb13-amd64 Linux Mainline liegt zu diesem Zeitpunkt bei 7.x. Debian 13 Stable verwendet bewusst den 6.12-LTS-Zweig und liefert Sicherheitskorrekturen als neue 6.12.x-Pakete. Die niedrigere Hauptversion bedeutet daher nicht, dass das System ungepatcht ist. Der Guard ist versionsagnostisch und prüft auch künftige 7.x-Kernel, sofern die installierte EVDI-Version den jeweiligen Kernel unterstützt. Bei Inkompatibilität schlägt die apt-Transaktion sichtbar fehl und warnt vor dem Reboot. Secure-Boot-Prüfung mokutil --sb-state modinfo -k "$(uname -r)" -F signer evdi lsmod | grep evdi systemctl is-active displaylink-driver.service Erwartet: Secure Boot enabled, ein nicht leerer EVDI-Signer, geladenes evdi und ein aktiver DisplayLink-Dienst. Das beim mokutil --import gesetzte Passwort wird nur einmal im MOK-Manager benötigt; spätere DKMS-Builds verwenden denselben eingeschriebenen Schlüssel. Hintergrund DisplayLink-Docks (z. B. QV4K mit zwei DL-6910-Chips) benötigen den Open-Source-Kerneltreiber EVDI plus den proprietären DisplayLinkManager. EVDI wird per DKMS für jede Kernel-Version gebaut. Installiert apt upgrade ein neues linux-image, aber keine passenden linux-headers, scheitert der DKMS-Bau: Nach dem Neustart bleiben die Dock-Monitore schwarz, und jede weitere apt-Transaktion stolpert über den kaputten DKMS-Zustand. Eine erneute DisplayLink-Installation "repariert" das nur scheinbar, weil sie die Headers des dann laufenden Kernels nachzieht. Distribution displaylink-debian unterstützt Debian versionsunabhängig (geprüft im Installer). Der CORESTREAM-Fork basiert auf Upstream master 9e396e3 und ergänzt: dauerhafte Installation des Meta-Pakets linux-headers-amd64 (Debian amd64), damit künftige Kernel-Upgrades passende Headers mitbringen; einen Kernel-Upgrade-Guard: laufender und neuester installierter Kernel werden geprüft, fehlende Headers nachinstalliert, dkms autoinstall -k ausgeführt und das fertige Modul mit modinfo -k evdi verifiziert – bei Fehler bricht das Skript mit "do not reboot" ab; einen Reparaturmodus ohne Treiber-Neuinstallation und ohne Synaptics-Netzzugriff; persistenten APT-Hook (siehe unten). Installation (einmalig) DisplayLink-Treiber zuerst normal installieren (offizieller Synaptics-Treiber oder displaylink-debian). Danach den Guard: git clone https://git.corestream.ch/corestream/displaylink-evdi-guard.git cd displaylink-evdi-guard sudo ./install.sh Der Installer stellt linux-headers-amd64 sicher, persistiert Guard + APT-Hook und validiert laufenden und neuesten installierten Kernel. Bei fehlendem EVDI-Modul bricht er mit klarer Meldung ab. Hinweis: Secure Boot erfordert entweder Deaktivierung oder MOK-Signierung (siehe docs/self-signing-modules.md). Neuere Treiberversionen bieten MOK-Enrollment während der Installation. APT-Upgrade-Integration Der erste Lauf persistiert zwei Dateien: /usr/local/sbin/displaylink-evdi-apt-guard – prüft nach jeder DPKG-Transaktion laufenden und neuesten installierten Kernel, baut EVDI bei Bedarf via dkms autoinstall -k und verifiziert mit modinfo; /etc/apt/apt.conf.d/99displaylink-evdi-guard – registriert den Guard als DPkg::Post-Invoke. Der Hook ruft selbst niemals APT auf (keine Lock-Rekursion). Schlägt der EVDI-Bau fehl, schlägt die apt-Transaktion sichtbar fehl und warnt vor dem Neustart in einen ungeprüften Kernel. Reparatur ohne Neuinstallation sudo ./displaylink-debian.sh --repair-kernel-upgrades Installiert nur linux-headers-amd64, falls fehlend, persistiert den Hook und validiert beide Kernel. Funktioniert auch per SSH ohne aktive grafische Sitzung. Verifikation nach Upgrade dkms status Erwartet (Beispiel nach Upgrade 6.12.111 → 6.12.113): evdi/1.15.1, 6.12.111+deb13-amd64, x86_64: installed evdi/1.15.1, 6.12.113+deb13-amd64, x86_64: installed Guard manuell testen: sudo /usr/local/sbin/displaylink-evdi-apt-guard Targus QV4K – Betriebshinweise 4× 4K über zwei DisplayLink-Chips: für Büro/Code/Dashboards ideal; parallel Video auf allen vier Displays ist kompressionsbedingt spürbar weicher. Möglichst einen Monitor nativ anschliessen (Laptop-HDMI oder DP-Alt-Mode-USB-C-Adapter ohne DisplayLink) – nativstes Bild und geringere CPU-Last. Pre-Boot (BIOS/GRUB/LUKS) ist über DisplayLink-Ausgänge technisch nicht darstellbar; USB-Tastatur funktioniert, weil UEFI HID nativ versteht. Für einen externen Boot-Bildschirm einen nativen Ausgang verwenden. Nach dem Entsperren übernimmt die QV4K alle vier 4K-Monitore. Repository Eigenes Projekt (frische Historie, ausschliesslich eigener Code): https://git.corestream.ch/corestream/displaylink-evdi-guard (öffentlich lesbar) Git-Stand der verifizierten Dokumentation: 2714784 Dateien: install.sh, resources/displaylink-evdi-apt-guard, resources/99displaylink-evdi-guard, tests/, LICENSE (GPLv3), NOTICE.md (Upstream-Anerkennung) Installation: git clone https://git.corestream.ch/corestream/displaylink-evdi-guard.git cd displaylink-evdi-guard sudo ./install.sh install.sh installiert linux-headers-amd64, persistiert Guard + APT-Hook und validiert laufenden und neuesten installierten Kernel. Upstream displaylink-debian (Basis der Problemanalyse, GPLv3): https://github.com/AdnanHodzic/displaylink-debian Offizieller Treiber: https://www.synaptics.com/products/displaylink-graphics/downloads/ubuntu Lizenz/Attribution: siehe NOTICE.md im Repo.