External DP-MST monitors not lighting after first unplug
Experiencing an issue where one (or both) external monitors are not receiving input after they have been unplugged once and later reconnected. This is on a laptop using a USB-C dock, I frequently plug/unplug the laptop in. When this issue happens I have to kill sway or reboot in order for the monitors to light up again.
A couple other pieces of information:
-
swaymsg -t get_outputs
recognizes the monitors as connected - the affected monitor(s) are receiving input and the backlight is on, but its a blank screen
- switching to TTY2 will activate the monitors when I'm in this state, so I believe this is a sway/wlroots bug. Flipping back to TTY1 they will still be blank
- I have been able to reproduce this with one of, and both of, these ENV vars activated (i.e. they do not fix the issue):
WLR_DRM_NO_ATOMIC=1
andWLR_DRM_NO_MODIFIERS=1
- I have been able to reproduce this on the latest kernel and the LTS kernel (arch)
I've attached both sway and DRM logs following the "DRM Debugging" instructions on the wiki. These logs represent the following order of events:
- from TTY1 without sway running, set up dmesg/drm debugging in the background
- Started sway with no special env vars
- the external dock was plugged in when the laptop booted up, so sway is initializing with all 3 monitors connected
- waited 10s while sway launches. everything is working great
- disconnect the external dock, laptop screen properly lights // everything is going great
- waited 10s
- plug in the external dock. the issue happens: DP-7 properly lights up, eDP-1 properly goes dark, but DP-6 enters the state I described above: monitor backlight is on, but there's nothing there.
swaymsg -t get_outputs
recognizes that all 3 monitors are connected (DP-6, DP-7, and eDP-1) - exit sway, save the logs.
Any help would be greatly appreciated, this is a big workflow issue for the laptop use case.
Edited by Ghost User