This is with a Vega64 card, connected to two monitors via DisplayPort 1.2. When the connector is force-probed with a call to drmModeGetConnector, this is causing the connection to the monitor to disconnect, and reconnect. I'm seeing this issue using Wayland, specifically a wlroots based compositor. This patch to wlroots (which unfortunately needs to be reverted) stopped the problem happening: https://github.com/swaywm/wlroots/pull/2482/files
This is also a problem when using xorg-server, after monitors wake up from DPMS they reconnect (causing issues in whatever DE I'm using, such as all windows moving to one monitor). If I can recreate the issue with a BASH command I'll post it, I've tried the below command but for some reason it doesn't reproduce the problem: echo detect | sudo tee /sys/class/drm/card0-DP-1/status | sudo tee /sys/class/drm/card0-DP-2/status
Here are logs using Wayfire (a wlroots compositor), note the disconnect immediately after modesetting. The DPMS sleep happened at 15:46:45, and the wakeup at 15:46:54. DD 22-12-20 15:46:45.685 - [backend/drm/drm.c:1075] Reallocating CRTCs DD 22-12-20 15:46:45.686 - [backend/drm/drm.c:1086] State before reallocation: DD 22-12-20 15:46:45.686 - [backend/drm/drm.c:1092] 'DP-1' crtc=0 state=3 desired_enabled=0 DD 22-12-20 15:46:45.686 - [backend/drm/drm.c:1092] 'DP-2' crtc=1 state=3 desired_enabled=1 DD 22-12-20 15:46:45.686 - [backend/drm/drm.c:1092] 'HDMI-A-1' crtc=-1 state=0 desired_enabled=0 DD 22-12-20 15:46:45.686 - [backend/drm/drm.c:1092] 'HDMI-A-2' crtc=-1 state=0 desired_enabled=0 DD 22-12-20 15:46:45.686 - [backend/drm/drm.c:1143] State after reallocation: DD 22-12-20 15:46:45.686 - [backend/drm/drm.c:1150] 'DP-1' crtc=0 state=3 desired_enabled=0 DD 22-12-20 15:46:45.686 - [backend/drm/drm.c:1150] 'DP-2' crtc=1 state=3 desired_enabled=1 DD 22-12-20 15:46:45.686 - [backend/drm/drm.c:1150] 'HDMI-A-1' crtc=-1 state=0 desired_enabled=0 DD 22-12-20 15:46:45.686 - [backend/drm/drm.c:1150] 'HDMI-A-2' crtc=-1 state=0 desired_enabled=0 DD 22-12-20 15:46:45.719 - [backend/drm/drm.c:1075] Reallocating CRTCs DD 22-12-20 15:46:45.719 - [backend/drm/drm.c:1086] State before reallocation: DD 22-12-20 15:46:45.719 - [backend/drm/drm.c:1092] 'DP-1' crtc=0 state=3 desired_enabled=0 DD 22-12-20 15:46:45.719 - [backend/drm/drm.c:1092] 'DP-2' crtc=1 state=3 desired_enabled=0 DD 22-12-20 15:46:45.719 - [backend/drm/drm.c:1092] 'HDMI-A-1' crtc=-1 state=0 desired_enabled=0 DD 22-12-20 15:46:45.719 - [backend/drm/drm.c:1092] 'HDMI-A-2' crtc=-1 state=0 desired_enabled=0 DD 22-12-20 15:46:45.719 - [backend/drm/drm.c:1143] State after reallocation: DD 22-12-20 15:46:45.719 - [backend/drm/drm.c:1150] 'DP-1' crtc=0 state=3 desired_enabled=0 DD 22-12-20 15:46:45.719 - [backend/drm/drm.c:1150] 'DP-2' crtc=1 state=3 desired_enabled=0 DD 22-12-20 15:46:45.719 - [backend/drm/drm.c:1150] 'HDMI-A-1' crtc=-1 state=0 desired_enabled=0 DD 22-12-20 15:46:45.719 - [backend/drm/drm.c:1150] 'HDMI-A-2' crtc=-1 state=0 desired_enabled=0 II 22-12-20 15:46:54.467 - [backend/drm/drm.c:793] connector DP-1: Modesetting with '3840x2160@59997mHz' DD 22-12-20 15:46:54.467 - [backend/drm/drm.c:679] connector DP-1: Initializing renderer II 22-12-20 15:46:54.483 - [backend/drm/drm.c:793] connector DP-2: Modesetting with '3840x2160@59997mHz' DD 22-12-20 15:46:54.483 - [backend/drm/drm.c:679] connector DP-2: Initializing renderer II 22-12-20 15:46:56.808 - [backend/drm/drm.c:1219] Scanning DRM connectors on /dev/dri/card0 II 22-12-20 15:46:56.810 - [backend/drm/drm.c:1388] 'DP-2' disconnected DD 22-12-20 15:46:56.907 - [backend/drm/drm.c:1075] Reallocating CRTCs DD 22-12-20 15:46:56.907 - [backend/drm/drm.c:1086] State before reallocation: DD 22-12-20 15:46:56.907 - [backend/drm/drm.c:1092] 'DP-1' crtc=0 state=3 desired_enabled=1 DD 22-12-20 15:46:56.907 - [backend/drm/drm.c:1092] 'DP-2' crtc=1 state=3 desired_enabled=0 DD 22-12-20 15:46:56.907 - [backend/drm/drm.c:1092] 'HDMI-A-1' crtc=-1 state=0 desired_enabled=0 DD 22-12-20 15:46:56.907 - [backend/drm/drm.c:1092] 'HDMI-A-2' crtc=-1 state=0 desired_enabled=0 DD 22-12-20 15:46:56.907 - [backend/drm/drm.c:1143] State after reallocation: DD 22-12-20 15:46:56.907 - [backend/drm/drm.c:1150] 'DP-1' crtc=0 state=3 desired_enabled=1 DD 22-12-20 15:46:56.907 - [backend/drm/drm.c:1150] 'DP-2' crtc=1 state=3 desired_enabled=0 DD 22-12-20 15:46:56.907 - [backend/drm/drm.c:1150] 'HDMI-A-1' crtc=-1 state=0 desired_enabled=0 DD 22-12-20 15:46:56.907 - [backend/drm/drm.c:1150] 'HDMI-A-2' crtc=-1 state=0 desired_enabled=0 DD 22-12-20 15:46:56.907 - [backend/drm/drm.c:1049] connector DP-2: De-allocating CRTC 1 DD 22-12-20 15:46:56.908 - [backend/drm/drm.c:1075] Reallocating CRTCs DD 22-12-20 15:46:56.908 - [backend/drm/drm.c:1086] State before reallocation: DD 22-12-20 15:46:56.908 - [backend/drm/drm.c:1092] 'DP-1' crtc=0 state=3 desired_enabled=1 DD 22-12-20 15:46:56.908 - [backend/drm/drm.c:1092] 'DP-2' crtc=-1 state=0 desired_enabled=0 DD 22-12-20 15:46:56.908 - [backend/drm/drm.c:1092] 'HDMI-A-1' crtc=-1 state=0 desired_enabled=0 DD 22-12-20 15:46:56.908 - [backend/drm/drm.c:1092] 'HDMI-A-2' crtc=-1 state=0 desired_enabled=0 DD 22-12-20 15:46:56.908 - [backend/drm/drm.c:1143] State after reallocation: DD 22-12-20 15:46:56.908 - [backend/drm/drm.c:1150] 'DP-1' crtc=0 state=3 desired_enabled=1 DD 22-12-20 15:46:56.908 - [backend/drm/drm.c:1150] 'DP-2' crtc=-1 state=0 desired_enabled=0 DD 22-12-20 15:46:56.908 - [backend/drm/drm.c:1150] 'HDMI-A-1' crtc=-1 state=0 desired_enabled=0 DD 22-12-20 15:46:56.908 - [backend/drm/drm.c:1150] 'HDMI-A-2' crtc=-1 state=0 desired_enabled=0 DD 22-12-20 15:46:56.908 - [backend/drm/drm.c:1442] No connector for CRTC 49 II 22-12-20 15:46:57.102 - [backend/drm/drm.c:1219] Scanning DRM connectors on /dev/dri/card0 II 22-12-20 15:46:57.102 - [backend/drm/drm.c:1388] 'DP-1' disconnected DD 22-12-20 15:46:57.173 - [backend/drm/drm.c:1075] Reallocating CRTCs DD 22-12-20 15:46:57.173 - [backend/drm/drm.c:1086] State before reallocation: DD 22-12-20 15:46:57.173 - [backend/drm/drm.c:1092] 'DP-1' crtc=0 state=3 desired_enabled=0 DD 22-12-20 15:46:57.173 - [backend/drm/drm.c:1092] 'DP-2' crtc=-1 state=0 desired_enabled=0 DD 22-12-20 15:46:57.173 - [backend/drm/drm.c:1092] 'HDMI-A-1' crtc=-1 state=0 desired_enabled=0 DD 22-12-20 15:46:57.173 - [backend/drm/drm.c:1092] 'HDMI-A-2' crtc=-1 state=0 desired_enabled=0 DD 22-12-20 15:46:57.174 - [backend/drm/drm.c:1143] State after reallocation: DD 22-12-20 15:46:57.174 - [backend/drm/drm.c:1150] 'DP-1' crtc=0 state=3 desired_enabled=0 DD 22-12-20 15:46:57.174 - [backend/drm/drm.c:1150] 'DP-2' crtc=-1 state=0 desired_enabled=0 DD 22-12-20 15:46:57.174 - [backend/drm/drm.c:1150] 'HDMI-A-1' crtc=-1 state=0 desired_enabled=0 DD 22-12-20 15:46:57.174 - [backend/drm/drm.c:1150] 'HDMI-A-2' crtc=-1 state=0 desired_enabled=0 DD 22-12-20 15:46:57.174 - [backend/drm/drm.c:1049] connector DP-1: De-allocating CRTC 0 DD 22-12-20 15:46:57.174 - [backend/drm/drm.c:1075] Reallocating CRTCs DD 22-12-20 15:46:57.174 - [backend/drm/drm.c:1086] State before reallocation: DD 22-12-20 15:46:57.174 - [backend/drm/drm.c:1092] 'DP-1' crtc=-1 state=0 desired_enabled=0 DD 22-12-20 15:46:57.174 - [backend/drm/drm.c:1092] 'DP-2' crtc=-1 state=0 desired_enabled=0 DD 22-12-20 15:46:57.174 - [backend/drm/drm.c:1092] 'HDMI-A-1' crtc=-1 state=0 desired_enabled=0 DD 22-12-20 15:46:57.174 - [backend/drm/drm.c:1092] 'HDMI-A-2' crtc=-1 state=0 desired_enabled=0 DD 22-12-20 15:46:57.175 - [backend/drm/drm.c:1143] State after reallocation: DD 22-12-20 15:46:57.175 - [backend/drm/drm.c:1150] 'DP-1' crtc=-1 state=0 desired_enabled=0 DD 22-12-20 15:46:57.175 - [backend/drm/drm.c:1150] 'DP-2' crtc=-1 state=0 desired_enabled=0 DD 22-12-20 15:46:57.175 - [backend/drm/drm.c:1150] 'HDMI-A-1' crtc=-1 state=0 desired_enabled=0 DD 22-12-20 15:46:57.175 - [backend/drm/drm.c:1150] 'HDMI-A-2' crtc=-1 state=0 desired_enabled=0
Is this reproducible with 6.5.5 or 6.1.55? If it is, please report here: https://gitlab.freedesktop.org/drm/amd/-/issues