Delayed gdm start

Summary: Whenever I first start my laptop, the normal boot process happens and then it drops to a black screen with a blinking cursor. If I switch away from that console to a different tty (say tty2) and then back to tty1, gdm will suddenly launch, no problems and will have no issues at all until my next reboot.

I’ve tried searching for this issue but I’ve come up empty, because it’s not that gdm doesn’t start at all, it just doesn’t start right away and all I’m seeing are situations where gdm won’t start at all. I’m not even sure where to start looking to begin to troubleshoot this issue, so would appreciate any pointers in the right direction as to what logs I should be looking at, etc.

Additional information: I am running GNOME on X11. This is a brand new install and my laptop is one of those Intel/Nvidia hybrid jobs. I am currently running only the intel display driver and do not have the nvidia drivers set up (as this is a brand new install, and at the moment I don’t really need the dGPU for anything, so I’m procrastinating :wink: ). But I have gdm set up using the /etc/gdm/custom.conf to run via X11 and not wayland in order to prep for my future of being stuck on X due to nvidia proprietary drivers. Not sure if this makes a difference or not or if there’s additional setup I need to do.

I’m switching in from Manjaro and for what it’s worth the same thing was happening over there as well.

This isn’t super critical, but obviously it’s a little annoying and I’d like to understand what’s going on :wink:

Could you display the file /etc/gdm/custom.conf and your /etc/fstab ?

Sure can.

GDM config:

# GDM configuration storage

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




# Uncomment the line below to turn on debugging

# /etc/fstab: static file system information.
# Use 'blkid' to print the universally unique identifier for a device; this may
# be used with UUID= as a more robust way to name devices that works even if
# disks are added and removed. See fstab(5).
# <file system>             <mount point>  <type>  <options>  <dump>  <pass>
UUID=AC43-6CBC                            /boot/efi      vfat    umask=0077 0 2
/dev/mapper/luks-57d57071-8c71-46c2-aa1b-30ada3f24864 /              btrfs   subvol=@,defaults,noatime,space_cache,autodefrag 0 0
/dev/mapper/luks-57d57071-8c71-46c2-aa1b-30ada3f24864 /home          btrfs   subvol=@home,defaults,noatime,space_cache,autodefrag 0 0
/dev/mapper/luks-57d57071-8c71-46c2-aa1b-30ada3f24864 /var/cache/pacman/pkg          btrfs   subvol=@var-cache-pacman-pkg,defaults,noatime,space_cache,autodefrag 0 0
/dev/mapper/luks-57d57071-8c71-46c2-aa1b-30ada3f24864 /swap btrfs subvol=@swap,defaults,compress=no 0 0

/etc/default/grub ?

# GRUB boot loader configuration

GRUB_CMDLINE_LINUX_DEFAULT="quiet cryptdevice=UUID=57d57071-8c71-46c2-aa1b-30ada3f24864:luks-57d57071-8c71-46c2-aa1b-30ada3f24864 root=/dev/mapper/luks-57d57071-8c71-46c2-aa1b-30ada3f24864 loglevel=3 nowatchdog"

# Preload both GPT and MBR modules so that they are not missed
GRUB_PRELOAD_MODULES="part_gpt part_msdos"

# Uncomment to enable booting from LUKS encrypted devices

# Set to 'countdown' or 'hidden' to change timeout behavior,
# press ESC key to display menu.

# Uncomment to use basic console

# Uncomment to disable graphical terminal

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'

# Uncomment to allow the kernel use the same resolution used by grub

# Uncomment if you want GRUB to pass to the Linux kernel the old parameter
# format "root=/dev/xxx" instead of "root=/dev/disk/by-uuid/xxx"

# Uncomment to disable generation of recovery mode menu entries

# Uncomment and set to the desired menu colors.  Used by normal and wallpaper
# modes only.  Entries specified as foreground/background.

# Uncomment one of them for the gfx desired, a image background or a gfxtheme

# Uncomment to get a beep at GRUB start
#GRUB_INIT_TUNE="480 440 1"

# Uncomment to make GRUB remember the last selection. This requires
# setting 'GRUB_DEFAULT=saved' above.

That guy should be entirely default, haven’t touched it aside from what the installer did to it.

I really don’t see anything out of place, a normal Btfrs encryption system would say in my humble understanding …

Surely someone with more experience will join in to give a possible solution :slight_smile:
@manuel @joekamprad @dalto

1 Like

Is it just delayed or does it require switch TTYs to activate?

I’ve let it sit there a couple minutes and it just sits on the black screen with cursor. It seems to require a tty switch to trigger gdm to start.

It’s the weirdest thing.

Uggghhh, I am officially blind. I swear I checked the arch wiki. This appears to be what my issue is.


Good job tracking that down. Since it mentions passing a kernel parameter, can I ask what kernel you are using?
Something other than mainline, such as zen or whatever.


I’m using the main line kernel, nothing fancy here, 5.8.4-arch1-1

Also, I added the kernel parameter to /etc/defaults/grub and regenerated the grub config and gdm came right back up after a reboot.

Appreciate the folks who took a gander though!