Black screen after login

I’ve just moved from Leap 42.3 to Tumbleweed (fresh install) now that it has an nVidia repo. At first it was okay, but as I put everything back in place then I’ve found I can’t log in to Gnome successfully. Unfortunately, I didn’t get Snapper working until after login broke.

What happens:

  • Boot normally, Gnome login manager comes up, pick user, type password, screen goes black (not even a cursor), can’t Ctrl+Alt+F#, have to use SysReq to reboot. Ditto for IceWM (so it isn’t just a Gnome thing)
  • Edit boot to add “init 3”, log in at command-prompt, run “sudo systemctl start display-manager”, everything is fine and I can log in normally
  • Remove nVidia binary drivers, reboot, screen flickers quickly between TTY login and the " OK ] …" lines from the boot process, typing doesn’t work reliably because of the flicker so I can’t log in
  • Do “zypper dup”, nVidia drivers come back automatically, add “nouveau.modeset=0” based on suggestions online (in case Grub is doing something that the GDM can cope with but the desktops can’t), still get black screen after login

The main things that I can see in the log are a warning about “NVRM” and how the NVIDIA drivers don’t support text-mode VGA and “NVIDIA(GPU-0): Failed to acquire modesetting permission” closely followed by “Screen(s) found, but none have a usable configuration.”

Any suggestions on what I can do to debug/fix?

Thanks

(I’ve got one nVidia 1050Ti running HDMI to my monitor, latest kernel and proprietary drivers, full “zypper dup” about 20 minutes ago, Gnome desktop)

Additional data points:

  • Booting to “init 3” and then running “init 5” results in the same “black screen after login” behaviour
  • When the black screen occurs, the keyboard is unresponsive (CapsLock/NumLock lights won’t light up)
  • Adding “nouveau.modeset=0 nomodeset” to the linuxefi line and changing gfxpayload to “vga=normal” didn’t help (another random suggestion I found online)
sudo hwinfo --gfxcard

You’ve tried the console to start yast ncurses with the tab keys and send you moving to> package manager> lookup> Nvidia> get update to all installed packages> ok

From init 3:

$ sudo hwinfo --gfxcard
[sudo] password for root: 
23: PCI 100.0: 0300 VGA compatible controller (VGA)             
  [Created at pci.378]
  Unique ID: …
  Parent ID: …
  SysFS ID: /devices/pci0000:00/0000:00:01.0/0000:01:00.0
  SysFS BusID: 0000:01:00.0
  Hardware Class: graphics card
  Model: "nVidia GP107 [GeForce GTX 1050 Ti]"
  Vendor: pci 0x10de "nVidia Corporation"
  Device: pci 0x1c82 "GP107 [GeForce GTX 1050 Ti]"
  SubVendor: pci 0x1458 "Gigabyte Technology Co., Ltd"
  SubDevice: pci 0x372a 
  Revision: 0xa1
  Driver: "nvidia"
  Driver Modules: "nvidia"
  Memory Range: 0xf6000000-0xf6ffffff (rw,non-prefetchable)
  Memory Range: 0xe0000000-0xefffffff (ro,non-prefetchable)
  Memory Range: 0xf0000000-0xf1ffffff (ro,non-prefetchable)
  I/O Ports: 0xe000-0xefff (rw)
  Memory Range: 0x000c0000-0x000dffff (rw,non-prefetchable,disabled)
  IRQ: 30 (9193 events)
  Module Alias: "pci:v00001…"
  Driver Info #0:
    Driver Status: nouveau is not active
    Driver Activation Cmd: "modprobe nouveau"
  Driver Info #1:
    Driver Status: nvidia_drm is active
    Driver Activation Cmd: "modprobe nvidia_drm"
  Driver Info #2:
    Driver Status: nvidia is active
    Driver Activation Cmd: "modprobe nvidia"
  Config Status: cfg=new, avail=yes, need=no, active=unknown
  Attached to: #21 (PCI bridge)

Primary display adapter: #23

I can’t test init 5, where login breaks, because it loses all TTYs in that mode.

I’ve already installed and uninstalled and reinstalled nVidia at least once and have the latest versions from the nVidia Tumbleweed repo:

$ rpm -qa *nvidia*
nvidia-glG04-384.90-26.2.x86_64
x11-video-nvidiaG04-384.90-26.2.x86_64
nvidia-gfxG04-kmp-default-384.90_k4.13.4_1-26.2.x86_64
nvidia-computeG04-384.90-26.2.x86_64

Also, if I go in on init 3 and start the display manager manually then I have a full desktop and don’t need ncurses Yast.

Thanks.

Try to see it here https://forums.opensuse.org/showthread.php/527815-gdm-or-gnome-login-seems-to-be-broken-after-zypper-update-last-night?p=2842951#post2842951

Hi,

I saw that thread, but it appears to be a different problem. I get the GDM but no login session (and no mouse after I log in), I’ve always been using GDM rather than lightdm, I seem to get it with systems that don’t use Wayland, and none of the logs appear to be similar.

Thanks.

I’ve got another (perhaps unsurprising) data point.

If I leave the system to boot normally and then use Ctrl+Alt+Backspace twice to restart X while at the GDM then I can log in normally.

I’ve been updating pretty much every day until today and it still won’t log in normally. Something must be wrong with my boot process and modesetting, but I don’t know what.

Try this, maybe it helps:

sudo rm /usr/lib/systemd/user/sockets.target.wants/dbus.socket

From https://lists.opensuse.org/opensuse-factory/2017-10/msg00726.html

I’ll give it a try the next time I reboot, but most of their reported symptoms are closer to the other thread than mine. I don’t get a mouse when I log in, everything still breaks when I do “init 5” (but not when I restart X or init 3 and then “systemctl start display-manager”), and I can’t drop to a TTY (which I assume is what they meant by “hotkey to a console window”).

Thanks.

Nope, that didn’t fix it. Removing “splash=silent” from the linuxefi line did, though. I’m not sure how that alters its behaviour, but it does. Also, the problem seems to be consistently detectable by Ctrl+Alt+F# not working - I don’t need to try and log in and have it free so that I can only do an emergency SysReq reboot, I can just see whether I can switch TTY and if I can’t then it’s a broken boot.

I don’t suppose that triggers any ideas for anyone, does it?

Something seems to have changed in all of the updates that has fixed this. After forgetting to edit Grub at boot, I noticed that I had access to the TTYs and was able to log in without restarting X or anything.

Oddly, I only get “Gnome” in the login options, though. There’s no “Gnome on X” to differentiate it from Wayland (and “ps aux” shows a couple of X servers running on tty3 and tty7)

Do you have gnome-session-wayland installed?

It got uninstalled at some point, but I checked my Wayland packages a few days ago and noticed it wasn’t installed, so I added it. Still not there, though.

gnome-session-3.26.1-2.1.x86_64
gnome-session-core-3.26.1-2.1.x86_64
gnome-session-default-session-3.26.1-2.1.x86_64
gnome-session-lang-3.26.1-2.1.noarch
gnome-session-wayland-3.26.1-2.1.x86_64

Please post:

update-alternatives --config 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/xdm       10        manual mode

Then gdm is probably running in Xorg session, not wayland. Check with loginctl which sessions are there, use “loginctl show-session XX” (XX will probably be c1) and look for Type.

Yeah, type is “x11”. I guess that means that my problem is only half-gone - it’s not breaking things with a black screen after login, but it is dropping the GDM into an X11 session so that it can’t run Wayland.

Never mind, it’s not the end of the world, I guess. At least I can let it boot normally and log in now!

Thanks.

Well, as far as I can tell, if wayland is not explicitly disabled and /usr/bin/Xwayland exists gdm goes wayland. And /usr/bin/Xwayland should be dependency of gnome-session-wayland. So a) does /usr/bin/Xwayland exist and b) what is value of daemon/WaylandEnable in /etc/gdm/custom.conf?

/usr/bin/Xwayland exists and “WaylandEnable” under “[daemon]” is commented out. Based on the comment above it then that should mean that it defaults to true.

OOps…
wrong…