Forum Linux.général écran OK sur port natif mais pas/mal reconnu sur dock+Display Port

Posté par  (Mastodon) . Licence CC By‑SA.
Étiquettes :
2
31
juil.
2021

Sommaire

Contexte

J’utilise un ThinkPad X220 avec deux écrans externes, connectés via son Ultrabase (un dock avec DisplayPort et VGA). Dans ce mode dock, je n’utilise pas l’écran interne du portable qui est désactivé. J’ai donc :

  • Un 1920x1080, connecté via le VGA du dock du X220.
  • Un 2560x1440, sur le DisplayPort du dock du X220.

Le plus petit écran (bordure orange, sur la capture) est orienté en mode portrait pour afficher des PDF ou du texte, tandis que l’autre (bleu) est en mode paysage traditionnel. Tout marche impec sur une Debian 11 (Bullseye) ainsi qu’une Manjaro :

Deux écrans

Mon souci, c’est avec un autre ordi que j’ai récemment récupéré pour un bon prix : un Thinkpad X1 de 3e génération qui m’a été fourni avec son propre dock, un ‘Lenovo ThinkPad OneLink Pro Dock’, Ce dock dispose d’un port DVI + un DisplayPort.

Comme cet ordi est plus récent que le X220, j’ai voulu tester mon setup et voir si je pouvais l’utiliser, en branchant :

  • L’écran 1080 en DVI, sur le dock.
  • L’écran 1440 en DisplayPort, sur le dock

Deux cas se présentent en alternance :

  • Les écrans s’allument durant le boot mais s’éteignent dès que j’arrive sur Linux (login auto). impossible de les récupérer (via l’utilitaire Display de Xfce, ou via aRandr).
  • (moins fréquent) J’arrive à allumer le PC et avoir les trois écrans qui fonctionnent mais alors, soit :
    • Ce n’est pas stable (sortie de veille = perte des écrans externes, par exemple et impossible de le récupérer sans rebooter).
    • Plusieurs choses clochent systématiquement (les écrans ne sont pas placés dans le bon ordre, l’écran vertical est remis horizontalement, l’écran interne reste allumé) et dès que je tente de changer une de ces choses, les écrans externes cessent d’afficher quoi que ce soit.

Là où ça devient tordu, c’est que si je branche ces mêmes écrans sur les ports intégrés du portable (sans passer par le dock, donc), tout fonctionne normalement. L’écran 1440 branché sur le port HDMI natif du portable est reconnu et tout s’affiche bien, l’écran 1080 branché sur le Mini-DP (avec adaptateur Mini-DP/DVI), dont le portable est aussi équipé, fonctionne lui aussi comme on s’y attend. Et je peux changer leur configuration sans aucun problème : 1, 2 ou 3 écrans activés, dans l’orientation qui me chante.

Je sèche. Si l’écran 1440 ne fonctionnait pas du tout je pigerais, mais :

  • Il fonctionne via le port DP du Dock au moment du boot et ensuite très mal sous Linux.
  • Il fonctionne sur le port HDMI natif du portable, sans aucun souci. Pour mémoire ce même écran branché en DisplayPort, mais cette fois le dock du X220, fonctionne parfaitement…

Bien entendu, je peux me passer du dock pour brancher les écrans, mais :

  1. J’aimerais pouvoir tout brancher sur le dock : ça ferait une seule prise à (dé)brancher chaque fois, et ça ferait (un peu) moins de bordel sur le bureau.
  2. C'est agaçant de ne ne pas piger pourquoi ça merdouille ;)

Xrandr via le dock

Screen 0: minimum 320 x 200, current 6400 x 1440, maximum 16384 x 16384
eDP-1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 308mm x 173mm
   1920x1080     60.00*+  59.97    59.96    59.93  
   1680x1050     59.95    59.88  
   1600x1024     60.17  
   1400x1050     59.98  
   1600x900      59.99    59.94    59.95    59.82  
   1280x1024     60.02  
   1440x900      59.89  
   1400x900      59.96    59.88  
   1280x960      60.00  
   1440x810      60.00    59.97  
   1368x768      59.88    59.85  
   1360x768      59.80    59.96  
   1280x800      59.99    59.97    59.81    59.91  
   1152x864      60.00  
   1280x720      60.00    59.99    59.86    59.74  
   1024x768      60.04    60.00  
   960x720       60.00  
   928x696       60.05  
   896x672       60.01  
   1024x576      59.95    59.96    59.90    59.82  
   960x600       59.93    60.00  
   960x540       59.96    59.99    59.63    59.82  
   800x600       60.00    60.32    56.25  
   840x525       60.01    59.88  
   864x486       59.92    59.57  
   800x512       60.17  
   700x525       59.98  
   800x450       59.95    59.82  
   640x512       60.02  
   720x450       59.89  
   700x450       59.96    59.88  
   640x480       60.00    59.94  
   720x405       59.51    58.99  
   684x384       59.88    59.85  
   680x384       59.80    59.96  
   640x400       59.88    59.98  
   576x432       60.06  
   640x360       59.86    59.83    59.84    59.32  
   512x384       60.00  
   512x288       60.00    59.92  
   480x270       59.63    59.82  
   400x300       60.32    56.34  
   432x243       59.92    59.57  
   320x240       60.05  
   360x202       59.51    59.13  
   320x180       59.84    59.32  
DP-1 disconnected (normal left inverted right x axis y axis)
HDMI-1 disconnected (normal left inverted right x axis y axis)
DP-2 disconnected (normal left inverted right x axis y axis)
HDMI-2 disconnected (normal left inverted right x axis y axis)
DP-2-1 connected 1920x1080+1920+0 (normal left inverted right x axis y axis) 509mm x 286mm
   1920x1080     60.00*+
   1680x1050     59.88  
   1280x1024     60.02  
   1440x900      59.90  
   1280x800      59.91  
   1152x864      75.00  
   1280x720      60.00  
   1024x768      70.07    60.00  
   800x600       60.32    56.25  
   640x480       66.67    59.94  
   720x400       70.08  
DP-2-2 connected 2560x1440+3840+0 (normal left inverted right x axis y axis) 597mm x 336mm
   2560x1440     59.95*+
   1920x1200     59.88  
   2048x1080     60.00  
   1920x1080     60.00    50.00    59.94  
   1600x1200     60.00  
   1680x1050     59.95  
   1280x1024     75.02    60.02  
   1280x800      59.81  
   1152x864      75.00  
   1280x720      60.00    50.00    59.94  
   1024x768      75.03    60.00  
   800x600       75.00    60.32  
   720x576       50.00  
   720x480       60.00    59.94  
   640x480       75.00    60.00    59.94  
   720x400       70.08  
DP-2-3 disconnected (normal left inverted right x axis y axis)

Xrandr sans le dock, direct sur les ports du PC

Screen 0: minimum 320 x 200, current 3640 x 1920, maximum 16384 x 16384
eDP-1 connected (normal left inverted right x axis y axis)
   1920x1080     60.00 +  59.97    59.96    59.93  
   1680x1050     59.95    59.88  
   1600x1024     60.17  
   1400x1050     59.98  
   1600x900      59.99    59.94    59.95    59.82  
   1280x1024     60.02  
   1440x900      59.89  
   1400x900      59.96    59.88  
   1280x960      60.00  
   1440x810      60.00    59.97  
   1368x768      59.88    59.85  
   1360x768      59.80    59.96  
   1280x800      59.99    59.97    59.81    59.91  
   1152x864      60.00  
   1280x720      60.00    59.99    59.86    59.74  
   1024x768      60.04    60.00  
   960x720       60.00  
   928x696       60.05  
   896x672       60.01  
   1024x576      59.95    59.96    59.90    59.82  
   960x600       59.93    60.00  
   960x540       59.96    59.99    59.63    59.82  
   800x600       60.00    60.32    56.25  
   840x525       60.01    59.88  
   864x486       59.92    59.57  
   800x512       60.17  
   700x525       59.98  
   800x450       59.95    59.82  
   640x512       60.02  
   720x450       59.89  
   700x450       59.96    59.88  
   640x480       60.00    59.94  
   720x405       59.51    58.99  
   684x384       59.88    59.85  
   680x384       59.80    59.96  
   640x400       59.88    59.98  
   576x432       60.06  
   640x360       59.86    59.83    59.84    59.32  
   512x384       60.00  
   512x288       60.00    59.92  
   480x270       59.63    59.82  
   400x300       60.32    56.34  
   432x243       59.92    59.57  
   320x240       60.05  
   360x202       59.51    59.13  
   320x180       59.84    59.32  
DP-1 disconnected (normal left inverted right x axis y axis)
HDMI-1 connected 1080x1920+0+0 right (normal left inverted right x axis y axis) 509mm x 286mm
   1920x1080     60.00*+
   1680x1050     59.88  
   1280x1024     60.02  
   1440x900      59.90  
   1280x800      59.91  
   1152x864      75.00  
   1280x720      60.00  
   1024x768      70.07    60.00  
   800x600       60.32    56.25  
   640x480       66.67    59.94  
   720x400       70.08  
DP-2 disconnected (normal left inverted right x axis y axis)
HDMI-2 connected primary 2560x1440+1080+240 (normal left inverted right x axis y axis) 597mm x 336mm
   2560x1440     59.95*+
   1920x1200     59.95  
   2048x1080     60.00  
   1920x1080     60.00    50.00    59.94  
   1920x1080i    60.00    50.00    59.94  
   1600x1200     60.00  
   1680x1050     59.88  
   1280x1024     75.02    60.02  
   1280x800      59.91  
   1152x864      75.00  
   1280x720      60.00    50.00    59.94  
   1024x768      75.03    60.00  
   800x600       75.00    60.32  
   720x576       50.00  
   720x576i      50.00  
   720x480       60.00    59.94  
   720x480i      60.00    59.94  
   640x480       75.00    60.00    59.94  
   720x400       70.08  

Config du PC

Voici la partie utile d’un inxi -F :

System:    Host: Ernest Kernel: 5.10.0-8-amd64 x86_64 bits: 64 Desktop: Xfce 4.16.0 Distro: Debian GNU/Linux 11 (bullseye) 
Machine:   Type: Laptop System: LENOVO product: 20BS0032US v: ThinkPad X1 Carbon 3rd serial: <superuser required> 
           Mobo: LENOVO model: 20BS0032US v: SDK0E50510 WIN serial: <superuser required> UEFI: LENOVO v: N14ET51W (1.29 ) 
           date: 05/29/2019 
Battery:   ID-1: BAT0 charge: 42.4 Wh condition: 47.9/50.1 Wh (96%) 
CPU:       Info: Dual Core model: Intel Core i5-5300U bits: 64 type: MT MCP L2 cache: 3 MiB 
           Speed: 798 MHz min/max: 500/2900 MHz Core speeds (MHz): 1: 798 2: 798 3: 798 4: 798 
Graphics:  Device-1: Intel HD Graphics 5500 driver: i915 v: kernel 
           Display: x11 server: X.Org 1.20.11 driver: loaded: modesetting unloaded: fbdev,vesa resolution: 1: 1080x1920~60Hz 
           2: 2560x1440~60Hz 
           OpenGL: renderer: Mesa Intel HD Graphics 5500 (BDW GT2) v: 4.6 Mesa 20.3.5 
Audio:     Device-1: Intel Broadwell-U Audio driver: snd_hda_intel 

Auriez-vous une idée ? Une piste ? Ou alors une aspirine — avec mes excuses pour vous avoir servi cette tartine ;)

  • # displaylink

    Posté par  (Mastodon) . Évalué à 7. Dernière modification le 01 août 2021 à 00:41.

    Si tu utilises un dock lenovo, il utilise displaylink et donc requiert le pilote/module evdi.

    Celui-ci est fourni avec le package proprio displaylink pour ubuntu mais aussi séparément pour d'autres distros. Ça ne fait en tout cas pas partie des modules intégrés au noyau linux

    Jami: beabb2b063da0a2f0a2acaddcd9cc1421245d5de

    • [^] # Re: displaylink

      Posté par  (Mastodon) . Évalué à 2.

      Merci beaucoup pour l'info, je vais creuser ça.

      Mais j'avoue que, en tant que noob, l'idée de côtoyer le noyau et des drivers qui ne seraient pas déjà intégrés dedans (je suis sur une Debian) me fait un peu peur ;)

  • # BIOS

    Posté par  . Évalué à 3. Dernière modification le 02 août 2021 à 19:23.

    De mon expérience sur Thinkpad ça pourrait venir d'une configuration de priorité de sortie vidéo dans le BIOS, je n'ai plus le nom exact (et j'ai un T480 pour le job et un X220 perso, c'est pas le X1). Il y a une option pour donner la priorité à l'écran interne ou à la sortie vidéo.

    J'ai pu résoudre des soucis d'instabilité de sortie vidéo sur docking avec ça. A voir si ça s'applique à ton cas ?

    Si tu ne sais pas demande, si tu sais partage !

    • [^] # Re: BIOS

      Posté par  (Mastodon) . Évalué à 1.

      Désolé pour el silence, je viens juste de voir ton commentaire.

      J'ai tenté (merci pour cette astuce), mais ça ne change rien.

      J'ai aussi installé le module evdi dont parle psyschofox (je suis passé par un script sur un repo github… dont je ne retrouve plus l'adresse :() et, depuis, j'ai réussi à afficher les deux écrans via le dock. Joie ! Sauf que, alors que la résolution correcte de l'écran est listée dans xrandr, impossible de d'afficher plus que 1920x1080 sur mon 2560x1440: quoi que je tente, il reste em 1080.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.