Résoudre le problème d'écran noir avec un dock DisplayLink sous Fedora
Après une mise à jour système sous Fedora Workstation, il arrive que l'affichage sur un écran externe branché via une station d'accueil USB-C ne fonctionne plus du tout. Pourtant, les autres périphériques connectés au dock (clavier, souris, réseau RJ45) continuent de fonctionner normalement. L'écran n'est tout simplement plus détecté dans les paramètres d'affichage de GNOME.
Ce problème survient généralement avec les stations d'accueil utilisant la technologie DisplayLink (comme certains docks Belkin, Dell ou ThinkPad).
Origine du problème
Contrairement aux hubs USB-C classiques qui utilisent le mode alternatif DisplayPort (DP Alt Mode) natif de la carte graphique, les stations d'accueil DisplayLink convertissent le signal vidéo en paquets de données USB.
Pour fonctionner sous Linux, elles nécessitent :
- Un module noyau tiers nommé EVDI (géré via
DKMS). - Un service système propriétaire :
displaylink.service.
Lorsqu'une mise à jour de Fedora installe un nouveau noyau, le module EVDI doit être recompilé. Si les paquets de développement du noyau (kernel-devel) ne sont pas parfaitement synchronisés avec le noyau actif, la compilation échoue silencieusement, le service ne peut plus démarrer, et l'affichage vidéo est coupé.
On peut identifier ce type de dock dans les logs du noyau (dmesg) via ces lignes :
Procédure de résolution
Pour corriger la situation, il faut aligner les paquets de développement avec le dernier noyau stable, recompiler le module et réactiver le service.
Étape 1 — Aligner le noyau et les outils de développement
Il est indispensable que le noyau actif et ses en-têtes de développement partagent strictement la même version. On force la mise à jour globale des paquets requis :
Une fois la mise à jour terminée, redémarrer pour basculer sur le nouveau noyau :
Étape 2 — Ajouter le dépôt communautaire (si pas déjà fait)
Le pilote est disponible via le dépôt Negativo17, adapté aux versions récentes de Fedora utilisant DNF5 :
sudo dnf config-manager addrepo --from-repofile=https://negativo17.org/repos/fedora-multimedia.repo
sudo dnf install displaylink dkms-evdi
Étape 3 — Forcer la compilation du module EVDI via DKMS
Une fois démarré sur le bon noyau avec les bons outils installés, on demande à DKMS de compiler manuellement le pilote :
Si l'alignement des versions effectué à l'étape 1 est correct, la commande s'exécute en quelques secondes sans erreur.
Étape 4 — Activer et démarrer le service système
Il ne reste plus qu'à relancer le démon DisplayLink pour qu'il prenne en charge le flux vidéo :
Conclusion et bonne pratique
Désormais, à chaque reconnexion du câble USB-C, le gestionnaire d'affichage de GNOME (sous Wayland) devrait détecter l'écran instantanément.
À retenir pour les prochaines mises à jour
À chaque mise à jour majeure du noyau Linux via dnf, le mécanisme DKMS est censé recompiler le module en arrière-plan. Si l'écran disparaît à nouveau après un update, vérifier en priorité :
Et s'assurer que kernel-devel est bien à jour avec dnf upgrade kernel-devel.
