I’m currently trying to investigate an issue: Bug #1672033 “Xorg does not detect displays in rootless mode on ...” : Bugs : mutter package : Ubuntu
Driver: 378.13, KMS enabled.
gdm starts in wayland mode and gnome-shell wayland session works more or less fine.
Trying to start gnome-shell Xorg session causes a crash in libmutter.
The crash occurs here: https://github.com/GNOME/mutter/blob/master/src/backends/meta-backend.c#L128-L133
MetaLogicalMonitor *primary;
primary =
meta_monitor_manager_get_primary_logical_monitor (monitor_manager);
meta_backend_warp_pointer (backend,
primary->rect.x + primary->rect.width / 2,
primary->rect.y + primary->rect.height / 2);
because ‘primary’ pointers’ value is nullptr, and accessing it’s members of course causes a segfault, which means, there are no (primary) displays.
Starting “lightdm --test-mode” as a root provides a workaround and causes Xorg and/or nvidia driver to find displays.
/usr/lib/gdm3/gdm-x-session: (--) NVIDIA(0): Valid display device(s) on GPU-0 at PCI:3:0:0
/usr/lib/gdm3/gdm-x-session: (--) NVIDIA(0): DFP-0 (boot)
/usr/lib/gdm3/gdm-x-session: (--) NVIDIA(0): DFP-1
/usr/lib/gdm3/gdm-x-session: (--) NVIDIA(0): DFP-2
/usr/lib/gdm3/gdm-x-session: (--) NVIDIA(0): DFP-3
/usr/lib/gdm3/gdm-x-session: (--) NVIDIA(0): DFP-4
/usr/lib/gdm3/gdm-x-session: (--) NVIDIA(0): DFP-5
/usr/lib/gdm3/gdm-x-session: (--) NVIDIA(0): DFP-6
/usr/lib/gdm3/gdm-x-session: (--) NVIDIA(0): DFP-7
/usr/lib/gdm3/gdm-x-session: (--) NVIDIA(GPU-0): DELL U2412M (DFP-0): connected
/usr/lib/gdm3/gdm-x-session: (--) NVIDIA(GPU-0): DELL U2412M (DFP-0): Internal TMDS
/usr/lib/gdm3/gdm-x-session: (--) NVIDIA(GPU-0): DELL U2412M (DFP-0): 330.0 MHz maximum pixel clock
After doing this gnome-shell Xorg session works fine.
I presume, starting lightdm as root somehow causes nvidia driver to initialize displays.
Could you give me an advise, what could be the reason for the problem? Why doesn’t Xorg find monitors on nvidia drivers, when it’s started without root privileges?