NVidia drivers and VirtualBox broken after update and GRUB2 config change, no GRUB2 menu

So, I recently got a software update, as well as adding a line to the GRUB2 config Severe lag and doubled keystrokes at Plasma login with NVidia graphics - #18 by tsumeone to fix an issue. This line had helped before, but combined with the updates on the same reboot, now:

  1. No GRUB2 menu shows during boot.
  2. The splash screen only shows the Fedora logo and spinner for the very last frame.
  3. The splash screen disappears and shows an error saying that the VirtualBox kernel module failed to load (I do have VirtualBox installed).
  4. CUDA no longer works.

I tried reinstalling the graphics drivers and removing the GRUB2 line, but no dice. Any ideas?

Multiple threads for continuing problems cause confusion for those attempting to assist.

It is always best to complete the solution for one problem before tackling another so the focus remains constant.

We cannot tell what changes made based on suggestions on the other thread might interfere or assist in solving this issue.

As asked on the other thread, when dealing with a grub issue it helps us to help you if you post the output from cat /etc/default/grub and cat /proc/cmdline so we can see if the changes made the the first was applied properly.

I did not consider this to really be the same problem, since even with a completely reverted GRUB file, this issue still occurs, although it started at the same time. As mentioned, I also made some software updates when the issue occurred, so while I think the two may have caused this problem in conjunction, for the sake of other users who might have encountered this problem after adjusting GRUB and making software updates at the same time, I made a separate thread. Still, I could be wrong about that diagnosis.

You mentioned an update, and I know the kernel was recently updated from 6.4.7 to 6.4.8. Did your update include that kernel update?

Where was virtualbox installed from? Oracle or rpmfusion? If from oracle then potentially the driver did not properly get updated to match the new kernel.

The same applies to the nvidia drivers – even when installed from rpmfusion.

Both drivers require to rebuild the kernel modules after the install completes and before the user reboots. If one does not wait adequate time after doing an update that involves either the drivers or the kernel then rebooting may interrupt the driver build and thus prevent a suitable driver build so they cannot be loaded properly.

I don’t know, but my current kernel is 6.4.9-200.fc38.x86_64 (64-bit).

From Oracle. Would that potentially break the NVidia drivers as well, or is that its own problem?

How can I fix that? I used the auto-reboot after update, so that almost certainly happened.

Well, after waiting some time, removing VirtualBox, and adding the simple_drm line back to GRUB, I now get a GRUB menu on boot, but the plymouth boot screen and NVidia drivers are still broken.

To check the nvidia drivers one may use lsmod | grep nvidia. If that returns 4 or so lines of text showing the nvidia drivers then they are loading properly. If not then they are not loading.

One may force the system to rebuild the drivers by first removing the currently installed modules that might exist. This is done by using sudo dnf remove kmod-nvidia-$(uname -r). Following that the command sudo akmods --force --kernels $(uname -r) will rebuild and reinstall the modules for nvidia (actually it would rebuild all kernel modules that were originally built with an akmod-XXX package). The critical thing is that now one must wait until the command ps aux | grep kmod returns only one line to the screen with the grep command before rebooting.

If one installs VirtualBox from the rpmfusion repo this is the same way to recover. When installed from oracle the recovery is different since I think it uses dkms to build the kernel modules.

This returned i2c_nvidia_gpu 12288 0.

This returned

No match for argument: kmod-nvidia-6.4.9-200.fc38.x86_64
No packages marked for removal.
Dependencies resolved.
Nothing to do.
Complete!

Both of those would be expected when the nvidia drivers did not load properly
The fix I gave should work as long as the nvidia packages are installed.
One can check that with dnf list installed '*nvidia*'

The output should look similar to this (except for all the kmod-nvidia packages)

$ dnf list installed *nvidia*
Installed Packages
akmod-nvidia.x86_64                                                         3:535.86.05-1.fc38                                    @rpmfusion-nonfree-updates-testing
kmod-nvidia-6.4.4-200.fc38.x86_64.x86_64                                    3:535.86.05-1.fc38                                    @@commandline                     
kmod-nvidia-6.4.6-200.fc38.x86_64.x86_64                                    3:535.86.05-1.fc38                                    @@commandline                     
kmod-nvidia-6.4.7-200.fc38.x86_64.x86_64                                    3:535.86.05-1.fc38                                    @@commandline                     
nvidia-gpu-firmware.noarch                                                  20230625-151.fc38                                     @updates                          
nvidia-persistenced.x86_64                                                  3:535.86.05-1.fc38                                    @rpmfusion-nonfree-updates-testing
nvidia-settings.x86_64                                                      3:535.86.05-1.fc38                                    @rpmfusion-nonfree-updates-testing
xorg-x11-drv-nvidia.x86_64                                                  3:535.86.05-1.fc38                                    @rpmfusion-nonfree-updates-testing
xorg-x11-drv-nvidia-cuda.x86_64                                             3:535.86.05-1.fc38                                    @rpmfusion-nonfree-updates-testing
xorg-x11-drv-nvidia-cuda-libs.i686                                          3:535.86.05-1.fc38                                    @rpmfusion-nonfree-updates-testing
xorg-x11-drv-nvidia-cuda-libs.x86_64                                        3:535.86.05-1.fc38                                    @rpmfusion-nonfree-updates-testing
xorg-x11-drv-nvidia-kmodsrc.x86_64                                          3:535.86.05-1.fc38                                    @rpmfusion-nonfree-updates-testing
xorg-x11-drv-nvidia-libs.i686                                               3:535.86.05-1.fc38                                    @rpmfusion-nonfree-updates-testing
xorg-x11-drv-nvidia-libs.x86_64                                             3:535.86.05-1.fc38                                    @rpmfusion-nonfree-updates-testing
xorg-x11-drv-nvidia-power.x86_64                                            3:535.86.05-1.fc38                                    @rpmfusion-nonfree-updates-testing

Note that one MUST have the nvidia-gpu-firmware package, and the kmod-nvidia packages are all built locally by akmods.

This output

Checking kmods exist for 6.4.9-200.fc38.x86_64 [  OK  ]
Building and installing nvidia-kmod [FAILED]
Building rpms failed; see /var/cache/akmods/nvidia/535.86.05-1-for-6.4.9-200.fc38.x86_64.failed.log for details
Building and installing v4l2loopback-kmod [FAILED]
Building rpms failed; see /var/cache/akmods/v4l2loopback/0.12.7^20230503g2c9b670-1-for-6.4.9-200.fc38.x86_64.failed.log for details
Building and installing VirtualBox-kmod [FAILED]
Building rpms failed; see /var/cache/akmods/VirtualBox/7.0.10-1-for-6.4.9-200.fc38.x86_64.failed.log for details

Hint: Some kmods were ignored or failed to build or install.
You can try to rebuild and install them by by calling
'/usr/sbin/akmods --force' as root.

I did run the command as root.

Lets see the output of dnf list installed '*nvidia*'

That last line appears that you may have actually installed VirtualBox from rpmfusion.
dnf list installed '*VirtualBox*' will tell us that.

There is one other thing that may interfere with the modules.
Please post the output of mokutil --sb-state

akmod-nvidia.x86_64                                3:535.86.05-1.fc38               @rpmfusion-nonfree-updates
nvidia-gpu-firmware.noarch                         20230804-152.fc38                @updates                  
nvidia-persistenced.x86_64                         3:535.86.05-1.fc38               @rpmfusion-nonfree-updates
nvidia-settings.x86_64                             3:535.86.05-1.fc38               @rpmfusion-nonfree-updates
xorg-x11-drv-nvidia.x86_64                         3:535.86.05-1.fc38               @rpmfusion-nonfree-updates
xorg-x11-drv-nvidia-cuda.x86_64                    3:535.86.05-1.fc38               @rpmfusion-nonfree-updates
xorg-x11-drv-nvidia-cuda-libs.i686                 3:535.86.05-1.fc38               @rpmfusion-nonfree-updates
xorg-x11-drv-nvidia-cuda-libs.x86_64               3:535.86.05-1.fc38               @rpmfusion-nonfree-updates
xorg-x11-drv-nvidia-kmodsrc.x86_64                 3:535.86.05-1.fc38               @rpmfusion-nonfree-updates
xorg-x11-drv-nvidia-libs.i686                      3:535.86.05-1.fc38               @rpmfusion-nonfree-updates
xorg-x11-drv-nvidia-libs.x86_64                    3:535.86.05-1.fc38               @rpmfusion-nonfree-updates
xorg-x11-drv-nvidia-power.x86_64                   3:535.86.05-1.fc38               @rpmfusion-nonfree-updates

I actually reinstalled VirtualBox via DNFdragora, which as intended used rpmfusion. Forgot to mention that, sorry.

VirtualBox.x86_64                                7.0.10-1.fc38                         @rpmfusion-free-updates
VirtualBox-kmodsrc.noarch                        7.0.10-1.fc38                         @rpmfusion-free-updates
VirtualBox-server.x86_64                         7.0.10-1.fc38                         @rpmfusion-free-updates
akmod-VirtualBox.x86_64                          7.0.10-1.fc38                         @rpmfusion-free-updates

It says, SecureBoot disabled

We can see that secure boot should not be interfering, but something is since the kmod-nvidia package is not being built locally.

Maybe try either a direct reinstall of akmod-nvidia sudo dnf reinstall akmod-nvidia to see if that works, or if that fails then one may remove akmod-nvidia and the remaining parts of the nvidia packages followed by a reinstall.
sudo dnf remove '*nvidia*' --exclude nvidia-gpu-firmware
sudo dnf install akmod-nvidia xorg-x11-drv-nvidia-cuda
Those two commands would manage that and should potentially install any missing dependencies as well. Something seems missing because the akmods command failed for VB, nvidia, & v4l2loopback as well. One may also need to use sudo dnf reinstall akmods

Pretty sure I tried those first three already, so I did the last three. Am waiting for a kernel rebuild… how to check status?

The rebuild status will be revealed when one runs dnf list installed kmod*
If that reveals that the kmod-nvidia-6.4.9-200.fc38.x86_64 package is installed then the reinstall and rebuild was successful. Remember that it may take several minutes after the install before that completes,
ps aux | grep kmod will reveal several lines if the rebuild is in progress.

Neither of those are the case. What does that mean?

[wilbur@wilbur-G5-5000 ~]$ dnf list installed kmod*
Installed Packages
kmod.x86_64                                             30-4.fc38                                @anaconda    
kmod-libs.x86_64                                        30-4.fc38                                @anaconda    
kmod-v4l2loopback-6.4.7-200.fc38.x86_64.x86_64          0.12.7^20230503g2c9b670-1.fc38           @@commandline
kmod-v4l2loopback-6.4.8-200.fc38.x86_64.x86_64          0.12.7^20230503g2c9b670-1.fc38           @@commandline
kmodtool.noarch                                         1.1-7.fc38                               @fedora      
[wilbur@wilbur-G5-5000 ~]$ ps aux | grep kmod
wilbur     46352  0.0  0.0 222412  2304 pts/1    S+   14:26   0:00 grep --color=auto kmod

Well, that is disappointing. What is the return from dnf list installed '*nvidia*' kernel\* now after doing a removal and install sequence.

I just realized that the title also mentions a grub config change. What specifically was done with grub?

Yes I realize I have been somewhat involved in discussion on both threads but would like a refresher.

I added initcall_blacklist=simpledrm_platform_driver_init to one of the lines to try and fix a login screen issue, as mentioned in the linked topic. I’ve tried removing it to no effect, and it had worked previously, so I put it back.