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.
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 <Kernel>ausgeführt und das fertige Modul mitmodinfo -k <Kernel> evdiverifiziert – 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)
git clone https://git.corestream.ch/corestream/displaylink-debian.git
cd displaylink-debian
sudo ./displaylink-debian.sh --install
Das Skript lädt den offiziellen Synaptics-Treiber, baut EVDI via DKMS und führt abschliessend den Kernel-Upgrade-Guard aus. Installationsabbruch mit klarer Meldung, falls der nächste Kernel kein EVDI-Modul hätte.
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 viadkms autoinstall -k <Kernel>und verifiziert mitmodinfo;/etc/apt/apt.conf.d/99displaylink-evdi-guard– registriert den Guard alsDPkg::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
- Intern (öffentlich lesbar):
https://git.corestream.ch/corestream/displaylink-debian - Raw-Download (commit-gepinnt):
curl -fsSL 'https://git.corestream.ch/corestream/displaylink-debian/~raw/58e9653/824227e/displaylink-debian.sh' -o displaylink-debian.sh
- Upstream: https://github.com/AdnanHodzic/displaylink-debian
- Tests im Repo:
tests/test-debian-kernel-upgrade-guard.sh,tests/test-apt-upgrade-hook.sh,tests/test-apt-guard-simulated-upgrade.sh