- System: Dell Latitude 5591
- CPU i7-8850H
- GPU: integrated Intel HD630 (no dedicated GPU)
- USB-C Dock: WD15
Screens: 2x Acer G226HQL (connected via HDMI directly and DVI-to-miniDP-Adapter to dock)
OS: KDE neon 18.4
- Kernel: 5.3.0-45-generic
Every time I replug the dock, the screens stay black. I have to open xrandr (arandr, KDE Display Configuration, whatever) to reenable the triple screen layout. I suspect that this is caused by the port names not being stable:
Everything configured:
grep . /sys/class/drm/*/status /sys/class/drm/card0-DP-1/status:disconnected /sys/class/drm/card0-DP-2/status:disconnected /sys/class/drm/card0-DP-5/status:connected # <---- 5 /sys/class/drm/card0-DP-7/status:connected # <---- 7 /sys/class/drm/card0-DP-8/status:disconnected /sys/class/drm/card0-eDP-1/status:connected /sys/class/drm/card0-HDMI-A-1/status:disconnected /sys/class/drm/card0-HDMI-A-2/status:disconnected /sys/class/drm/card0-HDMI-A-3/status:disconnected Now, when I unplug and replug the dock:
/sys/class/drm/card0-DP-1/status:disconnected /sys/class/drm/card0-DP-2/status:disconnected /sys/class/drm/card0-DP-6/status:connected # <---- 6 /sys/class/drm/card0-DP-8/status:connected # <---- 8 /sys/class/drm/card0-DP-9/status:disconnected /sys/class/drm/card0-eDP-1/status:connected /sys/class/drm/card0-HDMI-A-1/status:disconnected /sys/class/drm/card0-HDMI-A-2/status:disconnected /sys/class/drm/card0-HDMI-A-3/status:disconnected DP-5 and DP-7 are now known as DP-6 and DP-8. The numbers are altered every time.
How to prevent this?
Edit 1: Noticed a behavior that might be related. I have a temperature widget that monitors the PCH temperature. After every reboot it changes it's name as well. The number in acpi/Thermal_Zone/1-pch_cannonlake/Temperature is altered almost on every reboot. Have to reconfigure the monitor quite frequently.
Edit 2: Found a thread on the arch forum that described a very similar problem. Solution in their case was a downgrade to kernel 4.18. I am currently running 4.18.0-25-generic and it seems to solve the issue.
Edit 2a: Now with 4.18.0-25-generic I noticed a difference. The output of grep . /sys/class/drm/*/status stays the same, the numbers are still altered on every reconnect
grep . /sys/class/drm/*/status /sys/class/drm/card0-DP-1/status:disconnected /sys/class/drm/card0-DP-2/status:disconnected /sys/class/drm/card0-DP-5/status:connected # <--- DP-5! /sys/class/drm/card0-DP-6/status:connected # <--- DP-6! /sys/class/drm/card0-DP-7/status:disconnected /sys/class/drm/card0-eDP-1/status:connected /sys/class/drm/card0-HDMI-A-1/status:disconnected /sys/class/drm/card0-HDMI-A-2/status:disconnected /sys/class/drm/card0-HDMI-A-3/status:disconnected but xrandr somehow "sees" stable numbers like DP-1-1 and DP-1-2:
xrandr -q | grep connected eDP-1 connected 1920x1080+3839+0 (normal left inverted right x axis y axis) 344mm x 194mm HDMI-1 disconnected (normal left inverted right x axis y axis) DP-1 disconnected (normal left inverted right x axis y axis) HDMI-2 disconnected (normal left inverted right x axis y axis) DP-2 disconnected (normal left inverted right x axis y axis) HDMI-3 disconnected (normal left inverted right x axis y axis) DP-1-1 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 509mm x 286mm DP-1-2 connected primary 1920x1080+1919+0 (normal left inverted right x axis y axis) 509mm x 286mm DP-1-3 disconnected (normal left inverted right x axis y axis) On newer kernels xrandr saw the same numbers as they were enumerated by drm.