Ensuring nvidia GPU functionality on fedora

I’m a new user, my way around fedora and linux is still quite new. I’m sorry you might’ve had to answer this question numerous times before.

my GPU is an Nvidia Geforce GTX 1070. I’m a graphic designer working mainly with software like Blender Inkscape Gimp etc. unfortunately, I haven’t worked out a way to run them properly on my new Linux system. it’s possible each software has its own problem (I’ve found that Inkscape has been crashing for a few users after the recent upgrade), Blender is acting up oddly. (both programmes run smoothly on the same system on Windows 11)

I’d simply like to rule out the possibility that the software can’t use the graphics card but I couldn’t manage to install Nvidia drivers. I’ve followed the articles, installed RPM repositories and downloaded the RPM Nvidia drivers on Fedora but the system won’t boot using the drivers. it says something about a security issue and falls back on the built-in Nouveau driver.

maybe someone has a useful advice? maybe using Nouveau instead of the Nvidia drivers isn’t related to these problems?

thanks for the helpers!

Welcome to Fedora @yotamguttman

A good idea is to Start Here to see what kind of information we do need to help you on a easy and fast way. Of course searching about your GPU model helps too.

I see on my machine (F39) that I do have an Nvidia repo linked without having an Nvidia GPU. So theoretically it should be possible that Fedora recognizes your Nvidia and installs the drivers for you.
What is important is, that you give the system time to do so.
After a new installation and an update of kernel versions it will do some upgrades in the background.

thank you for the warm welcome!

I have tried to figure out where to see the installed and used drivers. I suppose the equivalent for that on windows would be ‘Device Manager’. because currently I’m unsure if the OS is using my Nvidia or the motherboard’s Intel GPU.

If you could please give us details on your system and what version of Fedora you are using.

  1. Are you Dual Booting (running windows and Fedora on same system)
  2. Make/Model of your computer/laptop + GPU
  3. What version of Fedora are you using, Fedora 39 Workstation or other version.
  4. You said you followed instructions on the GPU driver install, which did you folllow? Fedora has a pretty straight forward way of installing drivers ( I will show a screenshot if you are on Fedora Workstation)

You can type Super + Settings , to pull up hte settings menu and scroll down to About.

Here i have a AMD GPU ( I have turned off my Nvidia GPU ) so you can see if you have your Nvidia GPU active.

As for the updating of the drivers : You can simply go to Super + type Software, click on the hamburger menu to the right and choose “Software Repository” and see the screen shots below to install the Nvidia GPU.

I also use Blender, Inkscape, Krita & GIMP, they all work great currently with/without Nvidia GPU ( my Nvidia card is currently off for reasons ) Blender does require cycles rendering on Nvidia through CUDA but you can get all those drivers too. Outside of that it’s no problem

It is good practice to run inxi -Fzxx in a terminal and then paste the output (as text using the </> button). This provides a snapshot of the hardware and drivers being used, and can be found in searches by others with similar issues and hardware. This is important for your issue because there have been a number of different approaches to mixing Intel GPU’s with Nvidia.

Searching this forum for inxi -Fzxx nvidia should get you Nvidia discrete graphic card not working which has a list of commands that will help understand the status of your Nvidia hardware.

1 Like

I’ll answer all your questions in the same order.

  1. I am dual booting, however Windows and Fedora are running from completely separate drives. Fedora is installed on an internal SSD that I temporarily hooked externally using a SATA to USB-C. but the system has been running great so far.

  2. system: Dell XPS 8930
    GPU: Nvidia GTX 1070

  3. I’m running Fedora Workstation 39

  4. there were instructions in the official Fedora documentations, though I went a bit lost there. I found some guides on YouTube and installed the RPM repository, which added the Nvidia drivers to the Fedora store. I installed something called “NVIDIA Linux Graphics Driver”. I admit that something was said about the ‘470xx’ version, underneath the one in the screenshot, which is meant to support some other graphic cards. I couldn’t figure out which one mine needs but supposed it’s the one I installed because it was said that the 470xx one is for older cards.

  5. my about tab seems slightly different than yours, please have a look.

  6. the Nvidia driver box is ticked in my Software Settings. I have installed the drivers but it doesn’t load. when I boot the system, a message shows on the boot screen saying unable to load Nvidia kernel, falling back to Nouveau.

Gimp seems to perform fine. regarding Inkscape, I found that many people on Gitlab have raised the issue of crashing in recent days, after updating to the newest version. I suppose I should just try an older version.
about Blender, it just behaved oddly. glitched when I resized the window (which really seemed like a graphics card thing). and my desktop background showed in half transparency through the grey background of Blender. it was quite weird. I deleted and will try to reinstall it soon. the thing is, that I do use cycles and render photorealistic shots. I often use OpenGL for the fastest result. but I don’t have much experience with Cuda. might be good as well.

Thank you very much for your help!

could you tell me how to check app data on Linux? on Windows, I can open the ‘programme files’ or ‘appdata’ folders, and check for traces or files software I uninstalled left behind, and erase them manually. can I also do that on Fedora?

thanks for the tip!

pasting the result of the command. from what I understand, the Nvidia GPU is recognised but it runs on the Nouveau driver rather than the Nvidia one.

12Kernel 6.6.13-200.fc39.x86_64 12arch x86_64 12bits 64 12compiler gcc 12v 2.40-13.fc39 12Desktop GNOME
12v 45.3 12tk GTK 12v 3.24.41 12wm gnome-shell 12dm GDM 12Distro Fedora release 39 (Thirty Nine)

12Type Desktop 12System Dell 12product XPS 8930 12v 1.1.31 12serial 12Chassis 12type 3
12Mobo Dell 12model 0DF42J 12v A03 12serial 12UEFI Dell 12v 1.1.31 12date 11/21/2023
12Info 6-core 12model Intel Core i7-8700 12bits 64 12type MT MCP 12arch Coffee Lake 12rev A 12cache 12L1 384 KiB
12L2 1.5 MiB 12L3 12 MiB
12Speed (MHz) 12avg 2531 12high 4083 12min/max 800/4600 12cores 121 2899 122 3201 123 800 124 4083 125 3595 126 2900
127 3501 128 800 129 3451 1210 2900 1211 1446 1212 800 12bogomips 76799
12Flags avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx

12Device-1 Intel CoffeeLake-S GT2 [UHD Graphics 630] 12vendor Dell 12driver i915 12v kernel 12arch Gen-9.5
12ports 12active none 12empty DP-1,HDMI-A-1,HDMI-A-2 12bus-ID 00:02.0 12chip-ID 8086:3e92
12Device-2 NVIDIA GP104 [GeForce GTX 1070] 12vendor Dell 12driver nouveau 12v kernel 12arch Pascal 12pcie
12speed 2.5 GT/s 12lanes 16 12ports 12active HDMI-A-3 12empty DP-2, DP-3, DP-4, DVI-D-1 12bus-ID 01:00.0
12chip-ID 10de:1b81 12temp 41.0 C
12Display wayland 12server X.org 12v 1.20.14 12with Xwayland 12v 23.2.4 12compositor gnome-shell 12driver
12gpu nouveau 12display-ID 0
12Monitor-1 HDMI-A-3 12model Dell U3419W 12res 3440x1440 12dpi 109 12diag 867mm (34.1")
12API OpenGL 12v 4.3 12vendor mesa 12v 23.3.3 12glx-v 1.4 12es-v 3.2 12direct-render yes 12renderer NV134
12device-ID 10de:1b81 12display-ID :0.0
12API EGL 12Message EGL data requires eglinfo. Check --recommends.

I ran the other Nvidia command and got the following result:

$ inxi -Fzxx nvidia
Error 22: Unsupported option: nvidia
Check -h for correct parameters.

The nouveau driver is a fallback when the Nvidia driver fails.

was meant to use in the search tool for this forum (magnifying glass to the left of the 3-bars at upper right). It should find troubleshooting suggestions provided to others with similar issues.

1 Like

$ rpm -qa | sort


$ flatpak list --all

GNOME Software should have a GUI page for installed apps as well.

Someone also asked a similar question in a recent thread:

1 Like

This may very well be related to secure boot.
Please run mokutil --sb-state
If the result is SecureBoot enabled then by default the nvidia driver cannot be loaded.

Please show us the output of dmesg | grep -iE "nvidia|secure" and dnf list installed \*nvidia\*. Please post both those as copy & paste the text using the </> button to retain the on-screen formatting.


is it only possible using the terminal? I ran a quick search and couldn’t figure out if there’s a graphical solution.

when I scrolled through Gimp’s settings I saw that some features source their data from some place in the OS, that seems like a directory path.

on Windows I can simply copy this path and paste it into the file explorer to access all the software’s files. I was wondering if I can do something similar on Fedora

following your instructions:

yotamguttman@fedora:~$ mokutil --sb-state
SecureBoot enabled

yotamguttman@fedora:~$ dmesg | grep -iE "nvidia|secure"
[    0.000000] secureboot: Secure boot enabled
[    0.000000] Kernel is locked down from EFI Secure Boot mode; see man kernel_lockdown.7
[    0.014704] secureboot: Secure boot enabled
[    0.790467] integrity: Loaded X.509 cert 'Fedora Secure Boot CA: fde32599c2d61db1bf5807335d7b20e4cd963b42'
[    6.135298] input: HDA NVidia HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input29
[    6.135344] input: HDA NVidia HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input30
[    6.135395] input: HDA NVidia HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input31
[    6.135436] input: HDA NVidia HDMI/DP,pcm=9 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input32
[    9.141567] nouveau 0000:01:00.0: NVIDIA GP104 (134000a1)

otamguttman@fedora:~$ dnf list installed \*nvidia\*
Installed Packages
akmod-nvidia.x86_64                       3:545.29.06-2.fc39 @rpmfusion-nonfree-nvidia-driver
kmod-nvidia-6.5.6-300.fc39.x86_64.x86_64  3:545.29.06-2.fc39 @@commandline      
kmod-nvidia-6.6.13-200.fc39.x86_64.x86_64 3:545.29.06-2.fc39 @@commandline      
nvidia-gpu-firmware.noarch                20240115-2.fc39    @updates           
nvidia-modprobe.x86_64                    3:545.29.06-1.fc39 @rpmfusion-nonfree-nvidia-driver
nvidia-settings.x86_64                    3:545.29.06-1.fc39 @rpmfusion-nonfree-nvidia-driver
xorg-x11-drv-nvidia.x86_64                3:545.29.06-2.fc39 @rpmfusion-nonfree-nvidia-driver
xorg-x11-drv-nvidia-cuda-libs.x86_64      3:545.29.06-2.fc39 @rpmfusion-nonfree-nvidia-driver
xorg-x11-drv-nvidia-kmodsrc.x86_64        3:545.29.06-2.fc39 @rpmfusion-nonfree-nvidia-driver
xorg-x11-drv-nvidia-libs.x86_64           3:545.29.06-2.fc39 @rpmfusion-nonfree-nvidia-driver
xorg-x11-drv-nvidia-power.x86_64          3:545.29.06-2.fc39 @rpmfusion-nonfree-nvidia-driver

is this sufficient? thank you very much for your help!
please let me know what you understand from it because all I get is that security boot is enabled, which might be the cause?

Thank you for posting that as text. The image is not required for future posts.

That info is enough.
Secureboot seems to be preventing loading the nvidia drivers.
If you wish to boot as is and secureboot is not required, then simply enter the bios setup and disable secureboot.

As an alternative there are a couple things to do that enable signing the nvidia module so it can be loaded while secureboot is enabled.

  1. Follow all the steps in the file /usr/share/doc/akmods/README.secureboot. All that must be done using sudo for each command.

  2. Once step 1 is complete then rebuild the nvidia modules (which will now be signed)
    a. Remove the old (unsigned) nvidia modules with sudo dnf remove kmod-nvidia-*
    b. Build the new (signed) modules with sudo akmods --force

After step 2.b. completes then reboot. This time the nvidia modules should load and be functional.

1 Like

great thanks.

I’d try to proceed with your second solution because I don’t know how disabling the scureboot would affect the Windows OS which I’m running on the same system.

excuse me my inexperience, could you give me a bit more detail as to how to perform step 1? did you mean I should paste this line/path in the Terminal? or how exactly I should get to the file secureboot and manipulate it?

very grateful for your help!

This directory is used for documentation. You need to read the file either by running less /usr/share/doc/akmods/README.secureboot in a terminal or using an editor that supports plain text. Note that this files comes from the akmods package which also pulls in additional packages with the tools needed to carry out the procedure.

You do not manipulate it. You read it with a tool such as less /usr/share/doc/akmods/README.secureboot in one terminal window then follow the instructions there by entering the commands one at a time in another terminal window.

1 Like

Okay I will try that.

Do I need to install this package you mentioned?
if so, how do I do that?

I found in a quick googling that AKMOND is part of the RPM package which I’ve already installed. Is there a way I could check if AKMOND is already installed on my system? is it even necessary?

sudo dnf info akmods

The result shows you if it is available or installed.

If you not want to have problems after every update of the kernel then yes … it is necessary.

Description  : Akmods startup script will rebuild akmod packages during system
             : boot, while its background daemon will build them for kernels right
             : after they were installed.

1 Like

Thank you!

I suppose it’s installed. I got the same result.

but there’s an error when I run the command in the first instruction:
yotamguttman@fedora:~$ mokutil --import /etc/pki/akmods/certs/public_key.der
Failed to get file status, /etc/pki/akmods/certs/public_key.der

yotamguttman@fedora:~$ mokutil --import /etc/pki/akmods/certs/public_key.der
Failed to get file status, /etc/pki/akmods/certs/public_key.der