Resume issue after recent update

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.

This is not working for me SDB:Change Display Manager - openSUSE Wiki

Then I came to openSUSE:DisplayManagerRework - openSUSE Wiki

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.

(As this is really a specific request for support, I’ve split it off from the open chat discussion about a similar issue)

1 Like

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: 

The asterisk is showing #3 is selected.

As said, no matter what I set, it keeps sddm booting. This is my thing:

  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…

Hello.

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.

Please show the results from

systemctl status sddm display-manager

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:~> 


Was systemctl or yast used to attempt change instead of update-alternatives?

# inxi -Sz
System:
  Kernel: 6.4.0-150600.23.42-default arch: x86_64 bits: 64
  Console: pty pts/2 Distro: openSUSE Leap 15.6
# systemctl list-unit-files | egrep 'xdm|splay|lightdm|sddm|gdm'
display-manager.service                  enabled         enabled
xdm.service                              alias           -
# update-alternatives --config default-displaymanager
There are 3 choices for the alternative default-displaymanager (providing /usr/lib/X11/displaymanagers/default-displaymanager).

  Selection    Path                                  Priority   Status
------------------------------------------------------------
* 0            /usr/lib/X11/displaymanagers/kdm3      15        auto mode
  1            /usr/lib/X11/displaymanagers/console   5         manual mode
  2            /usr/lib/X11/displaymanagers/kdm3      15        manual mode
  3            /usr/lib/X11/displaymanagers/xdm       10        manual mode

Press <enter> to keep the current choice[*], or type selection number:
#

Output of second of three commands above AFAICT should be the same for every Leap user who has X installed.

systemctl status sddm display-manager

● sddm.service - Simple Desktop Display Manager
     Loaded: loaded (/usr/lib/systemd/system/sddm.service; enabled; preset: disabled)
     Active: active (running) since Wed 2025-04-09 00:25:58 CEST; 1min 2s ago
 Invocation: 4129d7ebe6784d589730b1e29ccee24a
       Docs: man:sddm(1)
             man:sddm.conf(5)
    Process: 1721 ExecStartPre=/usr/bin/plymouth quit --retain-splash (code=exited, status=1/FAILURE)
   Main PID: 1730 (sddm)
      Tasks: 4
        CPU: 3.181s
     CGroup: /system.slice/sddm.service
             ├─1730 /usr/bin/sddm
             └─1783 /usr/bin/Xorg.bin -nolisten tcp -background none -seat seat0 vt2 -auth /run/sddm/xauth_MFyqDe -noreset -displayfd 16

abr 09 00:26:07 x-wing sddm-helper[2674]: [PAM] Conversation with 1 messages
abr 09 00:26:07 x-wing sddm-helper[2674]: [PAM] returning.
abr 09 00:26:07 x-wing sddm[1730]: Authentication for user  "miguel"  successful
abr 09 00:26:07 x-wing sddm[1730]: Auth: sddm-helper exited successfully
abr 09 00:26:07 x-wing sddm[1730]: Greeter stopped. SDDM::Auth::HELPER_SUCCESS
abr 09 00:26:07 x-wing sddm-helper[2674]: pam_unix(sddm:session): session opened for user miguel(uid=1001) by miguel(uid=0)
abr 09 00:26:07 x-wing sddm-helper[2674]: Writing cookie to "/tmp/xauth_yWoUoe"
abr 09 00:26:07 x-wing sddm-helper[2674]: Starting X11 session: "" "/usr/etc/X11/xdm/Xsession \"/usr/bin/startplasma-x11\""
abr 09 00:26:07 x-wing sddm[1730]: Session started true
abr 09 00:26:07 x-wing sddm-helper[2674]: Failed to write utmpx:  No existe el fichero o el directorio

● sddm.service - Simple Desktop Display Manager
     Loaded: loaded (/usr/lib/systemd/system/sddm.service; enabled; preset: disabled)
     Active: active (running) since Wed 2025-04-09 00:25:58 CEST; 1min 2s ago
 Invocation: 4129d7ebe6784d589730b1e29ccee24a
       Docs: man:sddm(1)
             man:sddm.conf(5)
    Process: 1721 ExecStartPre=/usr/bin/plymouth quit --retain-splash (code=exited, status=1/FAILURE)
   Main PID: 1730 (sddm)
      Tasks: 4
        CPU: 3.181s
     CGroup: /system.slice/sddm.service
             ├─1730 /usr/bin/sddm
             └─1783 /usr/bin/Xorg.bin -nolisten tcp -background none -seat seat0 vt2 -auth /run/sddm/xauth_MFyqDe -noreset -displayfd 16

abr 09 00:26:07 x-wing sddm-helper[2674]: [PAM] Conversation with 1 messages
abr 09 00:26:07 x-wing sddm-helper[2674]: [PAM] returning.
abr 09 00:26:07 x-wing sddm[1730]: Authentication for user  "miguel"  successful
abr 09 00:26:07 x-wing sddm[1730]: Auth: sddm-helper exited successfully
abr 09 00:26:07 x-wing sddm[1730]: Greeter stopped. SDDM::Auth::HELPER_SUCCESS
abr 09 00:26:07 x-wing sddm-helper[2674]: pam_unix(sddm:session): session opened for user miguel(uid=1001) by miguel(uid=0)
abr 09 00:26:07 x-wing sddm-helper[2674]: Writing cookie to "/tmp/xauth_yWoUoe"
abr 09 00:26:07 x-wing sddm-helper[2674]: Starting X11 session: "" "/usr/etc/X11/xdm/Xsession \"/usr/bin/startplasma-x11\""
abr 09 00:26:07 x-wing sddm[1730]: Session started true
abr 09 00:26:07 x-wing sddm-helper[2674]: Failed to write utmpx:  No existe el fichero o el directorio

the sdd-helper failed to write utmpx: no such file or directory?

Disable the sddm.service

systemctl disable sddm

and reboot. Then then the current update-alternatives config should be respected.

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 inxi -Sz
System:
  Kernel: 6.14.0-1-default arch: x86_64 bits: 64
  Console: pty pts/1 Distro: openSUSE Tumbleweed 20250405
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

Enter, and SDDM when rebooting.

Cannot disable SDDM in systemd. I did and I lost graphic login. Reenabling it and starting shows up the SDDM greter.

In this article

https://en.opensuse.org/openSUSE:DisplayManagerRework

you can read

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).

As a quick test drop to runlevel 3, and login as root. Do
/usr/sbin/lightdm
Does that yield a working LightDM display manager?

@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.

Read back through my “2082 packages” thread and in the first post, Jan 13 '25 the “issues with sddm” were mentioned . . . .

Wasn’t mentioned again, I think I got off-list advice to get to a solution using lightdm.

Lots of discussion about the problems with running Nvidia hardware were mentioned in that thread.

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).

1 Like

Yes, it works.

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.