You are not logged in.

#1 2020-12-21 14:01:48

mohlerm
Member
From: Switzerland
Registered: 2013-11-15
Posts: 13

xrandr changes output names

Hi

I already posted this in the archlinux subreddit but could not find a solution. It might be related to my R7 Chip / GPU as that's what other people with the same issues have in common.

I use a Thinkpad T14s with the Thinkpad USBC 2nd Gen dock, Arch with 5.9.13 kernel, AMDGPU driver and i3wm.
I connect two monitors to my Thinkpad with the docking station and manage them with autorandr.
However when disconnecting and connecting the dockingstation the monitor names seem to change.

E.g. the output of xrandr --current after booting (abbreviated):

Screen 0: minimum 320 x 200, current 6400 x 1080, maximum 16384 x 16384
eDP connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 309mm x 174mm
HDMI-A-0 disconnected (normal left inverted right x axis y axis)
DisplayPort-0 disconnected (normal left inverted right x axis y axis)
DisplayPort-1 disconnected (normal left inverted right x axis y axis)
DisplayPort-2 connected 1920x1080+4480+0 (normal left inverted right x axis y axis) 509mm x 286mm
DisplayPort-3 disconnected (normal left inverted right x axis y axis)
DisplayPort-4 connected 2560x1080+1920+0 (normal left inverted right x axis y axis) 673mm x 284mm

Then I disconnect and connect the docking again:

only other people experiencing the same issue.

Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 16384 x 16384
eDP connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 309mm x 174mm
HDMI-A-0 disconnected (normal left inverted right x axis y axis)
DisplayPort-0 disconnected (normal left inverted right x axis y axis)
DisplayPort-1 disconnected (normal left inverted right x axis y axis)
DisplayPort-2 disconnected (normal left inverted right x axis y axis)
DisplayPort-3 connected (normal left inverted right x axis y axis)
DisplayPort-4 disconnected (normal left inverted right x axis y axis)
DisplayPort-5 disconnected (normal left inverted right x axis y axis)
DisplayPort-6 connected (normal left inverted right x axis y axis)

So what seems to happen is that xrandr increments the displayname (DP-2 to DP-3, DP-4 to DP-6).
This of course breaks autorandr and other tools that save my randr setup. I can workaround autorandr by creating a second profile however the issue is still annoying.
Has anyone experienced similar issues or any idea how to fix it?

Help is much appreciated.

Cheers!

Offline

#2 2020-12-21 14:53:11

Lone_Wolf
Member
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 11,868

Re: xrandr changes output names

I doubt it's xrandr that changes those names, probably the driver or X itself.
Post your xorg log aftyer disconnecting and re-connecting the monitors.


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.


(A works at time B)  && (time C > time B ) ≠  (A works at time C)

Offline

#3 2020-12-21 19:35:42

mohlerm
Member
From: Switzerland
Registered: 2013-11-15
Posts: 13

Re: xrandr changes output names

Thanks for the reply. Here's my xorg log. It's not happening 100% and it seems only an issue if the laptop is booted WITH the docking connected.

[    25.033] (**) Option "config_info" "udev:/sys/devices/platform/thinkpad_acpi/input/input25/event12"
[    25.033] (II) XINPUT: Adding extended input device "ThinkPad Extra Buttons" (type: KEYBOARD, id 21)
[    25.034] (II) event12 - ThinkPad Extra Buttons: is tagged by udev as: Keyboard Switch
[    25.034] (II) event12 - ThinkPad Extra Buttons: device is a keyboard
[    25.325] (II) AMDGPU(0): EDID vendor "AUO", prod id 22333
[    25.325] (II) AMDGPU(0): Printing DDC gathered Modelines:
[    25.325] (II) AMDGPU(0): Modeline "1920x1080"x0.0  142.60  1920 1936 1952 2080  1080 1083 1088 1142 -hsync -vsync (68.6 kHz eP)
[    25.348] (II) AMDGPU(0): EDID vendor "AUO", prod id 22333
[    25.348] (II) AMDGPU(0): Printing DDC gathered Modelines:
[    25.348] (II) AMDGPU(0): Modeline "1920x1080"x0.0  142.60  1920 1936 1952 2080  1080 1083 1088 1142 -hsync -vsync (68.6 kHz eP)
[    92.492] (II) config/udev: removing device Logitech Performance MX
[    92.492] (**) Option "fd" "28"
[    92.493] (II) event6  - Logitech Performance MX: device removed
[    92.495] (II) UnloadModule: "libinput"
[    92.496] (II) systemd-logind: releasing fd for 13:70
[    92.578] (II) AMDGPU(0): EDID vendor "AUO", prod id 22333
[    92.578] (II) AMDGPU(0): Printing DDC gathered Modelines:
[    92.578] (II) AMDGPU(0): Modeline "1920x1080"x0.0  142.60  1920 1936 1952 2080  1080 1083 1088 1142 -hsync -vsync (68.6 kHz eP)
[    92.646] (II) AMDGPU(0): EDID vendor "AUO", prod id 22333
[    92.646] (II) AMDGPU(0): Printing DDC gathered Modelines:
[    92.646] (II) AMDGPU(0): Modeline "1920x1080"x0.0  142.60  1920 1936 1952 2080  1080 1083 1088 1142 -hsync -vsync (68.6 kHz eP)
[    92.725] (II) config/udev: removing device FULL HD 1080P Webcam: FULL HD 1
[    92.726] (**) Option "fd" "29"
[    92.726] (II) event23 - FULL HD 1080P Webcam: FULL HD 1: device removed
[    92.727] (II) UnloadModule: "libinput"
[    92.728] (II) systemd-logind: releasing fd for 13:87
[    92.839] (II) config/udev: removing device Lenovo ThinkVision LT2934z Wide Monitor for USB - Audio Consumer Control
[    92.840] (**) Option "fd" "30"
[    92.840] (II) event7  - Lenovo ThinkVision LT2934z Wide Monitor for USB - Audio Consumer Control: device removed
[    92.842] (II) UnloadModule: "libinput"
[    92.843] (II) systemd-logind: releasing fd for 13:71
[    92.935] (II) config/udev: removing device Lenovo ThinkVision LT2934z Wide Monitor for USB - Audio
[    92.936] (**) Option "fd" "31"
[    92.936] (II) event8  - Lenovo ThinkVision LT2934z Wide Monitor for USB - Audio: device removed
[    92.936] (II) UnloadModule: "libinput"
[    92.937] (II) systemd-logind: releasing fd for 13:72
[    93.014] (II) AMDGPU(0): EDID vendor "AUO", prod id 22333
[    93.014] (II) AMDGPU(0): Printing DDC gathered Modelines:
[    93.014] (II) AMDGPU(0): Modeline "1920x1080"x0.0  142.60  1920 1936 1952 2080  1080 1083 1088 1142 -hsync -vsync (68.6 kHz eP)
[    93.038] (II) AMDGPU(0): EDID vendor "AUO", prod id 22333
[    93.038] (II) AMDGPU(0): Printing DDC gathered Modelines:
[    93.038] (II) AMDGPU(0): Modeline "1920x1080"x0.0  142.60  1920 1936 1952 2080  1080 1083 1088 1142 -hsync -vsync (68.6 kHz eP)
[    93.217] (EE) AMDGPU(0): drmmode_do_crtc_dpms cannot get last vblank counter
[    93.218] (II) config/udev: removing device Lenovo ThinkPad USB-C Dock Gen2 USB Audio
[    93.218] (**) Option "fd" "32"
[    93.218] (II) event9  - Lenovo ThinkPad USB-C Dock Gen2 USB Audio: device removed
[    93.219] (II) UnloadModule: "libinput"
[    93.219] (II) systemd-logind: releasing fd for 13:73
[    93.220] (EE) systemd-logind: failed to release device: Device not taken
[    93.401] (EE) AMDGPU(0): drmmode_do_crtc_dpms cannot get last vblank counter
[    93.402] (II) AMDGPU(0): Allocate new frame buffer 1920x1080
[    93.403] (II) AMDGPU(0):  => pitch 7680 bytes
[    93.419] (II) config/udev: removing device Yubico YubiKey OTP+FIDO+CCID
[    93.419] (**) Option "fd" "33"
[    93.419] (II) event10 - Yubico YubiKey OTP+FIDO+CCID: device removed
[    93.419] (II) UnloadModule: "libinput"
[    93.419] (II) systemd-logind: releasing fd for 13:74
[    93.420] (EE) systemd-logind: failed to release device: Device not taken
[   108.246] (II) AMDGPU(0): Output DisplayPort-5 has no monitor section
[   108.247] (II) AMDGPU(0): Output DisplayPort-6 has no monitor section
[   108.248] (II) AMDGPU(0): EDID vendor "AUO", prod id 22333
[   108.248] (II) AMDGPU(0): Printing DDC gathered Modelines:
[   108.248] (II) AMDGPU(0): Modeline "1920x1080"x0.0  142.60  1920 1936 1952 2080  1080 1083 1088 1142 -hsync -vsync (68.6 kHz eP)
[   108.250] (II) AMDGPU(0): EDID vendor "AUO", prod id 22333
[   108.250] (II) AMDGPU(0): Printing DDC gathered Modelines:
[   108.250] (II) AMDGPU(0): Modeline "1920x1080"x0.0  142.60  1920 1936 1952 2080  1080 1083 1088 1142 -hsync -vsync (68.6 kHz eP)
[   108.259] (II) AMDGPU(0): EDID vendor "AUO", prod id 22333
[   108.259] (II) AMDGPU(0): Printing DDC gathered Modelines:
[   108.259] (II) AMDGPU(0): Modeline "1920x1080"x0.0  142.60  1920 1936 1952 2080  1080 1083 1088 1142 -hsync -vsync (68.6 kHz eP)
[   108.268] (II) AMDGPU(0): EDID vendor "AUO", prod id 22333
[   108.268] (II) AMDGPU(0): Printing DDC gathered Modelines:
[   108.268] (II) AMDGPU(0): Modeline "1920x1080"x0.0  142.60  1920 1936 1952 2080  1080 1083 1088 1142 -hsync -vsync (68.6 kHz eP)
[   108.325] (II) AMDGPU(0): EDID vendor "AUO", prod id 22333
[   108.325] (II) AMDGPU(0): Printing DDC gathered Modelines:
[   108.325] (II) AMDGPU(0): Modeline "1920x1080"x0.0  142.60  1920 1936 1952 2080  1080 1083 1088 1142 -hsync -vsync (68.6 kHz eP)
[   108.665] (II) AMDGPU(0): EDID vendor "AUO", prod id 22333
[   108.665] (II) AMDGPU(0): Printing DDC gathered Modelines:
[   108.665] (II) AMDGPU(0): Modeline "1920x1080"x0.0  142.60  1920 1936 1952 2080  1080 1083 1088 1142 -hsync -vsync (68.6 kHz eP)
[   108.674] (II) AMDGPU(0): EDID vendor "AUO", prod id 22333
[   108.674] (II) AMDGPU(0): Printing DDC gathered Modelines:
[   108.674] (II) AMDGPU(0): Modeline "1920x1080"x0.0  142.60  1920 1936 1952 2080  1080 1083 1088 1142 -hsync -vsync (68.6 kHz eP)
[   108.711] (II) AMDGPU(0): EDID vendor "AUO", prod id 22333
[   108.712] (II) AMDGPU(0): Printing DDC gathered Modelines:
[   108.712] (II) AMDGPU(0): Modeline "1920x1080"x0.0  142.60  1920 1936 1952 2080  1080 1083 1088 1142 -hsync -vsync (68.6 kHz eP)
[   108.727] (II) AMDGPU(0): Allocate new frame buffer 6400x1080
[   108.728] (II) AMDGPU(0):  => pitch 25600 bytes
[   109.069] (EE) client bug: timer event20 trackpoint: scheduled expiry is in the past (-11ms), your system is too slow
[   112.333] (II) config/udev: Adding input device FULL HD 1080P Webcam: FULL HD 1 (/dev/input/event7)
[   112.333] (**) FULL HD 1080P Webcam: FULL HD 1: Applying InputClass "libinput keyboard catchall"
[   112.333] (II) Using input driver 'libinput' for 'FULL HD 1080P Webcam: FULL HD 1'
[   112.334] (II) systemd-logind: got fd for /dev/input/event7 13:71 fd 29 paused 0
[   112.335] (**) FULL HD 1080P Webcam: FULL HD 1: always reports core events
[   112.335] (**) Option "Device" "/dev/input/event7"
[   112.335] (**) Option "_source" "server/udev"
[   112.337] (II) event7  - FULL HD 1080P Webcam: FULL HD 1: is tagged by udev as: Keyboard
[   112.337] (II) event7  - FULL HD 1080P Webcam: FULL HD 1: device is a keyboard
[   112.337] (II) event7  - FULL HD 1080P Webcam: FULL HD 1: device removed
[   112.337] (**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:08.1/0000:06:00.3/usb4/4-1/4-1.2/4-1.2.4/4-1.2.4:1.0/input/input37/event7"
[   112.337] (II) XINPUT: Adding extended input device "FULL HD 1080P Webcam: FULL HD 1" (type: KEYBOARD, id 12)
[   112.339] (II) event7  - FULL HD 1080P Webcam: FULL HD 1: is tagged by udev as: Keyboard
[   112.340] (II) event7  - FULL HD 1080P Webcam: FULL HD 1: device is a keyboard
[   112.341] (II) config/udev: Adding input device Lenovo ThinkVision LT2934z Wide Monitor for USB - Audio Consumer Control (/dev/input/event8)
[   112.341] (**) Lenovo ThinkVision LT2934z Wide Monitor for USB - Audio Consumer Control: Applying InputClass "libinput keyboard catchall"
[   112.341] (II) Using input driver 'libinput' for 'Lenovo ThinkVision LT2934z Wide Monitor for USB - Audio Consumer Control'
[   112.342] (II) systemd-logind: got fd for /dev/input/event8 13:72 fd 30 paused 0
[   112.342] (**) Lenovo ThinkVision LT2934z Wide Monitor for USB - Audio Consumer Control: always reports core events
[   112.342] (**) Option "Device" "/dev/input/event8"
[   112.342] (**) Option "_source" "server/udev"
[   112.344] (II) event8  - Lenovo ThinkVision LT2934z Wide Monitor for USB - Audio Consumer Control: is tagged by udev as: Keyboard
[   112.344] (II) event8  - Lenovo ThinkVision LT2934z Wide Monitor for USB - Audio Consumer Control: device is a keyboard
[   112.344] (II) event8  - Lenovo ThinkVision LT2934z Wide Monitor for USB - Audio Consumer Control: device removed
[   112.344] (**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:08.1/0000:06:00.3/usb4/4-1/4-1.2/4-1.2.5/4-1.2.5:1.3/0003:0572:A001.0011/input/input38/event8"
[   112.344] (II) XINPUT: Adding extended input device "Lenovo ThinkVision LT2934z Wide Monitor for USB - Audio Consumer Control" (type: KEYBOARD, id 13)
[   112.346] (II) event8  - Lenovo ThinkVision LT2934z Wide Monitor for USB - Audio Consumer Control: is tagged by udev as: Keyboard
[   112.346] (II) event8  - Lenovo ThinkVision LT2934z Wide Monitor for USB - Audio Consumer Control: device is a keyboard
[   112.357] (II) config/udev: Adding input device Lenovo ThinkVision LT2934z Wide Monitor for USB - Audio (/dev/input/event9)
[   112.357] (**) Lenovo ThinkVision LT2934z Wide Monitor for USB - Audio: Applying InputClass "libinput keyboard catchall"
[   112.357] (II) Using input driver 'libinput' for 'Lenovo ThinkVision LT2934z Wide Monitor for USB - Audio'
[   112.358] (II) systemd-logind: got fd for /dev/input/event9 13:73 fd 31 paused 0
[   112.358] (**) Lenovo ThinkVision LT2934z Wide Monitor for USB - Audio: always reports core events
[   112.358] (**) Option "Device" "/dev/input/event9"
[   112.358] (**) Option "_source" "server/udev"
[   112.359] (II) event9  - Lenovo ThinkVision LT2934z Wide Monitor for USB - Audio: is tagged by udev as: Keyboard
[   112.359] (II) event9  - Lenovo ThinkVision LT2934z Wide Monitor for USB - Audio: device is a keyboard
[   112.359] (II) event9  - Lenovo ThinkVision LT2934z Wide Monitor for USB - Audio: device removed
[   112.359] (**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:08.1/0000:06:00.3/usb4/4-1/4-1.2/4-1.2.5/4-1.2.5:1.3/0003:0572:A001.0011/input/input39/event9"
[   112.359] (II) XINPUT: Adding extended input device "Lenovo ThinkVision LT2934z Wide Monitor for USB - Audio" (type: KEYBOARD, id 14)
[   112.361] (II) event9  - Lenovo ThinkVision LT2934z Wide Monitor for USB - Audio: is tagged by udev as: Keyboard
[   112.361] (II) event9  - Lenovo ThinkVision LT2934z Wide Monitor for USB - Audio: device is a keyboard
[   112.559] (II) config/udev: Adding input device Lenovo ThinkPad USB-C Dock Gen2 USB Audio (/dev/input/event10)
[   112.559] (**) Lenovo ThinkPad USB-C Dock Gen2 USB Audio: Applying InputClass "libinput keyboard catchall"
[   112.559] (II) Using input driver 'libinput' for 'Lenovo ThinkPad USB-C Dock Gen2 USB Audio'
[   112.560] (II) systemd-logind: got fd for /dev/input/event10 13:74 fd 32 paused 0
[   112.560] (**) Lenovo ThinkPad USB-C Dock Gen2 USB Audio: always reports core events
[   112.560] (**) Option "Device" "/dev/input/event10"
[   112.560] (**) Option "_source" "server/udev"
[   112.563] (II) event10 - Lenovo ThinkPad USB-C Dock Gen2 USB Audio: is tagged by udev as: Keyboard
[   112.563] (II) event10 - Lenovo ThinkPad USB-C Dock Gen2 USB Audio: device is a keyboard
[   112.563] (II) event10 - Lenovo ThinkPad USB-C Dock Gen2 USB Audio: device removed
[   112.563] (**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:08.1/0000:06:00.3/usb4/4-1/4-1.3/4-1.3.3/4-1.3.3.2/4-1.3.3.2:1.3/0003:17EF:A396.0012/input/input40/event10"
[   112.563] (II) XINPUT: Adding extended input device "Lenovo ThinkPad USB-C Dock Gen2 USB Audio" (type: KEYBOARD, id 15)
[   112.566] (II) event10 - Lenovo ThinkPad USB-C Dock Gen2 USB Audio: is tagged by udev as: Keyboard
[   112.566] (II) event10 - Lenovo ThinkPad USB-C Dock Gen2 USB Audio: device is a keyboard
[   112.605] (II) config/udev: Adding input device Yubico YubiKey OTP+FIDO+CCID (/dev/input/event23)
[   112.605] (**) Yubico YubiKey OTP+FIDO+CCID: Applying InputClass "libinput keyboard catchall"
[   112.605] (II) Using input driver 'libinput' for 'Yubico YubiKey OTP+FIDO+CCID'
[   112.606] (II) systemd-logind: got fd for /dev/input/event23 13:87 fd 33 paused 0
[   112.606] (**) Yubico YubiKey OTP+FIDO+CCID: always reports core events
[   112.606] (**) Option "Device" "/dev/input/event23"
[   112.606] (**) Option "_source" "server/udev"
[   112.608] (II) event23 - Yubico YubiKey OTP+FIDO+CCID: is tagged by udev as: Keyboard
[   112.608] (II) event23 - Yubico YubiKey OTP+FIDO+CCID: device is a keyboard
[   112.608] (II) event23 - Yubico YubiKey OTP+FIDO+CCID: device removed
[   112.608] (**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:08.1/0000:06:00.3/usb4/4-1/4-1.3/4-1.3.3/4-1.3.3.3/4-1.3.3.3:1.0/0003:1050:0407.0013/input/input41/event23"
[   112.608] (II) XINPUT: Adding extended input device "Yubico YubiKey OTP+FIDO+CCID" (type: KEYBOARD, id 16)
[   112.610] (II) event23 - Yubico YubiKey OTP+FIDO+CCID: is tagged by udev as: Keyboard
[   112.610] (II) event23 - Yubico YubiKey OTP+FIDO+CCID: device is a keyboard
[   112.739] (II) AMDGPU(0): EDID vendor "AUO", prod id 22333
[   112.739] (II) AMDGPU(0): Printing DDC gathered Modelines:
[   112.739] (II) AMDGPU(0): Modeline "1920x1080"x0.0  142.60  1920 1936 1952 2080  1080 1083 1088 1142 -hsync -vsync (68.6 kHz eP)
[   112.865] (II) config/udev: Adding input device Logitech Performance MX (/dev/input/mouse0)
[   112.865] (II) No input driver specified, ignoring this device.
[   112.865] (II) This device may have been added with another device file.
[   112.948] (II) config/udev: Adding input device Logitech Performance MX (/dev/input/event6)
[   112.948] (**) Logitech Performance MX: Applying InputClass "libinput pointer catchall"
[   112.948] (II) Using input driver 'libinput' for 'Logitech Performance MX'
[   112.950] (II) systemd-logind: got fd for /dev/input/event6 13:70 fd 45 paused 0
[   112.950] (**) Logitech Performance MX: always reports core events
[   112.950] (**) Option "Device" "/dev/input/event6"
[   112.950] (**) Option "_source" "server/udev "
[   112.953] (II) event6  - Logitech Performance MX: is tagged by udev as: Mouse
[   112.953] (II) event6  - Logitech Performance MX: device set to 1000 DPI
[   112.953] (II) event6  - Logitech Performance MX: device is a pointer
[   112.953] (II) event6  - Logitech Performance MX: device removed
[   112.953] (**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:08.1/0000:06:00.3/usb4/4-1/4-1.2/4-1.2.1/4-1.2.1.1/4-1.2.1.1:1.2/0003:046D:C52B.000E/0003:046D:101A.000F/input/input36/event6"
[   112.954] (II) XINPUT: Adding extended input device "Logitech Performance MX" (type: MOUSE, id 17)
[   112.954] (**) Option "AccelerationScheme" "none"
[   112.954] (**) Logitech Performance MX: (accel) selected scheme none/0
[   112.954] (**) Logitech Performance MX: (accel) acceleration factor: 2.000
[   112.954] (**) Logitech Performance MX: (accel) acceleration threshold: 4
[   112.957] (II) event6  - Logitech Performance MX: is tagged by udev as: Mouse
[   112.957] (II) event6  - Logitech Performance MX: device set to 1000 DPI
[   112.957] (II) event6  - Logitech Performance MX: device is a pointer

Personally I don't see anything alarming in that log...

Last edited by mohlerm (2020-12-21 19:37:48)

Offline

#4 2020-12-22 11:46:31

Lone_Wolf
Member
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 11,868

Re: xrandr changes output names

I was hoping the log would help to understand what happens with the outputs when the dock is disconnected , then re-connected.

What I think happens is that when the dock is removed the monitors aren't removed by X, and when the dock is reconnected the monitors are added as new devices.

Did some searching and RandR 1.5 has new options that may be helpful .

man xrandr wrote:

RandR version 1.5 options
       Options for RandR 1.5 are used as a superset of the options for RandR 1.4.

       --listmonitors
              Report information about all defined monitors.

       --listactivemonitors
              Report information about currently active monitors.

       --setmonitor name geometry outputs
              Define a new monitor with the given geometry and associated to the given outputs.  The output list is either the keyword none
              or  a comma-separated list of outputs.  The geometry is either the keyword auto, in which case the monitor will automatically
              track the geometry of the associated outputs, or a manual specification in the form w/mmwxh/mmh+x+y where w, h, x, y  are  in
              pixels and mmw, mmh are the physical dimensions of the monitor.

       --delmonitor name
              Delete the given user-defined monitor.

Please perform these steps ( run xrandr --listmonitors after each step and save the output) :

1. boot without dock connected
2.  connect dock + monitors
3. disconnect dock
4. reconnect dock+ monitors

2nd batch
5. boot with dock connected
6. disconnect dock
7. reconnect dock

So that's 7 times the output of xrandr --listmonitors .


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.


(A works at time B)  && (time C > time B ) ≠  (A works at time C)

Offline

#5 2020-12-22 13:56:19

mohlerm
Member
From: Switzerland
Registered: 2013-11-15
Posts: 13

Re: xrandr changes output names

Thanks for your reply. Did as you suggested and here's the output.
Doesn't look like the monitor stays active but it shows clearly the naming issue.
The only thing that is interesting is that it reverses the order the displays are detected.
E.g. when booting my larger screen 2560x1080 is actually considered 'screen 2', while it gets 'screen 1' when replugging.

1. boot without dock connected

Monitors: 1
 0: +*eDP 1920/309x1080/174+0+0  eDP

2. connect dock + monitors

Monitors: 3
 0: +*eDP 1920/309x1080/174+0+0  eDP
 1: +DisplayPort-2 1920/509x1080/286+4480+0  DisplayPort-2
 2: +DisplayPort-4 2560/673x1080/284+1920+0  DisplayPort-4

3. disconnect dock

Monitors: 1
 0: +*eDP 1920/309x1080/174+0+0  eDP

4. reconnect dock+ monitors

Monitors: 3
 0: +*eDP 1920/309x1080/174+0+0  eDP
 1: +DisplayPort-2 1920/509x1080/286+4480+0  DisplayPort-2
 2: +DisplayPort-4 2560/673x1080/284+1920+0  DisplayPort-4

5. boot with dock connected

Monitors: 3
 0: +*eDP 1920/309x1080/174+0+0  eDP
 1: +DisplayPort-2 1920/509x1080/286+4480+0  DisplayPort-2
 2: +DisplayPort-4 2560/673x1080/284+1920+0  DisplayPort-4

6. disconnect dock

Monitors: 1
 0: +*eDP 1920/309x1080/174+0+0  eDP

7. reconnect dock

Monitors: 3
 0: +*eDP 1920/309x1080/174+0+0  eDP
 1: +DisplayPort-6 2560/673x1080/284+1920+0  DisplayPort-6
 2: +DisplayPort-3 1920/509x1080/286+4480+0  DisplayPort-3

Last edited by mohlerm (2020-12-22 13:58:26)

Offline

#6 2020-12-23 17:21:35

Lone_Wolf
Member
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 11,868

Re: xrandr changes output names

This smells like something needed for initialization for the dock are not yet present/started when it's connected at boot.

Please post journal from a boot where dock is connected and a boot where the dock is connected after boot has finished.

What is the model of the dock and does it have latest firmware ?


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.


(A works at time B)  && (time C > time B ) ≠  (A works at time C)

Offline

#7 2020-12-24 16:08:57

mohlerm
Member
From: Switzerland
Registered: 2013-11-15
Posts: 13

Re: xrandr changes output names

Don't have access to the dock over festive period but will post them after.

The dock is the "Thinkpad USB-C Dock Gen 2" https://support.lenovo.com/us/en/solutions/acc500106 and is running the latest available firmware in LVFS.

Offline

#8 2021-01-13 06:54:28

galvs
Member
Registered: 2016-10-08
Posts: 2

Re: xrandr changes output names

I have this very problem, but am on a T14 (not the s).

The problem seems to be happening less often. I actually just installed autorandr and have a profile setup for desktop24 and desktop37 (I use daisychain for 2 external monitors) which seem to be the only port combination ever used. It is a bit of a pain but manageable.

Pulling the usb-c with the external monitors running does seem to cause X11 to crash so I make sure to autorandr the laptop screen before disconnecting.

Offline

#9 2021-01-15 10:08:53

starfry
Member
From: Surrey, UK
Registered: 2010-08-18
Posts: 230

Re: xrandr changes output names

I have a similar problem. I have a new laptop, a HP ZBook G6 with a HP G2 Dock with two external monitors connected using displayport.

After boot, my monitors are reliably and consistently detected like this

eDP1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 340mm x 190mm
DP1-1 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 530mm x 300mm
DP1-2 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 480mm x 270mm

after suspending the machine the names change

eDP1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 340mm x 190mm
DP-1-7-1 connected (normal left inverted right x axis y axis)
DP-1-7-2 connected (normal left inverted right x axis y axis)

Also, if I then use xrandr to select the new ids, they don't work properly... I get artifacts (bits of menus left behind, etc) plus very odd behaviour on one rotated (portrait) display - mouse pointer tracks correctly but the display isn't rotated properly.

I am using integrated intel graphics, I originally tried to use the discrete nvidia graphics but that was even worse - displays detected at boot but not displaying anything. I could fix using xrandr after blindly logging in but all displays and keyboards failed to respond after power-save (like, going to make a coffee and coming back). I could still ssh in so the computer itself was fine - just no displays (laptop screen on but frozen, external displays off).

Lone_Wolf wrote:

This smells like something needed for initialization for the dock are not yet present/started when it's connected at boot.

This does seem to be a first-time thing - subsequent suspend/resumes work fine. It does look like something isn't initialised properly at the start. I've removed xf86-video-intel and no longer have the strange artifacts so, apart from the initial need to change the monitor ids with xrandr, everything appears to work (but I need to test some more before being confident all's well).

Last edited by starfry (2021-01-17 22:31:11)

Offline

#10 2021-09-23 07:59:58

PeterRies
Member
Registered: 2021-09-23
Posts: 1

Re: xrandr changes output names

Hello everybody,

older thread but same problem. Though I'm no arch user I'd like to jump into this thread as it's the only one I found that describes my problem, too and arch forum and wiki often helped me a lot in the past.

My hardware is 99% the same as (OP) mohlerm - Thinkpad T14 with AMD Ryzen 7 4750U and a Thinkpad USB-C Dock Gen. 2 - all with latest firmware as of Sep. '21. OK, I'm running a Kubuntu 20.04 LTS but have had this behaviour with a lot of kernels 5.8, 5.9, ... up to my current one 5.11.0-36. Kubuntu is a LTS version so I'm not quite up to date as arch. Plasma version is 5.18.5 and xserver shows 11.0 (release 1.20.11). Xrandr 1.5.0, RandR 1.6

My behaviour very close to mohlerm:

* start (real boot up, no resume) laptop docked with external monitor -> xrandr attaches monitor to "DisplayPort-4"
* suspend
* resume undocked
* suspend undocked
* resume now docked again

voila: xrandr now attaches my external monitor to "DisplayPort-5"

I can now repeat this as often as I like - it stays with DisplayPort-5 until a reboot.

If I don't undock I can suspend/resume as often as I like: monitor is stays on DisplayPort-4.

Usually I would not care the port number I get, but this results in a "messed up screen" in Plasma, as each Display has it's own configuration, so I have to apply every configuration for "DisplayPort-4" again to "DisplayPort-5" is above.

So has anybody who joined this thread found the cause or a solution for this? Thanks a lot.


Thinkpad T14 - AMD Ryzen 7 4750U - 32 GB RAM - 1 TB SSD - Lenovo USB-C Dock Gen. 2 - no arch user - running kubuntu 20.04 LTS

Offline

Board footer

Powered by FluxBB