Sddm is not starting but in theory everything is working!
sddm.service
is started by symbolic link /etc/systemd/system/display-manager.service
(which points to whichever X Display Manager you've installed and chosen to run as the default display manager), which is in turn called by graphical.target
.
If sddm
fails to start the GUI login screen/autologin session, you should look at /var/lib/sddm/.local/share/sddm/xorg-session.log
and/or /var/log/Xorg.0.log
for clues.
It might be that you're missing the necessary xserver-xorg-video-*
package: for Geforce RTX 2070, the open-source xserver-xorg-video-nouveau
can just about handle it, but you might get better results with the non-free xserver-xorg-video-nvidia
(version 418.* or newer).
If using the xserver-xorg-video-nouveau
, you might need some firmware files with RTX 2070 - those come packaged in firmware-misc-nonfree
.
If startx
works, something might be wrong with the sddm
state file /var/lib/sddm/state.conf
, its configuration file /etc/sddm.conf
and/or the default scripts located in /usr/share/sddm/scripts
or their sysadmin-customizable versions in /etc/sddm/
.
The nuts and bolts of Debian 10's sddm
session: (assuming X11, not Wayland)
When sddm
starts up, it starts the X server (/usr/bin/X
), runs the /usr/share/sddm/scripts/Xsetup
script (which is empty by default), and then starts the sddm-greeter
for the login prompt, unless autologin is configured in sddm.conf
. If multiple session types are defined as .desktop
files in /usr/share/xsessions/
, the greeter will offer a choice of session types too, defaulting to whatever the user chose on previous GUI login. At this point, the session type selection only sets the $STARTUP
environment variable to point at the command specified by the .desktop
file.
Starting the actual user session happens via /etc/sddm/Xsession
, which runs as the logging-in user, initializes the user's shell environment for the GUI session, then executes /etc/X11/Xsession
, which should be invoked not just by sddm
but by every method of starting a X session in Debian, including startx
.
(With Wayland, the session script would be /usr/share/sddm/scripts/wayland-session
instead, and I am not familiar with what would happen after that.)
/etc/X11/Xsession
will check for the presence of various classic X session configuration files. Then it will source any scripts in /etc/X11/Xsession.d
, which will, among other things, check that the session startup command chosen by the sddm-greeter
actually exists, and fall back to sane (sysadmin-adjustable) defaults if not, and finally actually start it. For a KDE session, the session startup command will be exec /usr/bin/startkde
.
Since exec
is used, this command will take over the PID of the shell process that was running /etc/X11/Xsession
and any scripts sourced by it before this point. This command will be the "linchpin" of the entire X login session: when this process ends, sddm
will consider the session to be over, and will trigger the end of the entire GUI login session: the /usr/share/sddm/scripts/Xstop
script will be executed, the X server will be reset, a new xauth
cookie will be generated. Any remaining processes from the old session may receive a HUP signal at this point and will usually die off.
Related videos on Youtube
MyDefaultNickname
Updated on September 18, 2022Comments
-
MyDefaultNickname over 1 year
It wasn't a long time ago when I decided to start an adventure with Linux. I started with a virtual machine (VMware workstation Pro) and everything worked fine. I've picked Debian 10.4.0 distro with KDE Plasma desktop. I was so pleased with the Debian that I installed it on my physical drive. Unfortunately,
sddm
isn't starting after selecting the Debian GNU/Linux option from the GNU GRUB menu.I found a lot of solutions for not working sddm but none of them helped. This is what I have after booting Debian GNU/LINUX:
Few lines higher there was "Watchdog hardware is disabled".
The first thing I checked, is if the sddm is set to default display manager and it appealed to valid directory
/usr/bin/sddm
. Then I tried to enable it with# systemctl enable sddm
but it shows this:But when I typed
# systemctl status sddm
it prints that.I don't know how to fix it. SDDM is not showing but it seems working. Lots of people have problems with a black screen but as you can see, not in that case. I reinstalled Debian with non-official non-free installation and it works better (it didn't detect my wifi card before). However, it still not working.
If it can be helpful, this is my PCs specification:
- CPU: AMD Ryzen 7 3800X
- GPU: MSI Geforce RTX 2070 Super Gaming X Trio
- MOTHERBOARD: MSI MPG X570 Gaming Edge wifi
-
Pravesh Kumar Sharma over 3 yearsThis solution works for me No GUI error after installing debian buster
-
alchemy about 2 years
echo 'exec /usr/bin/startplasma-x11' > ~/.xinitrc
worked to makestartx
start KDE on top of Ubuntu server. SDDM status is active, and useddpkg-reconfigure sddm
however I still have blinking cursor on tty1 and tty7+. (This is inside KVM/virt-mgr, but shouldnt matter).startx
starts Kubuntu DE, but still cant get to login screen by using logout. Am usingsddm --example-config > /etc/sddm.conf
for default config. I checked/var/log/Xorg.0.log
and/var/log/sddm.log
. unix.stackexchange.com/questions/691378/…