AMD integrated grapic card + nVidia Quadro

I’ve just bought a used nVidia Quadro P400 to try out if I’m able to speed up some software by using CUDA.
My goal is to use my integrated AMD graphic as primary device and just set up the nVidia P400 to run CUDA tasks.

$ /sbin/lspci | grep -e VGA
01:00.0 VGA compatible controller: NVIDIA Corporation GP107GL [Quadro P400] (rev a1)
07:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Cezanne [Radeon Vega Series / Radeon Vega Mobile Series] (rev c8)

$ uname -r
6.14.8-300.fc42.x86_64

However, I’m stuck even before trying to get the CUDA stuff up: I’ve followed the RPMFusion guide on how to install the akmod and nvidia drivers from there, but when I reboot the PC I get a screen with only 1024x768 pixel base resolution. My guess is that by installing the kernel module, the nVidia driver is set as default (if I reboot in an older kernel without the nvidia module I get back the full resolution).

How can I fix this?

Don’t guess.

glxinfo |grep vendor

Can you post

rpm -qa *\nvidia\*
modinfo nvidia
sudo dmesg

mmm I had removed the akmod and nvidia rpmfusion drivers to “fix” my display settings.
Now I re-installed them and I have full resolution, the only difference is that I had previously installed also the CUDA stuff by the separate howto.

$ glxinfo |grep vendor
server glx vendor string: SGI
client glx vendor string: Mesa Project and SGI
OpenGL vendor string: AMD

$ rpm -qa *\nvidia\*
nvidia-texture-tools-2.1.2-10.fc41.x86_64
nvidia-gpu-firmware-20250509-1.fc42.noarch
nvidia-modprobe-575.57.08-1.fc42.x86_64
nvidia-kmod-common-575.57.08-1.fc41.noarch
kmod-nvidia-open-dkms-575.57.08-1.fc41.noarch
kmod-nvidia-6.14.9-300.fc42.x86_64-575.57.08-2.fc42.x86_64
xorg-x11-drv-nvidia-kmodsrc-575.57.08-1.fc42.x86_64
akmod-nvidia-575.57.08-2.fc42.x86_64
xorg-x11-drv-nvidia-cuda-libs-575.57.08-1.fc42.x86_64
nvidia-persistenced-575.57.08-1.fc42.x86_64
xorg-x11-drv-nvidia-cuda-575.57.08-1.fc42.x86_64

$ modinfo nvidia
filename:       /lib/modules/6.14.9-300.fc42.x86_64/extra/nvidia.ko.xz
import_ns:      DMA_BUF
alias:          char-major-195-*
version:        575.57.08
supported:      external
license:        Dual MIT/GPL
firmware:       nvidia/575.57.08/gsp_tu10x.bin
firmware:       nvidia/575.57.08/gsp_ga10x.bin
srcversion:     AA6B6D25AE218AFF04CB762
alias:          pci:v000010DEd*sv*sd*bc06sc80i00*
alias:          pci:v000010DEd*sv*sd*bc03sc02i00*
alias:          pci:v000010DEd*sv*sd*bc03sc00i00*
alias:          of:N*T*Cnvidia,tegra234-displayC*
alias:          of:N*T*Cnvidia,tegra234-display
depends:        
name:           nvidia
retpoline:      Y
vermagic:       6.14.9-300.fc42.x86_64 SMP preempt mod_unload 
sig_id:         PKCS#7
signer:         DKMS module signing key
sig_key:        6E:17:3E:8E:83:B1:5A:D4:67:9A:41:38:F3:A1:F2:9D:80:CE:68:FD
sig_hashalgo:   sha512
signature:      2C:1F:8D:1D:5B:EE:A1:DB:81:F4:DF:03:4B:63:08:42:9E:EC:70:BE:
                F7:B6:04:83:F6:F2:E7:5F:F8:04:20:1B:24:C5:35:60:6C:75:CD:A9:
                3B:C8:61:FF:3D:4E:41:A8:47:DF:78:A8:E4:6C:B8:12:DB:E1:C1:7F:
                AC:8C:FD:B9:F4:20:29:AB:FB:23:17:98:A6:26:92:3E:B0:29:C0:7C:
                F7:44:D8:5C:6E:F6:A4:55:8D:8C:EE:1B:57:62:04:1B:E1:80:8F:92:
                D2:35:B8:23:23:88:B0:81:1D:2B:67:C2:59:EA:44:93:D6:35:E8:CC:
                01:81:C0:A1:F2:35:4B:4F:85:C9:AC:66:50:E3:3E:D6:20:BC:D9:12:
                65:0A:3B:F5:6E:53:7F:9F:AF:8A:31:59:C8:F2:82:64:1A:9B:1E:16:
                7D:3A:C7:D8:63:55:EC:31:6A:83:46:41:30:4F:DD:5D:CD:4D:BB:94:
                5B:C5:79:68:A2:6B:AC:10:EF:3A:0E:C1:E8:BC:C8:F5:C7:51:CF:38:
                0F:6B:1E:4A:2F:DF:01:7A:97:66:91:57:8B:32:13:EB:A9:DB:7F:3F:
                90:5C:93:61:F5:39:94:2B:7C:EF:69:94:FA:C3:47:BE:B9:58:AA:F9:
                C6:AA:38:27:B4:FF:BB:55:C7:FA:0C:2E:95:B5:DC:B2
parm:           NvSwitchRegDwords:NvSwitch regkey (charp)
parm:           NvSwitchBlacklist:NvSwitchBlacklist=uuid[,uuid...] (charp)
parm:           NVreg_ResmanDebugLevel:int
parm:           NVreg_RmLogonRC:int
parm:           NVreg_ModifyDeviceFiles:int
parm:           NVreg_DeviceFileUID:int
parm:           NVreg_DeviceFileGID:int
parm:           NVreg_DeviceFileMode:int
parm:           NVreg_InitializeSystemMemoryAllocations:int
parm:           NVreg_UsePageAttributeTable:int
parm:           NVreg_EnablePCIeGen3:int
parm:           NVreg_EnableMSI:int
parm:           NVreg_EnableStreamMemOPs:int
parm:           NVreg_RestrictProfilingToAdminUsers:int
parm:           NVreg_PreserveVideoMemoryAllocations:int
parm:           NVreg_EnableS0ixPowerManagement:int
parm:           NVreg_S0ixPowerManagementVideoMemoryThreshold:int
parm:           NVreg_DynamicPowerManagement:int
parm:           NVreg_DynamicPowerManagementVideoMemoryThreshold:int
parm:           NVreg_EnableGpuFirmware:int
parm:           NVreg_EnableGpuFirmwareLogs:int
parm:           NVreg_OpenRmEnableUnsupportedGpus:int
parm:           NVreg_EnableUserNUMAManagement:int
parm:           NVreg_MemoryPoolSize:int
parm:           NVreg_KMallocHeapMaxSize:int
parm:           NVreg_VMallocHeapMaxSize:int
parm:           NVreg_IgnoreMMIOCheck:int
parm:           NVreg_NvLinkDisable:int
parm:           NVreg_EnablePCIERelaxedOrderingMode:int
parm:           NVreg_RegisterPCIDriver:int
parm:           NVreg_EnableResizableBar:int
parm:           NVreg_EnableDbgBreakpoint:int
parm:           NVreg_EnableNonblockingOpen:int
parm:           NVreg_RegistryDwords:charp
parm:           NVreg_RegistryDwordsPerDevice:charp
parm:           NVreg_RmMsg:charp
parm:           NVreg_GpuBlacklist:charp
parm:           NVreg_TemporaryFilePath:charp
parm:           NVreg_ExcludedGpus:charp
parm:           NVreg_DmaRemapPeerMmio:int
parm:           NVreg_RmNvlinkBandwidth:charp
parm:           NVreg_RmNvlinkBandwidthLinkCount:int
parm:           NVreg_ImexChannelCount:int
parm:           NVreg_CreateImexChannel0:int
parm:           NVreg_GrdmaPciTopoCheckOverride:int
parm:           rm_firmware_active:charp

However, I see that the nvidia GPU doesn’t show up in nvtop and in dmesg I see:

[    8.403346] nvidia-nvlink: Nvlink Core is being initialized, major device number 510

[    8.405722] nvidia 0000:01:00.0: enabling device (0002 -> 0003)
[    8.405802] nvidia 0000:01:00.0: vgaarb: VGA decodes changed: olddecodes=io+mem,decodes=none:owns=none
[    8.405817] NVRM: The NVIDIA GPU 0000:01:00.0 (PCI ID: 10de:1cb3)
               NVRM: installed in this system is not supported by open
               NVRM: nvidia.ko because it does not include the required GPU
               NVRM: System Processor (GSP).
               NVRM: Please see the 'Open Linux Kernel Modules' and 'GSP
               NVRM: Firmware' sections in the driver README, available on
               NVRM: the Linux graphics driver download page at
               NVRM: www.nvidia.com.
[    8.405867] nvidia 0000:01:00.0: probe with driver nvidia failed with error -1
[    8.405882] NVRM: The NVIDIA probe routine failed for 1 device(s).
[    8.405884] NVRM: None of the NVIDIA devices were initialized.
[    8.406246] nvidia-nvlink: Unregistered Nvlink Core, major device number 510

Should I try to proceed with the rpmfusion CUDA howto, or there’s already something that needs to be fixed?

there seems to be a bug in the automatic detection of supported GPUs by the open nvidia kernel modules. It looks like this GPU requires the old proprietary closed source nvidia kernel modules.

try this:

sudo sh -c 'echo "%_without_kmod_nvidia_detect 1" > /etc/rpm/macros.nvidia-kmod'
sudo akmods --kernels $(uname -r) --rebuild

modinfo -l nvidia should report
‘NVIDIA’ not ‘Dual MIT/GPL’

Can you post

lspci -nk

the PCI ID is on the list of not supported GPUs

$ grep 1cb3 nvidia-kmod-noopen-pciids.txt 
10de:1cb3

maybe he had the macro “%_with_kmod_nvidia_open 1” set?

$ lspci -nk
00:00.0 0600: 1022:1630
        Subsystem: 1043:8809
00:00.2 0806: 1022:1631
        Subsystem: 1043:8809
00:01.0 0600: 1022:1632
00:01.1 0604: 1022:1633
        Subsystem: 1043:8809
        Kernel driver in use: pcieport
00:02.0 0600: 1022:1632
        DeviceName:  Onboard IGD
00:02.1 0604: 1022:1634
        Subsystem: 1043:8809
        Kernel driver in use: pcieport
00:02.2 0604: 1022:1634
        Subsystem: 1043:8809
        Kernel driver in use: pcieport
00:08.0 0600: 1022:1632
00:08.1 0604: 1022:1635
        Subsystem: 1043:8809
        Kernel driver in use: pcieport
00:14.0 0c05: 1022:790b (rev 51)
        Subsystem: 1043:87e1
        Kernel driver in use: piix4_smbus
        Kernel modules: i2c_piix4, sp5100_tco
00:14.3 0601: 1022:790e (rev 51)
        Subsystem: 1043:87e1
00:18.0 0600: 1022:166a
00:18.1 0600: 1022:166b
00:18.2 0600: 1022:166c
00:18.3 0600: 1022:166d
        Kernel driver in use: k10temp
        Kernel modules: k10temp
00:18.4 0600: 1022:166e
00:18.5 0600: 1022:166f
00:18.6 0600: 1022:1670
00:18.7 0600: 1022:1671
01:00.0 0300: 10de:1cb3 (rev a1)
        Subsystem: 1028:11be
        Kernel modules: nouveau, nvidia_drm, nvidia
01:00.1 0403: 10de:0fb9 (rev a1)
        Subsystem: 1028:11be
        Kernel driver in use: snd_hda_intel
        Kernel modules: snd_hda_intel
02:00.0 0c03: 1022:43ee
        Subsystem: 1b21:1142
        Kernel driver in use: xhci_hcd
02:00.1 0106: 1022:43eb
        Subsystem: 1b21:1062
        Kernel driver in use: ahci
02:00.2 0604: 1022:43e9
        Subsystem: 1b21:0201
        Kernel driver in use: pcieport
03:00.0 0604: 1022:43ea
        Subsystem: 1b21:3308
        Kernel driver in use: pcieport
03:09.0 0604: 1022:43ea
        Subsystem: 1b21:3308
        Kernel driver in use: pcieport
05:00.0 0200: 10ec:8125 (rev 04)
        Subsystem: 1043:87d7
        Kernel driver in use: r8169
        Kernel modules: r8169
06:00.0 0108: 15b7:5002
        Subsystem: 15b7:5002
        Kernel driver in use: nvme
        Kernel modules: nvme
07:00.0 0300: 1002:1638 (rev c8)
        Subsystem: 1043:8809
        Kernel driver in use: amdgpu
        Kernel modules: amdgpu
07:00.1 0403: 1002:1637
        Subsystem: 1043:8809
        Kernel driver in use: snd_hda_intel
        Kernel modules: snd_hda_intel
07:00.2 1080: 1022:15df
        Subsystem: 1043:8809
        Kernel driver in use: ccp
07:00.3 0c03: 1022:1639
        Subsystem: 1043:87e1
        Kernel driver in use: xhci_hcd
07:00.4 0c03: 1022:1639
        Subsystem: 1043:87e1
        Kernel driver in use: xhci_hcd
07:00.6 0403: 1022:15e3
        Subsystem: 1043:8797
        Kernel driver in use: snd_hda_intel
        Kernel modules: snd_hda_intel

Still Dual MIT/GPL after the proposed change, module rebuild and reboot.

are those rpms from the negativo17 repositories?

I don’t recall nvidia-kmod-common to exist in rpmfusion repository.
please post dnf list \*nvidia\* --installed

and dnf repolist

Did you remember to block the cuda repo nvidia driver?, see

Thanks, I didn’t notice the stray cuda nvidia driver packages.

$ dnf list \*nvidia\* --installed
Pacchetti installati
akmod-nvidia.x86_64                       3:575.57.08-2.fc42 rpmfusion-nonfree-updates
kmod-nvidia-6.14.9-300.fc42.x86_64.x86_64 3:575.57.08-2.fc42 @commandline
kmod-nvidia-open-dkms.noarch              3:575.57.08-1.fc41 cuda-fedora41-x86_64
nvidia-gpu-firmware.noarch                20250509-1.fc42    <unknown>
nvidia-kmod-common.noarch                 3:575.57.08-1.fc41 cuda-fedora41-x86_64
nvidia-modprobe.x86_64                    3:575.57.08-1.fc42 rpmfusion-nonfree-updates
nvidia-persistenced.x86_64                3:575.57.08-1.fc42 rpmfusion-nonfree-updates
nvidia-texture-tools.x86_64               2.1.2-10.fc41      <unknown>
xorg-x11-drv-nvidia-cuda.x86_64           3:575.57.08-1.fc42 rpmfusion-nonfree-updates
xorg-x11-drv-nvidia-cuda-libs.x86_64      3:575.57.08-1.fc42 rpmfusion-nonfree-updates
xorg-x11-drv-nvidia-kmodsrc.x86_64        3:575.57.08-1.fc42 rpmfusion-nonfree-updates

$ dnf repolist
repo id                                         repo name                                         
copr:copr.fedorainfracloud.org:mattia:Astronomy Copr repo for Astronomy owned by mattia           
copr:copr.fedorainfracloud.org:mattia:Testing   Copr repo for Testing owned by mattia             
fedora                                          Fedora 42 - x86_64                                
fedora-cisco-openh264                           Fedora 42 openh264 (From Cisco) - x86_64          
MEGAsync                                        MEGAsync                                          
protonvpn-fedora-stable                         ProtonVPN Fedora Stable repository                
rpmfusion-free                                  RPM Fusion for Fedora 42 - Free                   
rpmfusion-free-tainted                          RPM Fusion for Fedora 42 - Free tainted           
rpmfusion-free-updates                          RPM Fusion for Fedora 42 - Free - Updates         
rpmfusion-nonfree                               RPM Fusion for Fedora 42 - Nonfree                
rpmfusion-nonfree-updates                       RPM Fusion for Fedora 42 - Nonfree - Updates      
updates                                         Fedora 42 - x86_64 - Updates                      

The nvidia-kmod-common and the other .f41 stuff are a leftover from my previous attempt when I performed both rpmfusion’s “NVIDIA Howto” and the “CUDA howto”.
After the initial problem with the screen resolution blocked at 1024x768 I uninstalled everything (I thought…) and now I only performed the steps in “NVIDIA Howto”.

So, do you suggest I try to remove those leftover, or proceed with the CUDA howto?

remove the leftovers, also remove the file

/etc/rpm/macros.nvidia-kmod

and rebuild the nvidia kernel module to see if this time the proper modules are build.

EDIT: I am not familiar with the CUDA only stuff, but would like to see if the automatic detection of supported GPUs works as intented.

Thanks, at least now I have the two GPUs working and co-existing.

$ modinfo -l nvidia
NVIDIA

$ sudo lspci -k | grep -EA3 'VGA'
01:00.0 VGA compatible controller: NVIDIA Corporation GP107GL [Quadro P400] (rev a1)
        Subsystem: Dell Device 11be
        Kernel driver in use: nvidia
        Kernel modules: nouveau, nvidia_drm, nvidia
--
07:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Cezanne [Radeon Vega Series / Radeon Vega Mobile Series] (rev c8)
        Subsystem: ASUSTeK Computer Inc. Device 8809
        Kernel driver in use: amdgpu
        Kernel modules: amdgpu

nvtop detects both GPUs and the display is working at the right resolution. I’ll now try to reapply the CUDA howto.

2 Likes

So, update here: after running the CUDA howto I did not experienced any more the low resolution screen at boot, so I guess I have done something wrong in the first attempt.

However, I’ve noticed that in the CUDA howto it is said that the machine Learning repository is “Merged with the regular CUDA repository” for Fedora, but I think that’s an error. I had to manually download cudnn libraries tarball, untar them and export the dir into LD_LIBRARY_PATH to make the software I was trying to speed up work.