You are not logged in.
Hey all,
I have a setup with an AMD 6900XT GPU and a 7900X CPU. The motherboard has a built-in DisplayPort out. Single monitor connected to the GPU via a mini-DP (Monitor side) to DisplayPort. Sometimes I will lose monitor output from the GPU, when:
1. Switching inputs on the monitor. The monitor will switch fine, but upon returning to the mini-DP input the screen will be blank.
2. The machine suspends the monitor due to lack of activity. Most of the time jiggling the mouse/etc will return signal to the display, but sometimes the monitor will just show no input.
In both cases disconnecting the monitor from the GPU and plugging it into the motherboard DisplayPort port will give me a signal. The dedicated GPU will be rendered useless until the machine reboots.
xrandr still sees both GPUs:
xrandr --listproviders
Providers: number : 2
Provider 0: id: 0x5a cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 6 outputs: 32 associated providers: 1 name:AMD Radeon RX 6900 XT @ pci:0000:03:00.0
Provider 1: id: 0xa0 cap: 0xf, Source Output, Sink Output, Source Offload, Sink Offload crtcs: 4 outputs: 7 associated providers: 1 name:AMD Radeon Graphics @ pci:0000:13:00.0
Journalctl will display some cryptic errors that I haven't been able to find online:
Feb 29 10:28:01 Starship kernel: amdgpu 0000:03:00.0: [drm] *ERROR* Failed to create connector for port 000000000feb3328: -12
Feb 29 10:28:01 Starship kernel: amdgpu 0000:03:00.0: [drm] *ERROR* Failed to create connector for port 00000000a246396e: -12
Feb 29 10:28:56 Starship kernel: amdgpu 0000:03:00.0: [drm] *ERROR* Failed to create connector for port 000000007c99e1fd: -12
Feb 29 10:28:56 Starship kernel: amdgpu 0000:03:00.0: [drm] *ERROR* Failed to create connector for port 00000000133ff197: -12
This issue has been going on since I built this machine, about half a year now. Nothing is overclocked and I have not messed with power management. Ideally I would want to just fix this, but if I can also just force the GPU to reset or some such, that'd be an okay workaround.
Thanks,
Offline
Those errors timewise align with the output failures?
They're from drm_dp_mst_port_add_connector (daisy chaining) - since you're using a miniDP and mention "Switching inputs on the monitor", can you try this w/ the system being the only source of that monitor and preferably using the main entrance (I guess there's some other input on a regular DP?)
Wild guess:
https://gitlab.freedesktop.org/drm/amd/-/issues/3023
Does it help to switch around framebuffers (ctrl+alt+F123456789)?
Online
Okay, I think I know why this is happening. I took a cursory look at the kernel DRM code that trips this error, and it seems that there is a max cap on the number of connectors it can create. Somewhere, a connector is being leaked as I switch between inputs on the monitor.
Here is the xrandr output prior to switching inputs:
Screen 0: minimum 320 x 200, current 2560 x 1440, maximum 16384 x 16384
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)
HDMI-A-0 disconnected (normal left inverted right x axis y axis)
DisplayPort-6 connected primary 2560x1440+0+0 (normal left inverted right x axis y axis) 553mm x 311mm
2560x1440 59.95*+
2048x1152 60.00
1920x1200 59.88
1920x1080 60.00 50.00 59.94 30.00 25.00 24.00 29.97 23.98
1600x1200 60.00
1680x1050 59.95
1280x1024 75.02 60.02
1200x960 59.99
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
DisplayPort-7 disconnected (normal left inverted right x axis y axis)
HDMI-A-1-1 disconnected (normal left inverted right x axis y axis)
DisplayPort-1-3 disconnected (normal left inverted right x axis y axis)
DisplayPort-1-4 disconnected (normal left inverted right x axis y axis)
DisplayPort-1-5 disconnected (normal left inverted right x axis y axis)And here it is after switching from mini-DP to HDMI1 and back:
Screen 0: minimum 320 x 200, current 2560 x 1440, maximum 16384 x 16384
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)
HDMI-A-0 disconnected (normal left inverted right x axis y axis)
DisplayPort-6 disconnected (normal left inverted right x axis y axis)
DisplayPort-7 disconnected (normal left inverted right x axis y axis)
DisplayPort-8 connected primary 2560x1440+0+0 (normal left inverted right x axis y axis) 553mm x 311mm
2560x1440 59.95*+
2048x1152 60.00
1920x1200 59.88
1920x1080 60.00 50.00 59.94 30.00 25.00 24.00 29.97 23.98
1600x1200 60.00
1680x1050 59.95
1280x1024 75.02 60.02
1200x960 59.99
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
DisplayPort-9 disconnected (normal left inverted right x axis y axis)
HDMI-A-1-1 disconnected (normal left inverted right x axis y axis)
DisplayPort-1-3 disconnected (normal left inverted right x axis y axis)
DisplayPort-1-4 disconnected (normal left inverted right x axis y axis)
DisplayPort-1-5 disconnected (normal left inverted right x axis y axis)In the second output, two extra listings are present: DisplayPort-8 and DisplayPort-9. Furthermore, the monitor used to be connected to DisplayPort-6, and now it is connected to DisplayPort-8.
The DRM component of the GPU driver seems to have a cap of maybe 32 or so. When a new one past that needs to be created, the creation fails and logs the journalctl error. So somewhere these connectors should be torn down, and they aren't. Anyone know how I can follow up on this?
Thanks,
Offline
You're using xf86-video-amdgpu, right?
Same problem w/ the modesetting driver?
Online
Yes, I am using xf86-vide-amdgpu. I have not tried with the modesetting driver, but I am waiting till Monday when I can get my hands on a DP-DP (no mini DP) cable to test this out that way. In the meantime, this seems worth filing a proper bug somewhere.
Offline
That's the point ![]()
https://gitlab.freedesktop.org/drm/amd/-/issues
https://gitlab.freedesktop.org/xorg/dri … u/-/issues
But you need to know the culprit to select which tree to bark at.
Online