Hello. After the last Tumbleweed update, I’m suffering this “return-from-sleep-black-screen-mouse-pointer” thing. Then I change to a text terminal and killall sddm-helper and then I can login again.
Then I tried installing lightdm and gdm, but using update-alternatives does nothing, sddm remains as the choice.
Then I tried systemctl enable lightdm or gmd and “Failed to enable unit: Unit gdm.service does not exist” and same for lightdm. I can enable xdm, but I’m unable to reach the login screen, so I have go back to last snapshot and continue using sddm, and killing sddm-helper everytime the computer returns from sleep.
zypper se -i nvidia
S | Name | Summary | Type
---+----------------------------------+-----------------------------------------------------------------------+--------
i+ | kernel-firmware-nvidia | Kernel firmware files for Nvidia Tegra and graphics drivers | paquete
i | libnvidia-egl-gbm1 | The GBM EGL external platform library | paquete
i+ | libnvidia-egl-wayland1 | The EGLStream-based Wayland external platform | paquete
i | libnvidia-egl-x111 | NVIDIA XLib and XCB EGL Platform Library | paquete
i | nvidia-common-G06 | Common files for the NVIDIA driver packages | paquete
i | nvidia-compute-G06 | NVIDIA driver for computing with GPGPU | paquete
i | nvidia-driver-G06-kmp-default | NVIDIA graphics driver kernel module for GeForce 700 series and newer | paquete
i+ | nvidia-gl-G06 | NVIDIA OpenGL libraries for OpenGL acceleration | paquete
i | nvidia-modprobe | NVIDIA kernel module loader | paquete
i | nvidia-persistenced | A daemon to maintain persistent software state in the NVIDIA driver | paquete
i+ | nvidia-video-G06 | NVIDIA graphics driver for GeForce 700 series and newer | paquete
i+ | openSUSE-repos-Tumbleweed-NVIDIA | openSUSE NVIDIA repository definitions | paquete
Could someone help with this? Just telling how to change display manager would be enough.
I also went through this display manager problem during the “non-revival from suspend” thread . . . I added a few of them, the only one that did work for me seems to be lightdm . . . whereas previously sddm was the one that fixed a previous problem . . . so, seemingly these things change. Didn’t look at your links, but showing you what I have now:
sudo update-alternatives --config default-displaymanager
There are 5 choices for the alternative default-displaymanager (providing /usr/lib/X11/displaymanagers/default-displaymanager).
Selection Path Priority Status
------------------------------------------------------------
0 /usr/lib/X11/displaymanagers/gdm 25 auto mode
1 /usr/lib/X11/displaymanagers/console 5 manual mode
2 /usr/lib/X11/displaymanagers/gdm 25 manual mode
* 3 /usr/lib/X11/displaymanagers/lightdm 15 manual mode
4 /usr/lib/X11/displaymanagers/sddm 25 manual mode
5 /usr/lib/X11/displaymanagers/xdm 10 manual mode
Press <enter> to keep the current choice[*], or type selection number:
I did see you said that . . . this is yet another case of anomalous behaviors . . . That does show you are"in" lightdm . . . could you try to “zypper rm sddm” and then see if sddm is removed would it “default” to the selected lightdm option??
If that blows up the GUI, you could always “zypper in sddm” from a TTY, right??
Other thing, after running a zypper do you run “zypper clean --all” to tidy it up?
Why would someone want to to that? The package cache is emptied automatically on Tumbleweed after the package got installed. There is no need to “tidy” something up when there is nothing to do. This can easily be verified by checking the contents of the package cache.
Where did you get this command or instruction from?
Unfortunately you ommited all important informations from the terminal output…which command did you use, which selection did you choose, what was the terminal output after the selection…
I used update-alternatives --config default-displaymanager
then selected lightdm, obtained update-alternatives: using /usr/lib/X11/displaymanagers/lightdm to provide /usr/lib/X11/displaymanagers/default-displaymanager (default-displaymanager) in manual mode
reboot. That, as per wiki, is ok, but sddm showed again.
The systemctl commands: because systemctl enable/disable/etc sddm works. So, why not for the other display managers?
I tried these things because the official wiki way doesn’t work. Then I found the “rework” article (see my opening post) and I though that maybe this should be the right way.
So to me seems that there is no easy way to change dm, nor make sddm work ok.
Changes are accepted flawlessly in both directions on a test system. Changed from sddm to gdm. Rebooted. Gdm is active. And changing back to sddm was also accepted and applied after reboot.
Terminal output of the change from gdm back to sddm:
test@testbox:~> sudo update-alternatives --config default-displaymanager
[sudo] Passwort für root:
There are 5 choices for the alternative default-displaymanager (providing /usr/lib/X11/displaymanagers/default-displaymanager).
Selection Path Priority Status
------------------------------------------------------------
0 /usr/lib/X11/displaymanagers/gdm 25 auto mode
1 /usr/lib/X11/displaymanagers/console 5 manual mode
* 2 /usr/lib/X11/displaymanagers/gdm 25 manual mode
3 /usr/lib/X11/displaymanagers/lightdm 15 manual mode
4 /usr/lib/X11/displaymanagers/sddm 25 manual mode
5 /usr/lib/X11/displaymanagers/xdm 10 manual mode
Press <enter> to keep the current choice[*], or type selection number: 4
update-alternatives: using /usr/lib/X11/displaymanagers/sddm to provide /usr/lib/X11/displaymanagers/default-displaymanager (default-displaymanager) in manual mode
test@testbox:~> sudo update-alternatives --config default-displaymanager
There are 5 choices for the alternative default-displaymanager (providing /usr/lib/X11/displaymanagers/default-displaymanager).
Selection Path Priority Status
------------------------------------------------------------
0 /usr/lib/X11/displaymanagers/sddm 25 auto mode
1 /usr/lib/X11/displaymanagers/console 5 manual mode
2 /usr/lib/X11/displaymanagers/gdm 25 manual mode
3 /usr/lib/X11/displaymanagers/lightdm 15 manual mode
* 4 /usr/lib/X11/displaymanagers/sddm 25 manual mode
5 /usr/lib/X11/displaymanagers/xdm 10 manual mode
Press <enter> to keep the current choice[*], or type selection number:
test@testbox:~>
I tried to change using systemctl when update-alternatives didn’t work. But it didn’t do the trick because lightdm.service nor gdm.service exist.
Last try was uninstall all DMs and reinstall them. Then I lost the graphic login, and then I did systemctl enable sddm, reboot, and got again the graphic login.
miguel@x-wing ~> sudo update-alternatives --config default-displaymanager
There are 5 choices for the alternative default-displaymanager (providing /usr/lib/X11/displaymanagers/default-displaymanager).
Selection Path Priority Status
------------------------------------------------------------
0 /usr/lib/X11/displaymanagers/gdm 25 auto mode
1 /usr/lib/X11/displaymanagers/console 5 manual mode
2 /usr/lib/X11/displaymanagers/gdm 25 manual mode
* 3 /usr/lib/X11/displaymanagers/lightdm 15 manual mode
4 /usr/lib/X11/displaymanagers/sddm 25 manual mode
5 /usr/lib/X11/displaymanagers/xdm 10 manual mode
Press <enter> to keep the current choice[*], or type selection number
We would like to remove the existing xdm/alternatives DisplayManager setup from the distribution. Instead of shipping a tangled mess of symlinking black magic to determine which DM to start, this information should be stored inside the packages themselves, and each package should ship its own service file which is symlinked to display-manager.service via “systemctl enable” commands.
I found it trying to fix the error. Maybe is this what is happening? And of course sddm has the new way, but rest of DMs dont have it.
In general, with openSUSE the display-manager.service takes care of the above, regardless of the chosen display manager. I have read the ‘DisplayManager Rework’ article, and update-alternatives will be deprecated at some point. There is a planned transition, but I’m not sure where that got to.
Having said that (and not directly related to this topic), I have a Slowroll install on a laptop where I am using SDDM Wayland (so no X-server involved). In order for that to work I had to disable xdm.service and explicitly enable sddm.serivce (along with the DisplayServer=wayland directive in the SDDM config).
@hui I did not see that one coming . . . I assumed that somebody was going to blow up because I suggested he try to remove sddm . . . . I got that “clean --all” command from one of the helpers on this forum some years back . . . I suggested it here because his “update-alternatives” was not responding as it appeared to do for you.
However, not too long ago I went through this same problem, possibly back at the beginning of my lengthy discussion thread, after a large package dup upgrade, and subsequently my sddm failed to work, and I added in the other display -managers and none of them worked to provide a GUI log in, except for lightdm. So now I have lightdm running on my TW and my Leap 16 install.
The OP seems to have some chops, and we more or less have the same display managers installed . . . my idle question is, why do they not work??
And that cycles back to the possible association with “nvidia” . . . as we both are running an nvidia card (I didn’t check the exact model of the OP) . . . but for my 780 card I have to lock out the G06 package, as installing that package brought some issues with my SUSE installs . . . the OP has the G06 package . . . . These recurring issues with display manager have hit my SUSE installs a number of times over the last few years . . . . In one of those times when I was running sddm I got the suggestion to “add the sddm-qt6” package . . . . But, a few weeks ago when my sddm went belly up there didn’t seem to be any sddm-qt6 package showing in YaST . . . and lightdm is the only one of mine that now is working, the others do not work.
The OP has explicitly enabled ‘sddm.service’, which will cause SDDM to start as expected (regardless of what is configured with update-alternatives). If this service is disabled and ‘display-manager.service’ enabled, then the DM configured via update-alternatives should take effect and start at next boot. I was able to get LightDM started doing just this. (Now I will return to using SDDM Wayland).
If no other display manager is executing then I can launch lightdm and it works ok.
The thing is that no display_manager systemd service exists.
Look at this:
x-wing:/home/miguel # systemctl disable sddm
Removed '/etc/systemd/system/display-manager.service'.
x-wing:/home/miguel # systemctl enable display-manager.service
Failed to enable unit: Unit display-manager.service does not exist
of course I can just login in terminal, then /usr/sbin/lightdm and go, but… you know I prefer the things working. And doing the things like this don’t allow sleep, I see it now.