Not only Nvidia -- it failed to start sddm on my Intel graphics as well. Here is the relevant hardware:
Graphics:
Device-1: Intel TigerLake-H GT1 [UHD Graphics] driver: i915 v: kernel
Device-2: NVIDIA GA104M [GeForce RTX 3070 Mobile / Max-Q] driver: nvidia
v: 510.85.02
Device-3: Acer BisonCam NB Pro type: USB driver: uvcvideo
Display: x11 server: X.Org v: 1.21.1.4 with: Xwayland v: 22.1.3 driver:
X: loaded: modesetting,nvidia unloaded: fbdev,nouveau,vesa gpu: i915
resolution: 1920x1080~144Hz
OpenGL: renderer: Mesa Intel UHD Graphics (TGL GT1) v: 4.6 Mesa
22.2.0-rc3
It boots with the Intel GPU. I spent two days trying to figure out why boot ended with these lines:
...
sddm Failed to read display number from pipe
sddm Could not start Display server on vt 7
Google hits suggested the kernel was trying to launch sddm before the CPU had settled. More google pointed me to /etc/systemd/system/display-manager.service.
To insert a little delay in the launch of sddm, I changed this default section:
[Service]
# temporary safety check until all DMs are converted to correct
# display-manager.service symlink handling
ExecStart=/usr/bin/sddm
Restart=always
RestartSec=1s
EnvironmentFile=-/etc/default/locale
to:
[Service]
# temporary safety check until all DMs are converted to correct
# display-manager.service symlink handling
ExecStartPre=/bin/sleep 5
ExecStart=/usr/bin/sddm
Restart=always
RestartSec=1s
EnvironmentFile=-/etc/default/locale
Now it automatically starts sddm once again.
I hope this helps someone.