GDM not starting properly?

I've been daily driving Linux now for about 3 months, debian (Ubuntu) first for about 2 months and now i switched to Arch (Garuda) so i don't become to comfortable with apt (and debian) and rather learn stuff on Arch with pacman from the beginning.
Because i really liked GNOME on Ubuntu (yes i tried KDE, not my thing) i choose the GNOME Manjaro version first and fresh installed it... first start: my Login screen was nuked and i couldn't log in (grey screen with the top bar loaded but no login). After a lot of google searches i couldn't really get it to work... so i looked for new Distro's that are also based on Arch and got to Garuda where i also choose the GNOME version... fresh install: same problem as with Manjaro. So i did some more research and couldn't find anything that helped me longterm.
My biggest Problem is that i don't really knew what i had to google for since i don't know what is broken, after some time i found a temporary fix myself which is:
switch to TTY2; login; "systemctl restart gdm" and now i have a log in screen properly loading.
This "temporary fix" now got it's own alias so i don't have to type the whole command everytime lol.
I've also had other problems since i switched to Arch(Garuda) that kinda taint my experience but those are minor and i'd like to fix this big one first.

I think my GDM service is somehow broken but i am uncertain and in first place: I need help so i know where to look for problems and maybe then i can solve them myself with the help of google.
I am missing the puzzle piece to start this "investigation" with because it's a problem since fresh install and i haven't done anything that could have caused this.
If i can provide any more information that may be helpful i am happy to do so, Garuda is running on it's own M2 SSD besides Windows that i shoved onto an old 80GB SSD, so they are seperate and shouldn't interfere.

Can you post your inxi -Faz, please, as text.

 Desktop Environment: GNOME 41.1 

sure :smiley:

System:    Kernel: 5.15.6-zen2-1-zen x86_64 bits: 64 compiler: gcc v: 11.1.0
           parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-zen root=UUID=ece6d7e8-daeb-450b-88ec-439ae6483d60 rw
           [email protected] quiet
           root=/dev/mapper/luks-830f91c5-cca1-49e0-b01e-40472e8ffc43 splash rd.udev.log_priority=3 vt.global_cursor_default=0
           systemd.unified_cgroup_hierarchy=1 loglevel=3
           Desktop: GNOME 41.1 tk: GTK 3.24.30 wm: gnome-shell dm: GDM 41.0 Distro: Garuda Linux base: Arch Linux
Machine:   Type: Desktop Mobo: ASUSTeK model: ROG STRIX X470-F GAMING v: Rev X.0x serial: <superuser required>
           UEFI: American Megatrends v: 4207 date: 12/07/2018
CPU:       Info: 6-Core model: AMD Ryzen 5 2600X bits: 64 type: MT MCP arch: Zen+ family: 17 (23) model-id: 8 stepping: 2
           microcode: 800820D cache: L1: 576 KiB L2: 3 MiB L3: 16 MiB
           flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm bogomips: 86228
           Speed: 3171 MHz min/max: 2200/3600 MHz boost: enabled Core speeds (MHz): 1: 3171 2: 3455 3: 4235 4: 4219 5: 2831
           6: 2665 7: 2407 8: 3573 9: 2433 10: 2966 11: 4109 12: 3361
           Vulnerabilities: Type: itlb_multihit status: Not affected
           Type: l1tf status: Not affected
           Type: mds status: Not affected
           Type: meltdown status: Not affected
           Type: spec_store_bypass mitigation: Speculative Store Bypass disabled via prctl
           Type: spectre_v1 mitigation: usercopy/swapgs barriers and __user pointer sanitization
           Type: spectre_v2 mitigation: Full AMD retpoline, IBPB: conditional, STIBP: disabled, RSB filling
           Type: srbds status: Not affected
           Type: tsx_async_abort status: Not affected
Graphics:  Device-1: NVIDIA GP104 [GeForce GTX 1070] vendor: ASUSTeK driver: nvidia v: 495.44 alternate: nouveau,nvidia_drm
           bus-ID: 09:00.0 chip-ID: 10de:1b81 class-ID: 0300
           Display: x11 server: X.Org compositor: gnome-shell driver: loaded: nvidia unloaded: modesetting
           alternate: fbdev,nouveau,nv,vesa display-ID: :1 screens: 1
           Screen-1: 0 s-res: 5760x2160 s-dpi: 96 s-size: 1524x572mm (60.0x22.5") s-diag: 1628mm (64.1")
           Monitor-1: DVI-D-0 res: 1920x1080 hz: 60 dpi: 96 size: 510x290mm (20.1x11.4") diag: 587mm (23.1")
           Monitor-2: DP-2 res: 3840x2160 hz: 60 dpi: 163 size: 600x340mm (23.6x13.4") diag: 690mm (27.2")
           OpenGL: renderer: NVIDIA GeForce GTX 1070/PCIe/SSE2 v: 4.6.0 NVIDIA 495.44 direct render: Yes
Audio:     Device-1: NVIDIA GP104 High Definition Audio vendor: ASUSTeK driver: snd_hda_intel v: kernel bus-ID: 09:00.1
           chip-ID: 10de:10f0 class-ID: 0403
           Device-2: Advanced Micro Devices [AMD] Family 17h HD Audio vendor: ASUSTeK driver: snd_hda_intel v: kernel
           bus-ID: 0b:00.3 chip-ID: 1022:1457 class-ID: 0403
           Device-3: Sennheiser electronic & KG MOMENTUM 3 type: USB driver: hid-generic,snd-usb-audio,usbhid bus-ID: 1-3:2
           chip-ID: 1377:6004 class-ID: 0300 serial: <filter>
           Device-4: Cambridge Silicon Radio B26 type: USB driver: hid-generic,snd-usb-audio,usbhid bus-ID: 5-2:2
           chip-ID: 0a12:1004 class-ID: 0300
           Sound Server-1: ALSA v: k5.15.6-zen2-1-zen running: yes
           Sound Server-2: JACK v: 1.9.19 running: no
           Sound Server-3: PulseAudio v: 15.0 running: no
           Sound Server-4: PipeWire v: 0.3.40 running: yes
Network:   Device-1: Intel I211 Gigabit Network vendor: ASUSTeK driver: igb v: kernel port: e000 bus-ID: 07:00.0
           chip-ID: 8086:1539 class-ID: 0200
           IF: enp7s0 state: up speed: 100 Mbps duplex: full mac: <filter>
Drives:    Local Storage: total: 1.94 TiB used: 144.97 GiB (7.3%)
           SMART Message: Required tool smartctl not installed. Check --recommends
           ID-1: /dev/nvme0n1 maj-min: 259:3 vendor: Western Digital model: WDS100T2B0C-00PXH0 size: 931.51 GiB block-size:
           physical: 512 B logical: 512 B speed: 31.6 Gb/s lanes: 4 type: SSD serial: <filter> rev: 211210WD temp: 39.9 C
           scheme: GPT
           ID-2: /dev/nvme1n1 maj-min: 259:0 vendor: SanDisk model: Extreme Pro 500GB size: 465.76 GiB block-size:
           physical: 512 B logical: 512 B speed: 31.6 Gb/s lanes: 4 type: SSD serial: <filter> rev: 111110WD temp: 50.9 C
           scheme: GPT
           ID-3: /dev/sda maj-min: 8:0 vendor: SanDisk model: SDSSDH3 500G size: 465.76 GiB block-size: physical: 512 B
           logical: 512 B speed: 6.0 Gb/s type: SSD serial: <filter> rev: 40RL scheme: GPT
           ID-4: /dev/sdb maj-min: 8:16 vendor: Toshiba model: THNSNJ128GCST size: 119.24 GiB block-size: physical: 512 B
           logical: 512 B speed: 6.0 Gb/s type: SSD serial: <filter> rev: 0102 scheme: GPT
Partition: ID-1: / raw-size: 931.21 GiB size: 931.21 GiB (100.00%) used: 144.97 GiB (15.6%) fs: btrfs dev: /dev/dm-0
           maj-min: 254:0 mapped: luks-830f91c5-cca1-49e0-b01e-40472e8ffc43
           ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%) used: 720 KiB (0.2%) fs: vfat dev: /dev/nvme0n1p1
           maj-min: 259:4
           ID-3: /home raw-size: 931.21 GiB size: 931.21 GiB (100.00%) used: 144.97 GiB (15.6%) fs: btrfs dev: /dev/dm-0
           maj-min: 254:0 mapped: luks-830f91c5-cca1-49e0-b01e-40472e8ffc43
           ID-4: /var/log raw-size: 931.21 GiB size: 931.21 GiB (100.00%) used: 144.97 GiB (15.6%) fs: btrfs dev: /dev/dm-0
           maj-min: 254:0 mapped: luks-830f91c5-cca1-49e0-b01e-40472e8ffc43
           ID-5: /var/tmp raw-size: 931.21 GiB size: 931.21 GiB (100.00%) used: 144.97 GiB (15.6%) fs: btrfs dev: /dev/dm-0
           maj-min: 254:0 mapped: luks-830f91c5-cca1-49e0-b01e-40472e8ffc43
Swap:      Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default)
           ID-1: swap-1 type: zram size: 15.62 GiB used: 1.15 GiB (7.4%) priority: 100 dev: /dev/zram0
Sensors:   Message: No sensor data found. Is lm-sensors configured?
Info:      Processes: 329 Uptime: 3h 40m wakeups: 0 Memory: 15.62 GiB used: 6.98 GiB (44.7%) Init: systemd v: 249
           tool: systemctl Compilers: gcc: 11.1.0 Packages: pacman: 1278 lib: 390 Shell: fish v: 3.3.1 default: Bash v: 5.1.12
           running-in: gnome-terminal inxi: 3.3.09

1 Like

Have you just run
sudo systemctl enable gdm

Disregaurd, tired. You said you got the top bar so it's enabled and just not fully loading/running until you restart it. might be worth it to nuke and reinstall just gdm. (not sure if that's doable or if removing gdm will try to take the whole DE with it.

1 Like

Is it any different with just the 1080p screen attached?
Maybe? :woman_shrugging:

1 Like

good catch @anon26187667 I didn't even notice the second screen and yeah fresh boot might be scaling wrong putting the inputs off screen. Comically if he had the guest disabled he could just type his password and hit enter to see if that was the case.

Hey worth a shot!

1 Like

that did not fix it sadly, just tried it; same problem

worth a shot but imma try that when there is no other way, dunno what could possibly go down the drain when i do that and i just finished setting everything up as i like it >.<. but ty :smiley:

I'd start here:

and here:

to see if there's anything that sounds similar (though from your initial description, I can't see anything obvious).

The other question,

What happens if you disconnect one or the other display before booting?

1 Like

Well it's all about weeding out the possibilities. Lemme know if a nuke/reinstall of gdm does it. However if you log in via one of your manual restarts go into Garuda Assistant under the Settings tab and disable Guest Support. Then reboot so you get the gibbed GDM screen. Once there just type your password and see what it does. If the login panel is there just hidden the focus should be on the password field.

You could work around the issue by writing a service to restart gdm automatically. I am rather loath to suggest that, as that would be a really ugly hack that in no way addresses the root cause.

1 Like

Sure but you can't grab GDM but the scruff, punch it in the nose and say WHERE IS IT!? WHERE IS THE PROBLEM...I mean he's not Batman. :slight_smile:

@tgb your suggestion is completely doable as a tide over while he continues to investigate.

One of my questions is how do you configure GDM anymore? Is there something perhaps in /etc/default or /etc/gdm that can be set to denote theme, screens etc?

Whadya mean I can't be Batman?

Brute forcing everything is my standard approach to everything in life. The sledgehammer is my go to for almost all obstacles. :rofl:

1 Like

Sledge comes after #1 Have you tried yelling at it? and then #2 Have you tried stabbing it?

1 Like

i've tried it with just the 1920x1080 screen and it had the same problem

1 Like

i for sure yelled at it, stabbing will be the next approach and if nothing helps i'll write a note with "you better be working or i will 'rm -rf /' you" and stick it on the hard drive, maybe the intimidation approach is the right one.

Just for the sake of completeness, could you also try it with just the other one?

1 Like

same result :confused: are there any startup logs of gdm where i could look for errors?

1 Like

i am going through the GDM troubleshooting rn and came to the section "use Xorg backend"... since i am using Xorg rn should i maybe try using wayland or could that majorly ■■■■ something up?

basically doing the reverse of what is stated on the wiki and comment the "WaylandEnable" line

File: /etc/gdm/custom.conf
# GDM configuration storage

# Uncomment the line below to force the login screen to use Xorg

You're running with an Nvidia driver so GDM will disable Wayland by default... it might work (though you also have to force it to load by editing /usr/lib/udev/rules.d/61-gdm.conf:

I also suspect there's a race condition happening somewhere, e.g. GDM is loading before the nvidia driver (which is why restarting it makes it work), e.g. a variation of

If this is the case then either editing the GDM service to add a delay or enabling early loading will be worth trying (but also watch out for the requirement to regenerate the initramfs on driver updates): .

I think adding a delay is the easiest and least invasive option to try first.