What NVIDIA driver am I using?

Fedora workstation version: 41

In my HP Omen laptop from 2018, I use the following NVIDIA graphics card.

[sysadmin@localhost:/etc/modprobe.d]$ lspci | grep -i nvidia
01:00.0 VGA compatible controller: NVIDIA Corporation GP104BM [GeForce GTX 1070 Mobile] (rev a1)
01:00.1 Audio device: NVIDIA Corporation GP104 High Definition Audio Controller (rev a1)

Question1.
I used to use the propreitary driver I downloaded directly from Nvidia (the .run file). But, sometime back I think I switched to the driver provided by the rpmfusion repo.

Now, I want to know what graphics driver I am using: Is it Nouveau (the open source driver for Nvidia) or the propreitary one from Nvidia ?

Following is some info from my laptop:

[sysadmin@localhost:/etc/modprobe.d]$ uname -r
6.11.7-300.fc41.x86_64

[sysadmin@localhost:/etc/modprobe.d]$ dnf list installed nvidia
Updating and loading repositories:

##Output snipped for readability

Repositories loaded.
No matching packages to list

[sysadmin@localhost:/etc/modprobe.d]$

[sysadmin@localhost:/etc/modprobe.d]$ lsmod | grep nouveau
[sysadmin@localhost:/etc/modprobe.d]$

[sysadmin@localhost:/etc/modprobe.d]$ lsmod | grep -i nvidia
nvidia_drm 147456 15
nvidia_modeset 1671168 24 nvidia_drm
nvidia_uvm 3989504 0
nvidia 77541376 355 nvidia_uvm,nvidia_modeset
drm_ttm_helper 16384 1 nvidia_drm
video 81920 1 nvidia_modeset

Question2. I read that installing propreitary Nvidia driver which you can download from Nvidia (the .run file) is a bad idea.
Is that true ?

Added gnome, nvidia

That should be dnf list installed \*nvidia\*. It is generally better to install nvidia drivers by following the rpmfusion Nvidia HowTo for these reasons:

  • Staying within the Fedora packaging system means you don’t have to use unfamiliar commands to manage the installation.
  • The rpmfusion drivers are widely used, so more thoroughly tested than other installations. If you have problems there is a good chance others will understand your configuration and can help.
  • The “Nvidia How To” also tells you how to switch between nouveau and Nvidia drivers. If the Nvidia drivers have a problem it is very helpful to be able to switch wihout removing the Nvidia modules.

There are other 3rd party Nvidia packages created by someone who needed to tweak the configuration or didn’t want to wait for the rpmfusion package to appear. Delays may be needed to resolve issues that only affect certain models or use cases. When a new kernel arrives, there is usually a delay before the associated new Nvidia drivers are packaged. Drivers for older drivers may no longer have an active maintainer so may not be available unless a volunteer with access to the older hardware steps into the breach.

2 Likes

It’s generally considered the lesser option. You usually want to go with a package tailored to your distro, either from the distro repos themselves or a reputable third party. It tends to give you an overall better experience, and less hassle during updates and removals.

It’s kind of the same difference between installing an app through the package manager and building it manually from a git repo. - Both work fine, but unless you have a specific reason for building it, it’s just an added headache.

1 Like

Thank You George, Radioactive !

Here is the output of the installed packages. So, is the proprietary driver from Nvidia (installed using .run ) still in my laptop ?

[sysadmin@localhost:/home/sysadmin]$ sudo dnf list installed \*nvidia\*
[sudo] password for sysadmin: 
Updating and loading repositories:

### Other repo related output snipped for readability

Repositories loaded.
Installed packages
akmod-nvidia.x86_64                                 3:565.57.01-1.fc41  rpmfusion-nonfree-updates
kmod-nvidia-6.11.7-300.fc41.x86_64.x86_64           3:565.57.01-1.fc41  @commandline
nvidia-gpu-firmware.noarch                          20241110-1.fc41     updates
nvidia-modprobe.x86_64                              3:565.57.01-1.fc41  rpmfusion-nonfree-updates
nvidia-persistenced.x86_64                          3:565.57.01-1.fc41  rpmfusion-nonfree-updates
nvidia-settings.x86_64                              3:565.57.01-1.fc41  rpmfusion-nonfree-updates
xorg-x11-drv-nvidia.x86_64                          3:565.57.01-3.fc41  rpmfusion-nonfree-updates
xorg-x11-drv-nvidia-cuda.x86_64                     3:565.57.01-3.fc41  rpmfusion-nonfree-updates
xorg-x11-drv-nvidia-cuda-libs.x86_64                3:565.57.01-3.fc41  rpmfusion-nonfree-updates
xorg-x11-drv-nvidia-kmodsrc.x86_64                  3:565.57.01-3.fc41  rpmfusion-nonfree-updates
xorg-x11-drv-nvidia-libs.x86_64                     3:565.57.01-3.fc41  rpmfusion-nonfree-updates
xorg-x11-drv-nvidia-power.x86_64                    3:565.57.01-3.fc41  rpmfusion-nonfree-updates
xorg-x11-drv-nvidia-xorg-libs.x86_64                3:565.57.01-3.fc41  rpmfusion-nonfree-updates

Available packages
akmod-nvidia-390xx.x86_64                           3:390.157-12.fc41   rpmfusion-nonfree
akmod-nvidia-470xx.x86_64                           3:470.256.02-3.fc41 rpmfusion-nonfree
golang-github-nvidia-container-toolkit.x86_64       1.16.2-1.fc41       updates
golang-github-nvidia-container-toolkit-devel.noarch 1.16.2-1.fc41       updates
golang-github-nvidia-nvlib-devel.noarch             0.6.1-1.fc41        fedora
golang-github-nvidia-nvml-devel.noarch              0.12.4.0-3.fc41     fedora
kmod-nvidia.x86_64                                  3:565.57.01-1.fc41  rpmfusion-nonfree-updates
kmod-nvidia-390xx.x86_64                            3:390.157-12.fc41   rpmfusion-nonfree
kmod-nvidia-470xx.x86_64                            3:470.256.02-3.fc41 rpmfusion-nonfree
libva-nvidia-driver.i686                            0.0.12-3.fc41       fedora
libva-nvidia-driver.x86_64                          0.0.12-3.fc41       fedora
nvidia-query-resource-opengl.x86_64                 1.0.0-18.fc41       fedora
nvidia-query-resource-opengl-lib.i686               1.0.0-18.fc41       fedora
nvidia-query-resource-opengl-lib.x86_64             1.0.0-18.fc41       fedora
nvidia-settings-390xx.x86_64                        390.157-4.fc41      rpmfusion-nonfree
nvidia-settings-470xx.x86_64                        3:470.256.02-2.fc41 rpmfusion-nonfree
nvidia-texture-tools.i686                           2.1.2-10.fc41       fedora
nvidia-texture-tools.x86_64                         2.1.2-10.fc41       fedora
nvidia-texture-tools-devel.i686                     2.1.2-10.fc41       fedora
nvidia-texture-tools-devel.x86_64                   2.1.2-10.fc41       fedora
nvidia-xconfig.x86_64                               3:565.57.01-1.fc41  rpmfusion-nonfree-updates
pcp-pmda-nvidia-gpu.x86_64                          6.3.1-1.fc41        fedora
xorg-x11-drv-nvidia-390xx.x86_64                    3:390.157-4.fc40    rpmfusion-nonfree
xorg-x11-drv-nvidia-390xx-cuda.x86_64               3:390.157-4.fc40    rpmfusion-nonfree
xorg-x11-drv-nvidia-390xx-cuda-libs.i686            3:390.157-4.fc40    rpmfusion-nonfree
xorg-x11-drv-nvidia-390xx-cuda-libs.x86_64          3:390.157-4.fc40    rpmfusion-nonfree
xorg-x11-drv-nvidia-390xx-devel.i686                3:390.157-4.fc40    rpmfusion-nonfree
xorg-x11-drv-nvidia-390xx-devel.x86_64              3:390.157-4.fc40    rpmfusion-nonfree
xorg-x11-drv-nvidia-390xx-kmodsrc.x86_64            3:390.157-4.fc40    rpmfusion-nonfree
xorg-x11-drv-nvidia-390xx-libs.i686                 3:390.157-4.fc40    rpmfusion-nonfree
xorg-x11-drv-nvidia-390xx-libs.x86_64               3:390.157-4.fc40    rpmfusion-nonfree
xorg-x11-drv-nvidia-470xx.x86_64                    3:470.256.02-1.fc41 rpmfusion-nonfree
xorg-x11-drv-nvidia-470xx-cuda.x86_64               3:470.256.02-1.fc41 rpmfusion-nonfree
xorg-x11-drv-nvidia-470xx-cuda-libs.i686            3:470.256.02-1.fc41 rpmfusion-nonfree
xorg-x11-drv-nvidia-470xx-cuda-libs.x86_64          3:470.256.02-1.fc41 rpmfusion-nonfree
xorg-x11-drv-nvidia-470xx-devel.i686                3:470.256.02-1.fc41 rpmfusion-nonfree
xorg-x11-drv-nvidia-470xx-devel.x86_64              3:470.256.02-1.fc41 rpmfusion-nonfree
xorg-x11-drv-nvidia-470xx-kmodsrc.x86_64            3:470.256.02-1.fc41 rpmfusion-nonfree
xorg-x11-drv-nvidia-470xx-libs.i686                 3:470.256.02-1.fc41 rpmfusion-nonfree
xorg-x11-drv-nvidia-470xx-libs.x86_64               3:470.256.02-1.fc41 rpmfusion-nonfree
xorg-x11-drv-nvidia-470xx-power.x86_64              3:470.256.02-1.fc41 rpmfusion-nonfree
xorg-x11-drv-nvidia-cuda-libs.i686                  3:565.57.01-3.fc41  rpmfusion-nonfree-updates
xorg-x11-drv-nvidia-devel.i686                      3:565.57.01-3.fc41  rpmfusion-nonfree-updates
xorg-x11-drv-nvidia-devel.x86_64                    3:565.57.01-3.fc41  rpmfusion-nonfree-updates
xorg-x11-drv-nvidia-libs.i686                       3:565.57.01-3.fc41  rpmfusion-nonfree-updates
[sysadmin@localhost:/home/sysadmin]$

Related question:

Sometime back, when the display drivers were playing up, I ran the below dnf remove command.
Since the * (asterik) was not escaped, what could have happened ? I mean, would it have not removed anything at all or removed much more than any packages with nvidia in the package name ?

dnf remove *nvidia*

This removed the nvidia-firmware package, which is needed by the open source nouveau module as well as non-free nvidia module.

1 Like

If Proprietary installed :
~$ glxinfo | grep -i nvidia

Result example:
server glx vendor string: NVIDIA Corporation
client glx vendor string: NVIDIA Corporation
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: NVIDIA GeForce GTX 1050 Ti/PCIe/SSE2
OpenGL core profile version string: 4.6.0 NVIDIA 550.90.07
OpenGL core profile shading language version string: 4.60 NVIDIA
OpenGL version string: 4.6.0 NVIDIA 550.90.07
OpenGL shading language version string: 4.60 NVIDIA
OpenGL ES profile version string: OpenGL ES 3.2 NVIDIA 550.90.07