Problem with NVIDIA on AlmaLinux 10

Hello,

I have a lenovo laptop with an amd gpu (ryzen 5 - 4000 series) and an nvidia gpu (GTX 1650). I recently installed AlmaLinux 10 and was pleased to see that I can now install the nvidia drivers directly: AlmaLinux OS - Forever-Free Enterprise-Grade Operating System

This has also worked so far. The problem now seems to be that my nvidia gpu is not being used. The output of the command nvidia-smi shows that no processes are running: No running processes found

The bigger problem is that I can’t run an external monitor. When I connect a monitor via HDMI, it simply shows that no signal was found.

I have tried many things and searched through other forums, but unfortunately have had no success so far. Most of the solutions also seem to be for X11. However, since AlmaLinux 10 only uses Wayland, I have not been able to find a solution to my problem. Perhaps someone here who also uses an nvidia gpu on AlmaLinux 10 can help me.
(I’m not a native english speaker either, so sorry for any misunderstandings.)

Many thanks
alx

Hi @alx!

Check that NVIDIA DRM modeset is on (required for Wayland):

cat /sys/module/nvidia_drm/parameters/modeset
grubby --update-kernel=ALL --args="nvidia_drm.modeset=1"
dnf install egl-wayland
lsmod | grep nvidia
mokutil --sb-state
tee /usr/local/bin/prime-run >/dev/null <<'EOF'
#!/bin/sh
export __NV_PRIME_RENDER_OFFLOAD=1
export __GLX_VENDOR_LIBRARY_NAME=nvidia
export __VK_LAYER_NV_optimus=NVIDIA_only
exec "$@"
EOF
chmod +x /usr/local/bin/prime-run

Now test:

prime-run glxinfo | grep "OpenGL renderer"
prime-run nvidia-smi

All the best! :v:

Hello

Based on the NVIDIA official documentation and the RHEL 10/AlmaLinux 10 release notes, adding the kernel parameter

nvidia-drm.modeset=1
to your GRUB configuration can enable KMS (Kernel Mode Setting) for the NVIDIA driver, which is required for external displays (such as HDMI) to work under Wayland when the HDMI port is wired directly to the NVIDIA GPU.

Once this parameter is active, you should be able to see gnome-shell or other desktop processes in nvidia-smi, and your external monitor may start working.

However, please note that I have not personally tested this on AlmaLinux 10 — my answer is based solely on the official NVIDIA README and AlmaLinux/RHEL documentation. If the change does not resolve the issue, the cause may be either the GRUB parameter not being applied correctly, or current Wayland limitations with NVIDIA’s proprietary driver.

For confirmation, after rebooting you can check:

cat /sys/module/nvidia_drm/parameters/modeset

Should return: 1

If it still returns 0 or the monitor does not work, you may want to test an Xorg session to determine whether the problem is Wayland-specific.

https://download.nvidia.com/XFree86/Linux-x86_64/550.90.07/README/kms.html

If anyone has successfully tested this on AlmaLinux 10 with Wayland, please share your configuration or steps.

thanks

Thanks for the quick response and help. Unfortunately, neither method works. However, I have now been able to identify the following error in the system log:

kernel: [drm] [nvidia-drm] [GPU ID 0x00000100] Loading driver
kernel: nvidia 0000:01:00.0: Direct firmware load for nvidia/580.65.06/gsp_tu10x.bin failed with error -2
kernel: [drm:nv_drm_dev_load [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00000100] Failed to allocate NvKmsKapiDevice
kernel: [drm:nv_drm_register_drm_device.cold [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00000100] Failed to load device

Apparently, the driver cannot be loaded. I will take another closer look at this. Thanks again for your help!

The followup question is: why?

The GSP is “GPU System Processor”, a (RISC?) chip that cards starting Turing have to offload some operations from CPU. The “open” NVidia driver requires GSP and the GSP needs the firmware – the commands it runs.

That turns out to be a red herring. I do get that too:

[drm] [nvidia-drm] [GPU ID 0x00000100] Loading driver
nvidia 0000:01:00.0: Direct firmware load for nvidia/580.65.06/gsp_ga10x.bin failed with error -2
[drm:nv_drm_dev_load [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00000100] Failed to allocate NvKmsKapiDevice
[drm:nv_drm_register_drm_device.cold [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00000100] Failed to load device

yet the kernel module is loaded:

$ lsmod | grep nvidia
nvidia_uvm           4124672  0
nvidia_drm            151552  0
nvidia_modeset       2183168  2 nvidia_drm
nvidia              15855616  73 nvidia_uvm,nvidia_modeset
drm_ttm_helper         16384  1 nvidia_drm
video                  81920  1 nvidia_modeset

Installation of the packages does it with file in /etc/modprobe.d/, not with kernel options:

$ cat /proc/cmdline 
BOOT_IMAGE=(hd1,gpt2)/vmlinuz-6.12.0-55.24.1.el10_0.x86_64 root=UUID=a6..50 ro resume=UUID=b6..3d rd.driver.blacklist=nouveau rd.driver.blacklist=nova-core

$ cat /etc/modprobe.d/nvidia-modeset.conf 
# Nvidia modesetting support. Set to 0 or comment to disable kernel modesetting
# and framebuffer console support. This must be disabled in case of Mosaic or SLI.

options nvidia-drm modeset=1

$ sudo cat /sys/module/nvidia_drm/parameters/modeset
Y

As already stated, the el10 has only Wayland, no “Xorg sessions”.


I do believe that that is the main issue. One does not get additional connectors for monitors when one adds a discrete GPU to a laptop. Both the IGP and the GPU are somehow connected to the connectors that the laptop has.

There is usually a need for some additional tool (“optimus” ?) that directs applications to either the IGP or the discrete GPU. The main idea is to use the low power IGP by default and only explicitly run programs on GPU in order to save battery.

That, however, does not explain why the HDMI port is dead. If the above were the whole thruth, the IGP should be able to write to the HDMI.

Disclaimer: I don’t use laptops. Hence, I don’t truly know them.


AlmaLinux does use Nouveau for NVidia by default (before one installs the NVidia’s own driver). How did the system behave with Nouveau?

So I didn’t give up. I tried a few more things, but none of them worked. Now I’ve uninstalled all the drivers from nvidia.
With Nouveau, the external monitor works, but unfortunately I can’t adjust the brightness. I also need access to CUDA. I’ve now added the RPM Fusion Repo and installed the nvidia drivers via akmod-nvidia.

If anyone else is having problems with NVIDIA on their Lenovo laptop, here’s my solution:

  1. I uninstalled the drivers described here in the blog: AlmaLinux OS - Forever-Free Enterprise-Grade Operating System

  2. Then I added the RPM Fusion repo: Installing EPEL and RPM Fusion | AlmaLinux Wiki

  3. And finally, I installed the nvidia drivers as described here: AlmaLinux After-Installation Guide | AlmaLinux Wiki

I would like to thank everyone involved in troubleshooting this issue!
I will now test the setup and hopefully won’t bother you with any more questions :wink:

Hi alx
I’m sorry I couldn’t help you.
Please feel free to contact us if you have any further questions.
Thank you.

Hi. The team behind NVIDIA driver is currently at AlmaLinux Day: Vancouver and will comment this thread a little later.

2 Likes

I have tested everything so far. My use cases are functioning. Even the NVIDIA Container Toolkit with Podman is functioning as expected. Also waking up from suspend is working. I use the laptop as a workstation, which may not be the primary focus of Almalinux as a distribution. Have a great conference! Many thanks to all!

1 Like