Black screen during login with KDE spin + nvidia

When I boot into fedora 34 KDE I can see the KDE login screen for about half a second before the screen turns black and remains black. I can type in my password blindly and press enter, thereby entering the KDE desktop.

I have an NVIDIA geforce 3070 and the 470.74 driver installed. Any ideas what might cause this issue?

I use gnome so have never seen the issue.

Is it possible that with kde the login screen with plymouth is locked into using Wayland? Nvidia and wayland do not play well together so systems using nvidia run on X. I think I saw another post about similar issues with kde and logins.

Hi there, I’m experiencing the same issue, also KDE and recent update of among other things nvidia drivers: Fedora 34 KDE - display goes offline at login screen - #3 by huben

To reiterate what I wrote there the last thing that happens with an error seems to have to do with a KDE theme. If one googles the particular repeated error there are past references to blank and black screens, so I’m not sure it has to do with nvidia (but I do not know).

If you do a sudo journalctl -b after logging in, do you get messages like these? “Cannot create children”

okt 03 18:56:02 feds sddm-greeter[2756]: QFont::fromString: Invalid description '(empty)'
okt 03 18:56:02 feds sddm-greeter[2756]: Loading file:///usr/share/sddm/themes/01-breeze-fedora/Main.qml...
okt 03 18:56:02 feds sddm-greeter[2756]: QObject: Cannot create children for a parent that is in a different thread.
                                         (Parent is QGuiApplication(0x7fff007cf3b0), parent's thread is QThread(0x55ba71c81a80), current thread is QThread(0x55ba71d5dd30)
okt 03 18:56:02 feds sddm-greeter[2756]: QObject: Cannot create children for a parent that is in a different thread.
                                         (Parent is QGuiApplication(0x7fff007cf3b0), parent's thread is QThread(0x55ba71c81a80), current thread is QThread(0x55ba71d5dd30)
okt 03 18:56:02 feds sddm-greeter[2756]: QObject: Cannot create children for a parent that is in a different thread.
                                         (Parent is QGuiApplication(0x7fff007cf3b0), parent's thread is QThread(0x55ba71c81a80), current thread is QThread(0x55ba71d5dd30)
okt 03 18:56:02 feds sddm-greeter[2756]: QObject: Cannot create children for a parent that is in a different thread.
                                         (Parent is QGuiApplication(0x7fff007cf3b0), parent's thread is QThread(0x55ba71c81a80), current thread is QThread(0x55ba71d5dd30)
okt 03 18:56:02 feds sddm-greeter[2756]: QObject::installEventFilter(): Cannot filter events for objects in a different thread.
okt 03 18:56:03 feds audit[2756]: AVC avc:  denied  { watch } for  pid=2756 comm="sddm-greeter" path="/run" dev="tmpfs" ino=1 scontext=system_u

(There are nvidia-related errors before this in the boot sequence but none is listed when the sddm-greeter (login screen I guess) fails. It would have been grand to compare with logs from the same system from before the issue started :slight_smile: )

We probably have a wayland-nvidia-problem.

I checked a default install and it is using wayland.

So we need to switch to xorg in sdm

If you have G-Sync enabled, try adding the command nvidia-settings -a AllowVRR=0 to /etc/sddm/Xsetup. Driver version 470.74 can have some issues with VRR feature.

2 Likes

Great find rockingcat. In the “twin” thread I noted that the sddm-greeter worked well with nouveau and then with reinstalled nvidia drivers. Until I tried to enable G-sync via nvidia-settings again, I found later. (Also experienced some issues with getting g-sync to work in games that I didn’t prior to this update but that may be unrelated).

1 Like