GNOME Bugzilla – Bug 750610
wayland fails to start when too many monitors plugged in
Last modified: 2021-07-05 13:53:23 UTC
I've a user who has an Intel Ironlake laptop with two external monitors plugged into the dock, along with the internal panel. This machine can only support 2 monitors, however under non-wayland things work, the two monitors light up and the user can log in. Under wayland, we get a bunch of errors in the journal, and gdm never shows up.
What errors are in the journal? We don't all have three-monitor rigs to go around, you know :)
Jun 11 11:53:28 avernus.bne.redhat.com gnome-session[2440]: (gnome-shell:2565): Cogl-WARNING **: Failed to set crtc mode 1280x800: No such file or directory Jun 11 11:53:28 avernus.bne.redhat.com gnome-session[2440]: (gnome-shell:2565): Cogl-WARNING **: Failed to flip: No such file or directory Jun 11 11:53:28 avernus.bne.redhat.com gnome-session[2440]: (gnome-shell:2565): Cogl-WARNING **: Failed to set crtc mode 1280x800: No such file or directory Jun 11 11:53:28 avernus.bne.redhat.com gnome-session[2440]: (gnome-shell:2565): Cogl-WARNING **: Failed to set crtc mode 1280x800: No such file or directory Jun 11 11:53:28 avernus.bne.redhat.com gnome-session[2440]: (gnome-shell:2565): Cogl-WARNING **: Failed to set crtc mode 1280x800: No such file or directory Jun 11 11:53:28 avernus.bne.redhat.com gnome-session[2440]: (gnome-shell:2565): Cogl-WARNING **: Failed to set crtc mode 1280x800: No such file or directory Jun 11 11:53:28 avernus.bne.redhat.com gnome-session[2440]: (gnome-shell:2565): Cogl-WARNING **: Failed to set crtc mode 1280x800: No such file or directory Jun 11 11:53:28 avernus.bne.redhat.com gnome-session[2440]: (gnome-shell:2565): Cogl-WARNING **: Failed to set crtc mode 1280x800: No such file or directory Jun 11 11:53:29 avernus.bne.redhat.com gnome-session[2440]: (gnome-shell:2565): Cogl-WARNING **: Failed to set crtc mode 1280x800: No such file or directory Jun 11 11:53:29 avernus.bne.redhat.com gnome-session[2440]: (gnome-shell:2565): Cogl-WARNING **: Failed to set crtc mode 1280x800: No such file or directory Jun 11 11:53:29 avernus.bne.redhat.com gnome-session[2440]: (gnome-shell:2565): Cogl-WARNING **: Failed to set crtc mode 1280x800: No such file or directory Jun 11 11:53:29 avernus.bne.redhat.com gnome-session[2440]: (gnome-shell:2565): Cogl-WARNING **: Failed to set crtc mode 1280x800: No such file or directory Jun 11 11:53:29 avernus.bne.redhat.com gnome-session[2440]: (gnome-shell:2565): Cogl-WARNING **: Failed to set crtc mode 1280x800: No such file or directory Jun 11 11:53:29 avernus.bne.redhat.com gnome-session[2440]: (gnome-shell:2565): Cogl-WARNING **: Failed to set crtc mode 1280x800: No such file or directory Jun 11 11:53:29 avernus.bne.redhat.com gnome-session[2440]: (gnome-shell:2565): Cogl-WARNING **: Failed to set crtc mode 1280x800: No such file or directory Jun 11 11:53:29 avernus.bne.redhat.com gnome-session[2440]: (gnome-shell:2565): Cogl-WARNING **: Failed to set crtc mode 1280x800: No such file or directory Jun 11 11:53:29 avernus.bne.redhat.com gnome-session[2440]: (gnome-shell:2565): Cogl-WARNING **: Failed to set crtc mode 1280x800: No such file or directory Jun 11 11:53:29 avernus.bne.redhat.com gnome-session[2440]: (gnome-shell:2565): Cogl-WARNING **: Failed to set crtc mode 1280x800: No such file or directory Jun 11 11:53:29 avernus.bne.redhat.com gnome-session[2440]: (gnome-shell:2565): Cogl-WARNING **: Failed to set crtc mode 1280x800: No such file or directory Jun 11 11:53:29 avernus.bne.redhat.com gnome-session[2440]: (gnome-shell:2565): Cogl-WARNING **: Failed to set crtc mode 1280x800: No such file or directory Jun 11 11:53:29 avernus.bne.redhat.com gnome-session[2440]: (gnome-shell:2565): Cogl-WARNING **: Failed to set crtc mode 1280x800: No such file or directory Jun 11 11:53:29 avernus.bne.redhat.com gnome-session[2440]: (gnome-shell:2565): Cogl-WARNING **: Failed to set crtc mode 1280x800: No such file or directory Jun 11 11:53:29 avernus.bne.redhat.com gnome-session[2440]: Entering running state Jun 11 11:53:29 avernus.bne.redhat.com dbus[1733]: [system] Activating via systemd: service name='org.freedesktop.ColorManager' unit='colord.service' Jun 11 11:53:29 avernus.bne.redhat.com gnome-session[2440]: (gnome-shell:2565): Cogl-WARNING **: Failed to set crtc mode 1280x800: No such file or directory Jun 11 11:53:29 avernus.bne.redhat.com systemd[1]: Starting Manage, Install and Generate Color Profiles... Jun 11 11:53:29 avernus.bne.redhat.com systemd[1]: Received SIGRTMIN+21 from PID 307 (plymouthd). Jun 11 11:53:29 avernus.bne.redhat.com gnome-session[2440]: (gnome-shell:2565): Cogl-WARNING **: Failed to set crtc mode 1280x800: No such file or directory Found a machine to reproduce it on at home.
Huh, why would drmModeSetCrtc be returning ENOENT. Also, do you think 1280x800 makes sense on one of the CRTCs as a mode?
ENOENT is usually returned where you ask the kernel for some resource that doesn't exist, like an illegal crtc or output id. yes 1280x800 is the laptop panel in this case.
does putting COGL_KMS_MIRROR=1 in /etc/environment work around the problem ?
can you post journal log with drm.debug=15 ?
"This machine can only support 2 monitors" this would mean that we somehow fail to detect that and try to enable all tree monitors which of course won't work. We probably simply try to enable all monitors.
so i put a fedora 23 drive into an old dell e6410 and hooked it up to a monitor and my television this evening. I was able to reproduce when the laptop lid was open. I'll attach a minimal patch that gets thing working, but I think a better approach would be for mutter to prefer the config that the kernel set up at boot time. Right now, even if the output is turned off at start up, it tries to turn it on. I'll look into writing that more invasive patch tomorrow assuming my wife doesn't go into labor.
Created attachment 315799 [details] [review] meta-monitor-config: try disabling internal display as last resort Some laptops can only output to two displays at once and users with two external monitors generally want to use both of them, instead of the internal display. If trying all three displays fails, fall back to disabling the internal display.
(back from paternity leave now, will look into this soonish)
I have the same issue (same log as #2) with a ThinkPad x230, when I dock it (dock with 2 monitors attached using 2 active DP adapters + LVDS internal screen), everything freeze and I can't get to TTY even if I undock it. On Xorg, I can use 3 displays on the same configuration. Intel Ivy Bridge (Core ix 3xxx) can use 3 displays if 2 of them are using DP (not passive DP adapters) see https://cloud.vinilox.eu/index.php/s/5IkZuoPBPZMLeVL.
It seems fixed in 3.22, I still need to test this during 1-2 days but so far everything is working. :)
I meant 3.22.2* And it is not fixed. Sometimes it works and sometimes it doesn't. It seems to work fine if I have only 1 monitor plugged in the dock + internal LVDS screen.
Florian has a patch for this I need to test. It's been on my todo list for a while.
GNOME is going to shut down bugzilla.gnome.org in favor of gitlab.gnome.org. As part of that, we are mass-closing older open tickets in bugzilla.gnome.org which have not seen updates for a longer time (resources are unfortunately quite limited so not every ticket can get handled). If you can still reproduce the situation described in this ticket in a recent and supported software version, then please follow https://wiki.gnome.org/GettingInTouch/BugReportingGuidelines and create a new ticket at https://gitlab.gnome.org/GNOME/mutter/-/issues/ Thank you for your understanding and your help.