NVidia Drivers Cause PC to Crash Few Minutes After Boot?

Hello there, I’ve been having this issue since F42, so a few months already. What happens is I boot up my PC, log-in, and it will show a black screen for a few moments. I can enter my desktop for a few minutes and do stuff for a bit, then it will log back out to the log-in screen, and if I try to log-in, it will show a black screen indefinitely and I can’t even go to tty at this point. The only way to exit is either ctrl+alt+del or a hard reboot with the power button. This is consistent and happens almost every time I turn on my PC. I have pretty much isolated the issue to be the Nvidia drivers, as when I uninstall them it doesn’t occur. The workaround I have come to is to uninstall the Nvidia drivers during the few minutes I have with the first boot, reboot my PC, then reinstall the Nvidia drivers (without rebooting) after which the PC operates as it should. As you can imagine, this is a bit of a hassle.

PC Specs:
Ryzen 7 7700
4070 Super
Fedora 43 KDE
Kernel 6.17.12-300
Nvidia Driver version 590.48.01

Info that may or may not be relevant: I have secure boot on and LUKS on, although turning secure boot off after the fact does not do anything. I would rather not reinstall Fedora with secure boot off and LUKS off just to test if it would fix the problem. I have tried both the rpm repo and negativo17 repo.

Please feel free to ask me for more info, although please be specific with the commands I would need to use as I am still relatively a newbie. Thank you!

Where did you obtain that driver? From previous threads about the nvidia driver it seems obvious that the negativo repo does not often work with fedora, and you did not identify the rpm repo used.

It seems it is not yet available from rpmfusion (even in testing) so I do not have it yet.

This sounds as if you are actually booting with the nouveau driver and that one is working. Installing the nvidia driver without rebooting does NOT load the driver into the kernel. The driver in use when the system is stable would be seen with lsmod | grep -iE 'nvidia|nouveau'

My suggestion (FWIW) is to remove the driver you have, then install the 580.119.02 driver from rpmfusion as shown here

Hello Jeff! Thank you for the response. I got the driver from the negativo repo which I switched over to from the rpmfusion repo as an attempt to fix the problem. I have now switched back over to the rpmfusion repo as per your suggestion, however the same thing still happens. I log-in, get to desktop, get logged back out, indefinite black screen if i try to log back in.

Unfortunately, I can’t reboot after reinstalling the driver as it will start the thing all over again. My PC is only usable when I reinstall the drivers and don’t reboot; using the PC without the drivers is unusable as (I believe) just using the nouveau drivers detects only one of my monitors and uses 1024*768 resolution at 60hz. Installing the drivers turns it back to 1440p on both monitors at 180hz (after waiting for the kmods to build). Regardless I’ve attached a screenshot of the lsmod thing, the first command is before installing the nvidia drivers, and the second command is after installing the drivers.

That last image definitely shows the problem. The system should never load both the nvidia and nouveau drivers at the same time. Two different drivers for the same gpu at the same time will definitely cause a problem.

Please post the outputs cat /proc/cmdline , cat /etc/kernel/cmdline and cat /etc/default/grub
Post those as preformatted text, by copy & paste, then highlight the pasted text and click the </> button on the toolbar of the text input window here.

Also please show the result of dnf list --installed \*nvidia\* and lspci | grep -i nvidia

What I would expect to see with the nvidia drivers installed and loaded is this

lsmod | grep -iE "nvidia|nouveau"
nvidia_uvm           4079616  0
nvidia_drm            159744  477
nvidia_modeset       2265088  9 nvidia_drm
nvidia              15896576  266 nvidia_uvm,nvidia_modeset
drm_ttm_helper         16384  1 nvidia_drm
video                  81920  1 nvidia_modeset

For cat /proc/cmdline

BOOT_IMAGE=(hd2,gpt2)/vmlinuz-6.17.12-300.fc43.x86_64 root=UUID=3a8539ee-a18d-4ba1-a06c-86fce1c0b641 ro rootflags=subvol=root rd.luks.uuid=luks-7d463cd5-067f-4839-ac20-79089388efe5 rhgb acpi_enforce_resources=lax

For cat /etc/kernel/cmdline

root=UUID=3a8539ee-a18d-4ba1-a06c-86fce1c0b641 ro rootflags=subvol=root rd.luks.uuid=luks-7d463cd5-067f-4839-
ac20-79089388efe5 rhgb acpi_enforce_resources=lax rd.driver.blacklist=nouveau,nova_core modprobe.blacklist=no
uveau,nova_core

For cat /etc/default/grub

GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="rd.luks.uuid=luks-7d463cd5-067f-4839-ac20-79089388efe5 rhgb acpi_enforce_resources=lax rd.driver.blacklist=nouveau,nova_core modprobe.blacklist=nouveau,nova_core"
GRUB_DISABLE_RECOVERY="true"
GRUB_ENABLE_BLSCFG=true

For dnf list --installed \*nvidia\*

akmod-nvidia.x86_64                        3:580.119.02-1.fc43 rpmfusion-nonfree-updates
kmod-nvidia-6.17.12-300.fc43.x86_64.x86_64 3:580.119.02-1.fc43 @commandline
nvidia-modprobe.x86_64                     3:580.119.02-1.fc43 rpmfusion-nonfree-updates
nvidia-persistenced.x86_64                 3:580.119.02-1.fc43 rpmfusion-nonfree-updates
nvidia-settings.x86_64                     3:580.119.02-1.fc43 rpmfusion-nonfree-updates
xorg-x11-drv-nvidia.x86_64                 3:580.119.02-1.fc43 rpmfusion-nonfree-updates
xorg-x11-drv-nvidia-cuda.x86_64            3:580.119.02-1.fc43 rpmfusion-nonfree-updates
xorg-x11-drv-nvidia-cuda-libs.i686         3:580.119.02-1.fc43 rpmfusion-nonfree-updates
xorg-x11-drv-nvidia-cuda-libs.x86_64       3:580.119.02-1.fc43 rpmfusion-nonfree-updates
xorg-x11-drv-nvidia-kmodsrc.x86_64         3:580.119.02-1.fc43 rpmfusion-nonfree-updates
xorg-x11-drv-nvidia-libs.i686              3:580.119.02-1.fc43 rpmfusion-nonfree-updates
xorg-x11-drv-nvidia-libs.x86_64            3:580.119.02-1.fc43 rpmfusion-nonfree-updates
xorg-x11-drv-nvidia-power.x86_64           3:580.119.02-1.fc43 rpmfusion-nonfree-updates
xorg-x11-drv-nvidia-xorg-libs.x86_64       3:580.119.02-1.fc43 rpmfusion-nonfree-updates

For lspci | grep -i nvidia

01:00.0 VGA compatible controller: NVIDIA Corporation AD104 [GeForce RTX 4070 SUPER] (rev a1)
01:00.1 Audio device: NVIDIA Corporation AD104 High Definition Audio Controller (rev a1)

The output you sent over for lsmod | grep -iE "nvidia|nouveau" is what appears for me on the first boot before it logs me back out and logging back in causes the indefinite black screen. My assumption is that the reason there’s both nvidia and nouveau drivers at the same time is that it is the second boot after uninstalling nvidia drivers, i.e., I booted up with the nouveau drivers, then reinstalled the nvidia drivers, and that’s why they’re both active.

That should never happen. The drivers are loaded at boot time only unless the user does some fiddling trying to change what the kernel sees.

The drivers appear to be properly installed, though the nvidia-gpu-firmware package seems to have been removed.

What is the result of dnf repolist?

Have you tried to get into a text login when the black screen appears?
ctrl+alt+F3 should give you a text login screen.
After logging in then try to rebuild the driver before rebooting with sudo akmods --rebuild --force.

The same command can be used when logged in on the desktop before rebooting

Another thing I note is the xorg-x11-drv-nvidia-xorg-libs.x86_64 package. AFAIK that package is only used for running X11, though I have it on my desktop system that has been upgraded for several releases and am using wayland with no problems. It is not installed on my other system that was newly installed with f43 (both are using nvidia RTX 3050 GPUs).

Are you by chance trying to use (or have been using) the X11 desktop?
KDE dropped X11 in favor of Wayland 2 or 3 releases back.

I tried your suggestion to do sudo akmods --rebuild --force on tty3 and it seems to work as a workaround right now. I exit out of tty by pressing ctrl+alt+F2 instead of rebooting as rebooting makes the problem occur again. This is much much better than doing the whole uninstalling/reinstalling the drivers and I can use my PC as it’s meant to work, although I still wish to fix it the problem than working around it. Using this method, the result for lsmod | grep -iE "nvidia|nouveau" is now

nvidia_uvm           4079616  0
nvidia_drm            159744  139
nvidia_modeset       2265088  60 nvidia_drm
nvidia              15896576  1131 nvidia_uvm,nvidia_modeset
drm_ttm_helper         16384  2 nvidia_drm
video                  81920  1 nvidia_modeset

so no more of the nouveau drivers showing up. As I said though, it occurs again after shutting down the computer and turning it back on again so it’s a workaround for now. I have also reinstalled nvidia-gpu-firmware, it seems to have been uninstalled.

I use Wayland currently, although I tried to use x11 in an attempt to fix this issue. Switching between Wayland and x11 used to be my workaround, although it has stopped working and I started doing the whole uninstalling/reinstalling method.

Results for dnf repolist:

repo id                                                                                                     repo name                                                                                                                             
copr:copr.fedorainfracloud.org:lizardbyte:beta                                                              Copr repo for beta owned by lizardbyte                                                                                                
copr:copr.fedorainfracloud.org:lizardbyte:stable                                                            Copr repo for stable owned by lizardbyte                                                                                              
copr:copr.fedorainfracloud.org:phracek:PyCharm                                                              Copr repo for PyCharm owned by phracek                                                                                                
fedora                                                                                                      Fedora 43 - x86_64                                                                                                                    
fedora-cisco-openh264                                                                                       Fedora 43 openh264 (From Cisco) - x86_64                                                                                              
google-chrome                                                                                               google-chrome                                                                                                                         
mullvad-stable                                                                                              Mullvad VPN                                                                                                                           
rpmfusion-free                                                                                              RPM Fusion for Fedora 43 - Free                                                                                                       
rpmfusion-free-updates                                                                                      RPM Fusion for Fedora 43 - Free - Updates                                                                                             
rpmfusion-nonfree                                                                                           RPM Fusion for Fedora 43 - Nonfree                                                                                                    
rpmfusion-nonfree-steam                                                                                     RPM Fusion for Fedora 43 - Nonfree - Steam                                                                                            
rpmfusion-nonfree-updates                                                                                   RPM Fusion for Fedora 43 - Nonfree - Updates                                                                                          
updates                                                                                                     Fedora 43 - x86_64 - Updates

this would only make sense if the nouveau driver were not blacklisted.
Your output of cat /proc/cmdline seems to support this.

pls post output of sudo grubby --info=ALL |grep -E 'kernel|args'

the args line should contain this rd.driver.blacklist=nouveau,nova_core modprobe.blacklist=nouveau,nova_core

if this is not the case, then run

sudo grubby --args="rd.driver.blacklist=nouveau,nova_core modprobe.blacklist=nouveau,nova_core"  --update-kernel=ALL 

and check again.

make also sure the command sudo ls -l /etc/grub*cfg /boot/grub2/grub.cfg produces a similar output, two soft links and one file

$ sudo ls -l /etc/grub*cfg  /boot/grub2/grub.cfg 
-rw-------. 1 root root 7384 Sep 30 13:20 /boot/grub2/grub.cfg
lrwxrwxrwx. 1 root root   22 Aug  6 02:00 /etc/grub2.cfg -> ../boot/grub2/grub.cfg
lrwxrwxrwx. 1 root root   22 Aug  6 02:00 /etc/grub2-efi.cfg -> ../boot/grub2/grub.cfg

Thanks for responding as well! The output for sudo grubby --info=ALL |grep -E 'kernel|args' is

> kernel="/boot/vmlinuz-6.17.12-300.fc43.x86_64"
> args="ro rootflags=subvol=root rd.luks.uuid=luks-7d463cd5-067f-4839-ac20-79089388efe5 rhgb acpi_enforce_resources=lax rd.driver.blacklist=nouveau,nova_core modprobe.blacklist=nouveau,nova_core"
> kernel="/boot/vmlinuz-6.17.11-300.fc43.x86_64"
> args="ro rootflags=subvol=root rd.luks.uuid=luks-7d463cd5-067f-4839-ac20-79089388efe5 rhgb acpi_enforce_resources=lax rd.driver.blacklist=nouveau,nova_core modprobe.blacklist=nouveau,nova_core"
> kernel="/boot/vmlinuz-6.17.10-300.fc43.x86_64"
> args="ro rootflags=subvol=root rd.luks.uuid=luks-7d463cd5-067f-4839-ac20-79089388efe5 rhgb acpi_enforce_resources=lax rd.driver.blacklist=nouveau,nova_core modprobe.blacklist=nouveau,nova_core"
> kernel="/boot/vmlinuz-0-rescue-3989f172d5584340b7e3a335910dce07"
> args="ro rootflags=subvol=root rd.luks.uuid=luks-7d463cd5-067f-4839-ac20-79089388efe5 rhgb acpi_enforce_resources=lax rd.driver.blacklist=nouveau,nova_core modprobe.blacklist=nouveau,nova_core"

so it looks like the nouveau blacklist line on args is there.

sudo ls -l /etc/grub*cfg /boot/grub2/grub.cfg produces an output similar to the one you sent over:

-rw-------. 1 root root 6864 Dec 22 08:03 /boot/grub2/grub.cfg
lrwxrwxrwx. 1 root root   22 Aug  6 08:00 /etc/grub2.cfg -> ../boot/grub2/grub.cfg
lrwxrwxrwx. 1 root root   22 Aug  6 08:00 /etc/grub2-efi.cfg -> ../boot/grub2/grub.cfg

can you reproduce with a brand new user?

Hmm
You are correct.
His /proc/cmdline did not contain the nouveau arguments though the results of /etc/default/grub and /etc/kernel/cmdline did.

I suspect that those arguments are not in the /boot/loader/entries/*.conf file for his kernel.

@oorpheuss
Try running sudo grub2-mkconfig -o /boot/grub2/grub.cfg
Then run sudo grubby --info="vmlinuz-$(uname -r)" to see the content of the file for the running kernel.
It should appear something like this

$ sudo grubby --info="vmlinuz-$(uname -r)"
index=0
kernel="/boot/vmlinuz-6.17.12-300.fc43.x86_64"
args="ro rd.lvm.lv=fedora_root/root rd.driver.blacklist=nouveau,nova_core modprobe.blacklist=nouveau,nova_core $tuned_params"
root="/dev/mapper/fedora_root-root"
initrd="/boot/initramfs-6.17.12-300.fc43.x86_64.img $tuned_initrd"
title="Fedora Linux (6.17.12-300.fc43.x86_64) 43 (Workstation Edition)"
id="594ece762a4b48678f35f7be2ddf7410-6.17.12-300.fc43.x86_64"

The args line should contain those nouveau arguments, and if not then it likely is the cause of your problems.

To get a similar result you could use
sudo cat /boot/loader/entries/<the result from your id line above>.conf to see the exact content of that file.

The solution would be to use grubby and fix it
sudo grubby --update-kernel=ALL --args=" rd.driver.blacklist=nouveau,nova_core modprobe.blacklist=nouveau,nova_core "

AFAIK grubby reads and updates the loader entries.

strace output

[pid 258938] openat(AT_FDCWD, "/boot/loader/entries/567c7e0e03b242e4b5d672cc22fffe54-6.18.2-00.fc43.x86_64.conf", O_RDONLY|O_NOCTTY) = 3
[pid 258938] read(3, "title Fedora Linux (6.18.2-00.fc"..., 98304) = 494
[pid 258938] read(3, "", 98304)         = 0
[pid 258939] <... read resumed>, "title Fedora Linux (6.18.2-00.fc"..., 4096) = 68

@oorpheuss if you interrupt the boot process at the grub2 stage and enter edit mode with ‘e’, does the linux line contain the blocklist arguments?

Exactly, and that is why I suggested using grubby for both reading the content with --info= and updating it with --args= if not correct.

With my testing grubby updates /etc/default/grub, /etc/kernel/cmdline, and the kernel .conf files in /boot/loader/entries/

@anotheruser I tried creating another user but same thing happens. I also entered edit mode on grub and the blocklist arguments show up:

@computersavvy Result for sudo grubby --info="vmlinuz-$(uname -r)":

sudo grubby --info="vmlinuz-$(uname -r)"
index=0
kernel="/boot/vmlinuz-6.17.12-300.fc43.x86_64"
args="ro rootflags=subvol=root rd.luks.uuid=luks-7d463cd5-067f-4839-ac20-79089388efe5 rhgb acpi_enforce_resources=lax rd.driver.blacklist=nouveau,nova_core modprobe.blacklist=nouveau,nova_core"
root="UUID=3a8539ee-a18d-4ba1-a06c-86fce1c0b641"
initrd="/boot/initramfs-6.17.12-300.fc43.x86_64.img $tuned_initrd"
title="Fedora Linux (6.17.12-300.fc43.x86_64) 43 (KDE Plasma Desktop Edition)"
id="3989f172d5584340b7e3a335910dce07-6.17.12-300.fc43.x86_64"

I see the nouveau arguments on there as well. With the command sudo cat /boot/loader/entries/3989f172d5584340b7e3a335910dce07-6.17.12-300.fc43.x86_64.conf I got:

title Fedora Linux (6.17.12-300.fc43.x86_64) 43 (KDE Plasma Desktop Edition)
version 6.17.12-300.fc43.x86_64
linux /vmlinuz-6.17.12-300.fc43.x86_64
initrd /initramfs-6.17.12-300.fc43.x86_64.img $tuned_initrd
options root=UUID=3a8539ee-a18d-4ba1-a06c-86fce1c0b641 ro rootflags=subvol=root rd.luks.uuid=luks-7d463cd5-067f-4839-ac20-79089388efe5 rhgb acpi_enforce_resources=lax rd.driver.blacklist=nouveau,nova_core modprobe.blacklist=nouveau,nova_core 
grub_users $grub_users
grub_arg --unrestricted
grub_class fedora

which shows the nouveau arguments too. I did the sudo grubby --update-kernel=ALL --args=" rd.driver.blacklist=nouveau,nova_core modprobe.blacklist=nouveau,nova_core " command regardless just in case but nothing has changed.

The only other thing I might suggest is to once again run sudo akmods --rebuild --force and reboot to see if it may be solved after waiting several minutes with the black screen (10 or more). At times I have seen the black screen that appeared hung, but after a few minutes it came back to the desktop (usually after a new driver install/update).

You also may get more info with sudo dmesg | grep -iE "nouveau|nvidia|secure"

With sudo dmesg | grep -iE "nouveau|nvidia|secure" I got:

[    0.000000] Command line: BOOT_IMAGE=(hd2,gpt2)/vmlinuz-6.17.12-300.fc43.x86_64 root=UUID=3a8539ee-a18d-4ba1-a06c-86fce1c0b641 ro rootflags=subvol=root rd.luks.uuid=luks-7d463cd5-067f-4839-ac20-79089388efe5 rhgb acpi_enforce_resources=lax rd.driver.blacklist=nouveau,nova_core modprobe.blacklist=nouveau,nova_core
[    0.000000] secureboot: Secure boot enabled
[    0.000000] Kernel is locked down from EFI Secure Boot mode; see man kernel_lockdown.7
[    0.003038] secureboot: Secure boot enabled
[    0.026954] Kernel command line: BOOT_IMAGE=(hd2,gpt2)/vmlinuz-6.17.12-300.fc43.x86_64 root=UUID=3a8539ee-a18d-4ba1-a06c-86fce1c0b641 ro rootflags=subvol=root rd.luks.uuid=luks-7d463cd5-067f-4839-ac20-79089388efe5 rhgb acpi_enforce_resources=lax rd.driver.blacklist=nouveau,nova_core modprobe.blacklist=nouveau,nova_core
[   25.304838] nvidia: loading out-of-tree module taints kernel.
[   25.413338] nvidia-nvlink: Nvlink Core is being initialized, major device number 235
[   25.416138] nvidia 0000:01:00.0: vgaarb: VGA decodes changed: olddecodes=io+mem,decodes=none:owns=none
[   25.461928] NVRM: loading NVIDIA UNIX Open Kernel Module for x86_64  580.119.02  Release Build  (dvs-builder@U22-I3-B15-03-5)  Mon Dec  8 07:51:55 UTC 2025
[   25.529833] nvidia-modeset: Loading NVIDIA UNIX Open Kernel Mode Setting Driver for x86_64  580.119.02  Release Build  (dvs-builder@U22-I3-B15-03-5)  Mon Dec  8 07:38:31 UTC 2025
[   25.555860] [drm] [nvidia-drm] [GPU ID 0x00000100] Loading driver
[   25.568329] input: HDA NVidia HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:01.1/0000:01:00.1/sound/card0/input13
[   25.568392] input: HDA NVidia HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:01.1/0000:01:00.1/sound/card0/input14
[   25.568444] input: HDA NVidia HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:01.1/0000:01:00.1/sound/card0/input15
[   25.568488] input: HDA NVidia HDMI/DP,pcm=9 as /devices/pci0000:00/0000:00:01.1/0000:01:00.1/sound/card0/input16
[   27.137534] [drm] Initialized nvidia-drm 0.0.0 for 0000:01:00.0 on minor 1
[   27.160891] nvidia 0000:01:00.0: vgaarb: deactivate vga console
[   27.230634] fbcon: nvidia-drmdrmfb (fb0) is primary device
[   27.230717] nvidia 0000:01:00.0: [drm] fb0: nvidia-drmdrmfb frame buffer device

I will test the “waiting for the black screen” method after work. From my experience though, I’ve tried waiting for an hour before and it did not return to desktop and I’m assuming it will be the same :face_with_diagonal_mouth:

Tried the reboot method and no dice. Steps I took:

  1. Initial boot, log-in, get logged back out, get in tty and rebuild kmods, reboot.
  2. Second boot, log-in, get logged back out, log back in, black screen.

Waited an hour or so but the black screen stays. I am starting to suspect it may not be the Nvidia drivers but instead the SDDM log-in screen. When I exit out of tty with Alt+F2 I don’t see the log-in screen. When I try to log out (not shut down) I get greeted by a black screen with a white underscore blinking on the top left corner. I’m honestly at a loss

Edit: Maybe something to note, I discovered I didn’t even need to rebuild kmods. I just hit Ctrl + Alt + F3 then exited with Alt + F2 and I can use my PC perfectly fine.