Nvidia proprietary driver installation help in 4.2

I’m trying to follow this guide but not understanding it completely as each part fails for different reasons. I am new to qubes and trying out different things to learn. I’m using qubes 4.2 with kernel 6.10.10-1.

When I try to RpmFusion Packages and Download packages inside of my personal qube (this seems to fit the requirement of being fedora based and not dom0). I get the following error:

Error in resolve of packages:
    xorg-x11-drv-nvidia-3:560.35.03-5.fc40.x86_64

 Problem: package xorg-x11-drv-nvidia-3:560.35.03-5.fc40.x86_64 from rpmfusion-nonfree-updates requires /usr/sbin/grubby, but none of the providers can be installed
  - package grubby-dummy-9.0.0-4.fc40.noarch from qubes-vm-r4.2-current obsoletes grubby < 9.0.0 provided by grubby-8.40-75.fc40.x86_64 from fedora
  - package sdubby-1.0-8.fc40.noarch from fedora conflicts with grubby provided by grubby-dummy-9.0.0-4.fc40.noarch from qubes-vm-r4.2-current
  - package sdubby-1.0-11.fc40.noarch from updates conflicts with grubby provided by grubby-dummy-9.0.0-4.fc40.noarch from qubes-vm-r4.2-current
  - problem with installed package grubby-dummy-9.0.0-4.fc40.noarch
  - installed package grubby-dummy-9.0.0-4.fc40.noarch obsoletes grubby < 9.0.0 provided by grubby-8.40-75.fc40.x86_64 from fedora
  - package sdubby-1.0-8.fc40.noarch from fedora conflicts with grubby provided by grubby-dummy-9.0.0-4.fc40.noarch from @System
  - package sdubby-1.0-11.fc40.noarch from updates conflicts with grubby provided by grubby-dummy-9.0.0-4.fc40.noarch from @System
  - conflicting requests

The guide then says Manual Installation. Is this either I do the RpmFusion or Manual or is it both?

I tried to do the manual installation, I have the NVIDIA-Linux-x86_64-560.120.run inside dom0 and when I run it with the same arguments as this document it errors with unrecognized option: "--extract" so I dropped it.

That gets the installer running but then it says that it can’t find cc in the path. Running which gcc says there’s no gcc in the path. If I run sudo dnf install libgcc, it says its already installed. There’s no gcc in the repos and the guides for installing gcc in fedora use dnf groupinstall "Development Tools" which says its not available.

Can anyone help me through this process please? I’m reposting what I wrote on that thread to try get more visibility

I have the same dependency conflict. Temporary solution is to use older version of drivers that don’t have this issue.

How to install older version:

  1. Check what is available:
    dnf list kmod-nvidia --showduplicates
    
  2. Install specific version:
    dnf install kmod-nvidia-<version_including_architechture>
    

I also had a post about this, but never actually got to creating an issue on github:

Try this:

1 Like

New driver works after removing grubby, but now Qubes gui doesn’t work. It might have something to do with my stuff, but the github issue you refer to says that grubby may break packages.

I will post my attempt starting from a clean template, just to make sure.

I’ve specifically stated to remove it in an app qube and not in a template so this will be one time change and won’t persist.

I don’t get it. Remove it in app qube and use bind dirs to persist drivers?

If you’re worried about persistence for the sake of not breaking a valuable system, I did it in a clone to be able to keep it if it goes well.

If we consider using the rpmfusion way then you have to build a package in the app qube, transfer the built package to dom0 and install it there.
The grubby package conflict is occurring in the app qube when you try to build the package for dom0.
So you can just remove the grubby-dummy in the app qube before building the package, there is no need to remove it from the app qube’s template which will break the Qubes GUI.

1 Like

Oh, I am not trying to make it work in dom0. Nonetheless I think this may work for me too, thanks.

I guess this should be reported on github then if it’s impossible to install nvidia drivers in a Fedora qube without breaking Qubes GUI.

As to installing gcc, try installing gcc.x86_64 instead of just ‘gcc’.

Thanks to all the replies. Still haven’t managed to install the driver.

I installed gcc but now I get the error

ERROR: Unable to find the kernel source tree for the currently running kernel. 
       Please make sure you have installed the kernel source files for your
       kernel and that they are properly configured; on Red Hat Linux systems,
       for example, be sure you have the 'kernel-source' or 'kernel-devel' RPM
       installed.  If you know the correct kernel source files are installed,
       you may specify the kernel source path with the '--kernel-source-path'
       command line option.


ERROR: Installation has failed.  Please see the file
       '/var/log/nvidia-installer.log' for details.  You may find suggestions
       on fixing installation problems in the README available on the Linux
       driver download page at www.nvidia.com.

I searched for this error and it indicates that the linux headers need to be installed. Searching again for how to do this in qubes doesn’t turn up anything useful. Any suggestions would be great

Install kernel-devel package in dom0.

So this is where it gets confusing

$ sudo dnf install kernel-devel
Qubes OS Repository for Dom0                       2.9 MB/s | 3.0 kB     00:00    
Package kernel-devel-1000:6.6.48-1.qubes.fc37.x86_64 is already installed.
Dependencies resolved.
Nothing to do.
Complete!
uname -a
Linux dom0 6.10.10-1.qubes.fc37.x86_64 #1 SMP PREEMPT_DYNAMIC Mon Sep 16 05:56:29 GMT 2024 x86_64 x86_64 x86_64 GNU/Linux
sudo qubes-dom0-update kernel-latest-devel

Hi. Did you manage to find a way to make Nvidia GPU + Nvidia driver work on fedora VM? I tried to install it in different fedora versions, different kernels, but after installing the Nvidia driver, the gui disappears for everything in the VM. It starts, you can send commands via qvm-run, but nothing related to the gui works.

First, get a console in your qube via Qube Manager and run lspci -nnk to ensure that the driver have installed successfully and is being used.

In general, with fedora you need to either:

You can also check my guide on deploying qubes for CUDA loads using salt.

1 Like