You are not logged in.

#1 2025-07-01 08:57:42

AlMahllawi
Member
From: Egypt
Registered: 2025-07-01
Posts: 4

[PEBKAC] SDDM freezes on startup using NVIDIA Optimus boot menu entry

System Info:

  • Laptop: HP 15-dw3xxx

  • Kernel: linux 6.15.4.arch2-1

  • Platform: Wayland

GPUs:

  • Integrated: Intel® Iris® Xe Graphics

  • Discrete: NVIDIA GeForce MX350

As stated in the title, SDDM freezes or hangs (blackscreen with a terminal cursor or underscore at the top left corner of the screen) on startup (I can't type anything but I still can move between TTYs using Ctrl+Meta+F[1-6]). My setup consist of:

SDDM freezes on NVIDIA mode on the TTY2 (no, the TTY is not the issue ik) and when I execute

$ systemctl restart sddm

it starts again on  TTY1 and works just fine. In addition, when I choose to boot using the integrated GPU menu entry, it works fine on startup without the need to restart. I've read on some random forum (can't find the page believe me I searched again for a long time, but it's not this one, I didn't find anything related here) that SDDM Wayland support is experimental, so I assume I have to use X11? But SDDM works just fine when I restart it, it doesn't make any sense at this point.

/etc/default/grub

...
GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 quiet nvidia-drm.modeset=1 nvidia-drm.fbdev=1"
...
$ cat /sys/module/nvidia_drm/parameters/modeset
Y

I do sometimes edit /boot/grub/grub.cfg manually but writing it all from scratch is a pain I'm not used to yet. Anyways I tried to

$ grub-mkconfig -o /boot/grub/grub.cfg

and use it without touching it and the same issue arises.

/etc/mkinitcpio.conf

MODULES=(nvidia nvidia_modeset nvidia_uvm nvidia_drm)
...

/boot/grub/grub.cfg (Note that Hybrid menu entry is irrelevant, it just exists. I never tried to use it)

...
### BEGIN /etc/grub.d/09_optimus ###
menuentry 'Arch Linux (Integrated) (linux)' --class optimus-integrated --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-9acf2551-b846-4e48-b9b9-aea05d0e1d5b' {
	load_video
	set gfxpayload=keep
	insmod gzio
	insmod part_gpt
	insmod ext2
	set root='hd1,gpt3'
	if [ x$feature_platform_search_hint = xy ]; then
	 search --no-floppy --fs-uuid --set=root --hint-bios=hd1,gpt3 --hint-efi=hd1,gpt3 --hint-baremetal=ahci1,gpt3  9acf2551-b846-4e48-b9b9-aea05d0e1d5b
	else
	 search --no-floppy --fs-uuid --set=root 9acf2551-b846-4e48-b9b9-aea05d0e1d5b
	fi
	echo	'Loading Linux linux ...'
	linux	/boot/vmlinuz-linux root=UUID=9acf2551-b846-4e48-b9b9-aea05d0e1d5b rw  loglevel=3 quiet nvidia-drm.modeset=1 nvidia-drm.fbdev=1 optimus-manager.startup=integrated
	echo	'Loading initial ramdisk ...'
	initrd	/boot/intel-ucode.img /boot/initramfs-linux.img
}
menuentry 'Arch Linux (Hybrid) (linux)' --class optimus-hybrid --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-9acf2551-b846-4e48-b9b9-aea05d0e1d5b' {
	load_video
	set gfxpayload=keep
	insmod gzio
	insmod part_gpt
	insmod ext2
	set root='hd1,gpt3'
	if [ x$feature_platform_search_hint = xy ]; then
	 search --no-floppy --fs-uuid --set=root --hint-bios=hd1,gpt3 --hint-efi=hd1,gpt3 --hint-baremetal=ahci1,gpt3  9acf2551-b846-4e48-b9b9-aea05d0e1d5b
	else
	 search --no-floppy --fs-uuid --set=root 9acf2551-b846-4e48-b9b9-aea05d0e1d5b
	fi
	echo	'Loading Linux linux ...'
	linux	/boot/vmlinuz-linux root=UUID=9acf2551-b846-4e48-b9b9-aea05d0e1d5b rw  loglevel=3 quiet nvidia-drm.modeset=1 nvidia-drm.fbdev=1 optimus-manager.startup=hybrid
	echo	'Loading initial ramdisk ...'
	initrd	/boot/intel-ucode.img /boot/initramfs-linux.img
}
menuentry 'Arch Linux (NVIDIA) (linux)' --class optimus-nvidia --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-9acf2551-b846-4e48-b9b9-aea05d0e1d5b' {
	load_video
	set gfxpayload=keep
	insmod gzio
	insmod part_gpt
	insmod ext2
	set root='hd1,gpt3'
	if [ x$feature_platform_search_hint = xy ]; then
	 search --no-floppy --fs-uuid --set=root --hint-bios=hd1,gpt3 --hint-efi=hd1,gpt3 --hint-baremetal=ahci1,gpt3  9acf2551-b846-4e48-b9b9-aea05d0e1d5b
	else
	 search --no-floppy --fs-uuid --set=root 9acf2551-b846-4e48-b9b9-aea05d0e1d5b
	fi
	echo	'Loading Linux linux ...'
	linux	/boot/vmlinuz-linux root=UUID=9acf2551-b846-4e48-b9b9-aea05d0e1d5b rw  loglevel=3 quiet nvidia-drm.modeset=1 nvidia-drm.fbdev=1 optimus-manager.startup=nvidia
	echo	'Loading initial ramdisk ...'
	initrd	/boot/intel-ucode.img /boot/initramfs-linux.img
}
### END /etc/grub.d/09_optimus ###
...

/etc/sddm.conf.d/20-optimus-manager.conf

[X11]
DisplayCommand=/sbin/prime-offload
DisplayStopCommand=/sbin/prime-switch

/etc/sddm.conf.d/settings.conf

[Autologin]
...

[General]
HaltCommand=/usr/bin/systemctl poweroff
RebootCommand=/usr/bin/systemctl reboot

[Theme]
...

[Users]
...

[X11]
ServerArguments=-dpi 144

Successful integrated GPU startup:

$ systemctl status sddm
● sddm.service - Simple Desktop Display Manager
     Loaded: loaded (/usr/lib/systemd/system/sddm.service; enabled; preset: disabled)
     Active: active (running) since Tue 2025-07-01 11:10:45 EEST; 1min 26s ago
 Invocation: ea3f24b316104cfd956585b8e1dfcc81
       Docs: man:sddm(1)
             man:sddm.conf(5)
   Main PID: 699 (sddm)
      Tasks: 8 (limit: 18608)
     Memory: 179.2M (peak: 182.2M)
        CPU: 462ms
     CGroup: /system.slice/sddm.service
             ├─699 /usr/bin/sddm
             └─711 /usr/lib/Xorg -dpi 144 -background none -seat seat0 vt2 -auth /run/sddm/xauth_SHUpzH -noreset -displayfd 16

Jul 01 11:10:48 Labib sddm[699]: Loading theme configuration from "/usr/share/sddm/themes/breeze/theme.conf"
Jul 01 11:10:48 Labib sddm[699]: Greeter starting...
Jul 01 11:10:48 Labib sddm-helper[755]: [PAM] Starting...
Jul 01 11:10:48 Labib sddm-helper[755]: [PAM] Authenticating...
Jul 01 11:10:48 Labib sddm-helper[755]: [PAM] returning.
Jul 01 11:10:48 Labib sddm-helper[755]: pam_unix(sddm-greeter:session): session opened for user sddm(uid=967) by (uid=0)
Jul 01 11:10:49 Labib sddm-helper[755]: Writing cookie to "/tmp/xauth_zhOBAz"
Jul 01 11:10:49 Labib sddm-helper[755]: Starting X11 session: "" "/usr/bin/sddm-greeter-qt6 --socket /tmp/sddm-:0-HEwUdb --theme /usr/share/sddm/themes/breeze"
Jul 01 11:10:49 Labib sddm[699]: Greeter session started successfully
Jul 01 11:10:49 Labib sddm[699]: Message received from greeter: Connect
$ journalctl -u sddm -b
Jul 01 11:10:45 Labib systemd[1]: Started Simple Desktop Display Manager.
Jul 01 11:10:45 Labib sddm[699]: Initializing...
Jul 01 11:10:45 Labib sddm[699]: Starting...
Jul 01 11:10:45 Labib sddm[699]: Logind interface found
Jul 01 11:10:47 Labib sddm[699]: Adding new display...
Jul 01 11:10:47 Labib sddm[699]: Loaded empty theme configuration
Jul 01 11:10:47 Labib sddm[699]: Xauthority path: "/run/sddm/xauth_SHUpzH"
Jul 01 11:10:47 Labib sddm[699]: Using VT 2
Jul 01 11:10:47 Labib sddm[699]: Display server starting...
Jul 01 11:10:47 Labib sddm[699]: Writing cookie to "/run/sddm/xauth_SHUpzH"
Jul 01 11:10:47 Labib sddm[699]: Running: /usr/bin/X -dpi 144 -background none -seat seat0 vt2 -auth /run/sddm/xauth_SHUpzH -noreset -displayfd 16
Jul 01 11:10:48 Labib sddm[699]: Setting default cursor
Jul 01 11:10:48 Labib sddm[699]: Could not setup default cursor
Jul 01 11:10:48 Labib sddm[699]: Running display setup script  "/sbin/prime-offload"
Jul 01 11:10:48 Labib sddm[699]: Display server started.
Jul 01 11:10:48 Labib sddm[699]: Socket server starting...
Jul 01 11:10:48 Labib sddm[699]: Socket server started.
Jul 01 11:10:48 Labib sddm[699]: Loading theme configuration from "/usr/share/sddm/themes/breeze/theme.conf"
Jul 01 11:10:48 Labib sddm[699]: Greeter starting...
Jul 01 11:10:48 Labib sddm-helper[755]: [PAM] Starting...
Jul 01 11:10:48 Labib sddm-helper[755]: [PAM] Authenticating...
Jul 01 11:10:48 Labib sddm-helper[755]: [PAM] returning.
Jul 01 11:10:48 Labib sddm-helper[755]: pam_unix(sddm-greeter:session): session opened for user sddm(uid=967) by (uid=0)
Jul 01 11:10:49 Labib sddm-helper[755]: Writing cookie to "/tmp/xauth_zhOBAz"
Jul 01 11:10:49 Labib sddm-helper[755]: Starting X11 session: "" "/usr/bin/sddm-greeter-qt6 --socket /tmp/sddm-:0-HEwUdb --theme /usr/share/sddm/themes/breeze"
Jul 01 11:10:49 Labib sddm[699]: Greeter session started successfully
Jul 01 11:10:49 Labib sddm[699]: Message received from greeter: Connect
$ systemctl status default.target
● graphical.target - Graphical Interface
     Loaded: loaded (/usr/lib/systemd/system/graphical.target; static)
     Active: active since Tue 2025-07-01 11:10:49 EEST; 3min 13s ago
 Invocation: ea96deca69434c66a5c14264cb0dab76
       Docs: man:systemd.special(7)

Jul 01 11:10:49 Labib systemd[1]: Reached target Graphical Interface.

Failure discrete GPU startup:

$ systemctl status sddm
● sddm.service - Simple Desktop Display Manager
     Loaded: loaded (/usr/lib/systemd/system/sddm.service; enabled; preset: disabled)
     Active: active (running) since Tue 2025-07-01 11:15:49 EEST; 1min 6s ago
 Invocation: 77864be7f57349d1a8a8351dbe4d1a78
       Docs: man:sddm(1)
             man:sddm.conf(5)
   Main PID: 750 (sddm)
      Tasks: 4 (limit: 18608)
     Memory: 111.5M (peak: 120.2M)
        CPU: 585ms
     CGroup: /system.slice/sddm.service
             ├─750 /usr/bin/sddm
             └─757 /usr/lib/Xorg -dpi 144 -background none -seat seat0 vt2 -auth /run/sddm/xauth_IvGrsP -noreset -displayfd 16

Jul 01 11:15:52 Labib sddm[750]: Loading theme configuration from "/usr/share/sddm/themes/breeze/theme.conf"
Jul 01 11:15:52 Labib sddm[750]: Greeter starting...
Jul 01 11:15:52 Labib sddm-helper[772]: [PAM] Starting...
Jul 01 11:15:52 Labib sddm-helper[772]: [PAM] Authenticating...
Jul 01 11:15:52 Labib sddm-helper[772]: [PAM] returning.
Jul 01 11:15:52 Labib sddm-helper[772]: pam_unix(sddm-greeter:session): session opened for user sddm(uid=967) by (uid=0)
Jul 01 11:15:52 Labib sddm-helper[772]: Writing cookie to "/tmp/xauth_YSvsCy"
Jul 01 11:15:52 Labib sddm-helper[772]: Starting X11 session: "" "/usr/bin/sddm-greeter-qt6 --socket /tmp/sddm-:0-OaFWHh --theme /usr/share/sddm/themes/breeze"
Jul 01 11:15:52 Labib sddm[750]: Greeter session started successfully
Jul 01 11:15:52 Labib sddm[750]: Message received from greeter: Connect
$ journalctl -u sddm -b
Jul 01 11:15:49 Labib systemd[1]: Started Simple Desktop Display Manager.
Jul 01 11:15:50 Labib sddm[750]: Initializing...
Jul 01 11:15:50 Labib sddm[750]: Starting...
Jul 01 11:15:50 Labib sddm[750]: Logind interface found
Jul 01 11:15:50 Labib sddm[750]: Adding new display...
Jul 01 11:15:50 Labib sddm[750]: Loaded empty theme configuration
Jul 01 11:15:50 Labib sddm[750]: Xauthority path: "/run/sddm/xauth_IvGrsP"
Jul 01 11:15:50 Labib sddm[750]: Using VT 2
Jul 01 11:15:50 Labib sddm[750]: Display server starting...
Jul 01 11:15:50 Labib sddm[750]: Writing cookie to "/run/sddm/xauth_IvGrsP"
Jul 01 11:15:50 Labib sddm[750]: Running: /usr/bin/X -dpi 144 -background none -seat seat0 vt2 -auth /run/sddm/xauth_IvGrsP -noreset -displayfd 16
Jul 01 11:15:51 Labib sddm[750]: Setting default cursor
Jul 01 11:15:51 Labib sddm[750]: Could not setup default cursor
Jul 01 11:15:51 Labib sddm[750]: Running display setup script  "/sbin/prime-offload"
Jul 01 11:15:52 Labib sddm[750]: Display server started.
Jul 01 11:15:52 Labib sddm[750]: Socket server starting...
Jul 01 11:15:52 Labib sddm[750]: Socket server started.
Jul 01 11:15:52 Labib sddm[750]: Loading theme configuration from "/usr/share/sddm/themes/breeze/theme.conf"
Jul 01 11:15:52 Labib sddm[750]: Greeter starting...
Jul 01 11:15:52 Labib sddm-helper[772]: [PAM] Starting...
Jul 01 11:15:52 Labib sddm-helper[772]: [PAM] Authenticating...
Jul 01 11:15:52 Labib sddm-helper[772]: [PAM] returning.
Jul 01 11:15:52 Labib sddm-helper[772]: pam_unix(sddm-greeter:session): session opened for user sddm(uid=967) by (uid=0)
Jul 01 11:15:52 Labib sddm-helper[772]: Writing cookie to "/tmp/xauth_YSvsCy"
Jul 01 11:15:52 Labib sddm-helper[772]: Starting X11 session: "" "/usr/bin/sddm-greeter-qt6 --socket /tmp/sddm-:0-OaFWHh --theme /usr/share/sddm/themes/breeze"
Jul 01 11:15:52 Labib sddm[750]: Greeter session started successfully
Jul 01 11:15:52 Labib sddm[750]: Message received from greeter: Connect
$ systemctl status default.target
● graphical.target - Graphical Interface
     Loaded: loaded (/usr/lib/systemd/system/graphical.target; static)
     Active: active since Tue 2025-07-01 11:15:52 EEST; 50s ago
 Invocation: 1e9e75cbcc694930a4679898ed698fc0
       Docs: man:systemd.special(7)

Jul 01 11:15:52 Labib systemd[1]: Reached target Graphical Interface.

Discrete GPU startup after the SDDM restart:

$ systemctl status sddm
● sddm.service - Simple Desktop Display Manager
     Loaded: loaded (/usr/lib/systemd/system/sddm.service; enabled; preset: disabled)
     Active: active (running) since Tue 2025-07-01 11:18:17 EEST; 19s ago
 Invocation: 3ffd618b26684faba3e0dba8d5787ea2
       Docs: man:sddm(1)
             man:sddm.conf(5)
   Main PID: 927 (sddm)
      Tasks: 4 (limit: 18608)
     Memory: 57.5M (peak: 89M)
        CPU: 468ms
     CGroup: /system.slice/sddm.service
             ├─927 /usr/bin/sddm
             └─929 /usr/lib/Xorg -dpi 144 -background none -seat seat0 vt1 -auth /run/sddm/xauth_BGYfnd -noreset -displayfd 16

Jul 01 11:18:20 Labib sddm[927]: Loading theme configuration from "/usr/share/sddm/themes/breeze/theme.conf"
Jul 01 11:18:20 Labib sddm[927]: Greeter starting...
Jul 01 11:18:20 Labib sddm-helper[942]: [PAM] Starting...
Jul 01 11:18:20 Labib sddm-helper[942]: [PAM] Authenticating...
Jul 01 11:18:20 Labib sddm-helper[942]: [PAM] returning.
Jul 01 11:18:20 Labib sddm-helper[942]: pam_unix(sddm-greeter:session): session opened for user sddm(uid=967) by (uid=0)
Jul 01 11:18:20 Labib sddm-helper[942]: Writing cookie to "/tmp/xauth_esrevA"
Jul 01 11:18:20 Labib sddm-helper[942]: Starting X11 session: "" "/usr/bin/sddm-greeter-qt6 --socket /tmp/sddm-:0-BOJbBD --theme /usr/share/sddm/themes/breeze"
Jul 01 11:18:20 Labib sddm[927]: Greeter session started successfully
Jul 01 11:18:20 Labib sddm[927]: Message received from greeter: Connect
$ journalctl -u sddm -b
Jul 01 11:18:17 Labib sddm[750]: Signal received: SIGTERM
Jul 01 11:18:17 Labib systemd[1]: Stopping Simple Desktop Display Manager...
Jul 01 11:18:17 Labib sddm[750]: Greeter stopping...
Jul 01 11:18:17 Labib sddm[750]: Auth: sddm-helper exited with 255
Jul 01 11:18:17 Labib sddm[750]: Greeter stopped. SDDM::Auth::HelperExitStatus(255)
Jul 01 11:18:17 Labib sddm[750]: Socket server stopping...
Jul 01 11:18:17 Labib sddm[750]: Socket server stopped.
Jul 01 11:18:17 Labib sddm[750]: Display server stopping...
Jul 01 11:18:17 Labib sddm[750]: Display server stopped.
Jul 01 11:18:17 Labib sddm[750]: Running display stop script  QList("/sbin/prime-switch")
Jul 01 11:18:17 Labib systemd[1]: sddm.service: Deactivated successfully.
Jul 01 11:18:17 Labib systemd[1]: Stopped Simple Desktop Display Manager.
Jul 01 11:18:17 Labib systemd[1]: sddm.service: Consumed 673ms CPU time, 120.2M memory peak.
Jul 01 11:18:17 Labib systemd[1]: Started Simple Desktop Display Manager.
Jul 01 11:18:17 Labib sddm[927]: Initializing...
Jul 01 11:18:17 Labib sddm[927]: Starting...
Jul 01 11:18:17 Labib sddm[927]: Logind interface found
Jul 01 11:18:17 Labib sddm[927]: Adding new display...
Jul 01 11:18:17 Labib sddm[927]: Loaded empty theme configuration
Jul 01 11:18:17 Labib sddm[927]: Xauthority path: "/run/sddm/xauth_BGYfnd"
Jul 01 11:18:17 Labib sddm[927]: Using VT 1
Jul 01 11:18:17 Labib sddm[927]: Display server starting...
Jul 01 11:18:17 Labib sddm[927]: Writing cookie to "/run/sddm/xauth_BGYfnd"
Jul 01 11:18:17 Labib sddm[927]: Running: /usr/bin/X -dpi 144 -background none -seat seat0 vt1 -auth /run/sddm/xauth_BGYfnd -noreset -displayfd 16
Jul 01 11:18:18 Labib sddm[927]: Setting default cursor
Jul 01 11:18:18 Labib sddm[927]: Could not setup default cursor
Jul 01 11:18:18 Labib sddm[927]: Running display setup script  "/sbin/prime-offload"
Jul 01 11:18:20 Labib sddm[927]: Display server started.
Jul 01 11:18:20 Labib sddm[927]: Socket server starting...
Jul 01 11:18:20 Labib sddm[927]: Socket server started.
Jul 01 11:18:20 Labib sddm[927]: Loading theme configuration from "/usr/share/sddm/themes/breeze/theme.conf"
Jul 01 11:18:20 Labib sddm[927]: Greeter starting...
Jul 01 11:18:20 Labib sddm-helper[942]: [PAM] Starting...
Jul 01 11:18:20 Labib sddm-helper[942]: [PAM] Authenticating...
Jul 01 11:18:20 Labib sddm-helper[942]: [PAM] returning.
Jul 01 11:18:20 Labib sddm-helper[942]: pam_unix(sddm-greeter:session): session opened for user sddm(uid=967) by (uid=0)
Jul 01 11:18:20 Labib sddm-helper[942]: Writing cookie to "/tmp/xauth_esrevA"
Jul 01 11:18:20 Labib sddm-helper[942]: Starting X11 session: "" "/usr/bin/sddm-greeter-qt6 --socket /tmp/sddm-:0-BOJbBD --theme /usr/share/sddm/themes/breeze"
Jul 01 11:18:20 Labib sddm[927]: Greeter session started successfully
Jul 01 11:18:20 Labib sddm[927]: Message received from greeter: Connect
$ systemctl status default.target
● graphical.target - Graphical Interface
     Loaded: loaded (/usr/lib/systemd/system/graphical.target; static)
     Active: active since Tue 2025-07-01 11:15:52 EEST; 2min 47s ago
 Invocation: 1e9e75cbcc694930a4679898ed698fc0
       Docs: man:systemd.special(7)

Jul 01 11:15:52 Labib systemd[1]: Reached target Graphical Interface.

EDIT: added systemd status and journald in each case

Last edited by AlMahllawi (2025-07-02 07:53:52)

Offline

#2 2025-07-02 07:49:06

AlMahllawi
Member
From: Egypt
Registered: 2025-07-01
Posts: 4

Re: [PEBKAC] SDDM freezes on startup using NVIDIA Optimus boot menu entry

Offline

Board footer

Powered by FluxBB