Display settings not applied (monitors do not turn on / use wrong resolution)
Affected version
mutter 46.0 on Arch Linux, Wayland
Bug summary
Since updating to Gnome 46, I have issues with my two external monitors (3840 x 2180 resolution @ 60Hz) connected to my laptop via an USB-C dock. After booting, the monitors remain in sleep mode and do not turn on even though they are active according to Gnome Settings. Modifying the display settings and applying the changes does not result in the monitors to wake up, although the changes are reflected by the Settings UI. When logging out and returning to GDM, the monitors reliably turn on and stay on after logging back in. However, the monitors always use a fixed, non-native resolution. Again, changing any display settings (apart from the scaling factor) does not affect the output at all. The external monitors will always stay on the same resolution and refresh rate. When set to a lower resolution than the native display resolution, Gnome shell only occupies a small part of the screen matching the resolution set in Gnome settings. When using a greater resolution than the one the monitors are stuck on, Gnome shell expands beyond the right and bottom edge of the screen.
The above issues do not affect the internal display of my laptop. They occur as described when running the Wayland session. On X11, the monitors never turn on (even after logging out and back in) and the laptop's internal display flickers (which is probably an unrelated issue).
The issues occurred for the first time after updating to Gnome 46. Before that, everything was running smoothly. The laptop, dock and external monitors work perfectly fine when running KDE. There are also no issues when connecting a different laptop running Windows. Therefore I tend to rule out any hardware issues. When connecting only one of the external monitors directly via HDMI, there are also no problems.
I'm not sure if my problems are actually related to mutter, but from what I know about Gnome it seems like the most probable offender. I would appreciate any tips on how to further debug this issue.
Thank you very much!