Few days ago I did the weekly system update which included latest NVIDIA drivers. Everything went smoothly, no error messages, systems works as usual. Today I wanted to play some game and I noticed that the performance was horrible. This is what I found

lspci -k | grep -A 2 -E "(VGA|3D)"
00:02.0 VGA compatible controller: Intel Corporation Alder Lake-P GT2 [Iris Xe Graphics] (rev 0c)
        Subsystem: Dell Device 0aff
        Kernel driver in use: i915
--
01:00.0 VGA compatible controller: NVIDIA Corporation GA106M [GeForce RTX 3060 Mobile / Max-Q] (rev a1)
        Subsystem: Dell Device 0aff
        Kernel driver in use: nvidia

 
xrandr --listproviders            
Providers: number : 0

I’ve tried to reinstall drivers, and ran some fixes I found online but still no luck. Any ideas how to fix it?

update

Just remembered. After last drivers update I wasn’t able to run any Steam game. I always got some directx error. Before I had no issues.

update 2

I’m on Fedora 40, currently I’m using drivers downloaded directly from NVIDIA website. Before that I was using whatever drivers from these repositories

dnf repolist
repo id                                                                repo name
fedora                                                                 Fedora 40 - x86_64
fedora-cisco-openh264                                                  Fedora 40 openh264 (From Cisco) - x86_64
nvidia-container-toolkit                                               nvidia-container-toolkit
protonvpn-fedora-stable                                                ProtonVPN Fedora Stable repository
rpmfusion-free                                                         RPM Fusion for Fedora 40 - Free
rpmfusion-free-updates                                                 RPM Fusion for Fedora 40 - Free - Updates
rpmfusion-nonfree                                                      RPM Fusion for Fedora 40 - Nonfree
rpmfusion-nonfree-updates                                              RPM Fusion for Fedora 40 - Nonfree - Updates
updates  

The only thing I remember related to messing with drivers was playing with podman containers accessing my gpu (nvidia-container-toolkit).

Currently I’m using driver version 550.107.02

  • @fart_pickleOP
    link
    2
    edit-2
    4 months ago
    modinfo nvidia
    
    filename:       /lib/modules/6.10.6-200.fc40.x86_64/extra/nvidia/nvidia.ko.xz
    alias:          char-major-195-*
    version:        560.35.03
    supported:      external
    license:        NVIDIA
    firmware:       nvidia/560.35.03/gsp_tu10x.bin
    firmware:       nvidia/560.35.03/gsp_ga10x.bin
    srcversion:     73D9C383254E4CB4BF2CDFA
    alias:          pci:v000010DEd*sv*sd*bc06sc80i00*
    alias:          pci:v000010DEd*sv*sd*bc03sc02i00*
    alias:          pci:v000010DEd*sv*sd*bc03sc00i00*
    depends:        
    retpoline:      Y
    name:           nvidia
    vermagic:       6.10.6-200.fc40.x86_64 SMP preempt mod_unload 
    sig_id:         PKCS#7
    signer:         myhostname-2523446329
    sig_key:        2C:94:54:AD:F6:AE:17:12:62:63:78:D6:E3:D5:12:DE:A9:20:CD:08
    sig_hashalgo:   sha256
    signature:      55:A6:10:E5:CF:30:99:6D:24:8F:B9:B1:6A:BF:32:AA:BB:90:8E:CD:
                    39:AF:A3:94:F4:64:BF:DD:A8:87:A2:6B:E1:1B:77:7F:6E:59:A7:28:
                    7F:02:50:A5:54:CC:99:2F:2D:48:17:AC:66:9D:10:7B:CA:7C:FC:44:
                    F2:5B:37:7B:31:EC:30:E2:5C:F0:C5:A0:C6:EE:63:7E:2C:42:EE:48:
                    75:FD:08:30:86:96:E4:74:29:00:1A:BA:9A:CA:96:06:6D:40:0E:C8:
                    69:52:08:25:BD:95:30:2A:E6:C5:55:8C:12:86:6E:87:E9:BD:FA:62:
                    7C:D6:76:C9:16:0F:4A:26:56:53:21:AB:36:6C:B3:7E:0E:36:3C:EF:
                    43:80:CC:BD:49:8F:63:9F:C6:F7:3E:D2:86:81:C3:1E:7C:DA:05:75:
                    CE:31:19:BB:52:42:B5:D9:68:B0:31:1D:A9:4A:71:73:22:BC:FB:D6:
                    3E:91:0A:D4:80:81:ED:3D:95:C7:90:70:09:4E:24:9B:6F:A6:A8:BC:
                    5F:4A:90:00:5B:91:AD:12:5E:A3:35:F3:8B:29:12:2C:15:45:61:D2:
                    55:BE:7F:46:C6:60:4B:91:F8:1E:6F:70:D8:05:74:57:C3:82:26:79:
                    19:8D:BC:3D:C7:2B:2A:D0:14:A1:4B:00:5A:61:AA:2D:9F:B8:16:CA:
                    CD:BC:BB:8B:18:79:27:BE:26:34:64:A5:29:8B:5A:F1:54:19:46:B9:
                    23:16:D2:DB:07:0C:C3:81:17:86:20:D8:05:CD:49:43:0B:F3:36:01:
                    EE:4F:F9:25:29:C0:6A:3B:70:8C:95:95:37:D5:70:72:C2:E8:4D:FF:
                    5B:F3:7D:DA:E1:F7:89:F6:B3:1B:DD:C4:5A:08:80:31:25:23:B6:84:
                    D2:E0:46:AE:F7:21:FC:9A:DA:FD:F9:44:58:E8:36:F1:10:34:35:8C:
                    3E:09:25:6B:D9:BC:8B:E5:D9:31:02:56:76:CC:9D:41:B5:E0:15:3E:
                    DB:90:BF:92:EB:92:72:76:39:7F:BF:FD:6A:71:BD:C0:B1:EB:A5:98:
                    75:6A:CB:8A:70:48:AE:75:C4:DB:0C:A5:5B:F5:C6:16:C0:96:D6:B2:
                    66:A7:01:54:BB:A4:33:EE:31:65:A9:4F:4E:11:05:5F:DE:69:B3:25:
                    02:3D:E4:91:39:CB:7C:E9:24:E8:09:BA:80:9C:AB:2F:8D:45:84:62:
                    38:3F:97:7E:3A:7F:66:4F:9D:59:54:D1:51:55:53:C3:FD:CE:97:79:
                    97:84:FD:3A:C2:FD:E3:A7:CE:03:30:D6:98:0E:CE:C6:5A:2D:F5:7C:
                    29:38:4A:E7:9C:05:02:94:FE:CC:0E:A4
    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_TCEBypassMode: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_ImexChannelCount:int
    parm:           NVreg_CreateImexChannel0:int
    parm:           rm_firmware_active:charp
    
    • @mlg
      link
      English
      24 months ago

      Yeah that means the driver is loaded fine, but it looks like it is selecting the iGPU by default. You have several options to fix this.

      1. You can disable integrated graphics in the bios if there is an option for it. This is the easiest, but if you’re on a laptop, leaving it enabled might save some battery in which case goto 2.

      2. You can tell either each program or the OS to prefer the Nvidia GPU. The way you do this also depends on how the gpu is set up (most laptops have it as secondary)

      You can test this by running __NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia glxgears in one terminal, and nividia-smi in a second terminal to verify a program (in this case glxgears) is running on the nvidia gpu.

      I’ll try to find a good guide, but depending on the setup, it could be a simple MUX switch you can flip to change between iGPU and Nvidia GPU, or with the use of some preference selector tool (I think it was called prime?).

      It’s confusing because lots of laptops essentially use the Nvidia GPU as offload which makes it a bit tricky to coaxe it into using the correct one.

      • @fart_pickleOP
        link
        24 months ago

        __NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia

        This worked. I haven’t checked the bios yet. If there’s an option to disable integrated graphics I will use it. For now I will just use the vars.

      • @fart_pickleOP
        link
        04 months ago

        Funny thing, yesterday there was an update for nvidia drivers. I was stupid enough to install it and now I have the same directx error as before. I’m done with gaming on Linux.