this post was submitted on 30 Aug 2024
20 points (95.5% liked)

Linux

48372 readers
1017 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

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

all 27 comments
sorted by: hot top controversial new old
[–] [email protected] 3 points 3 months ago* (last edited 3 months ago) (1 children)

Did I understand it right that you installed the driver manually? It's generally better to use the Fedora Nvidia driver package (sudo dnf install akmod-nvidia), than to download from Nvidia's website. I'm on Fedora 40 too, and currently using the 560.35.03 version of the driver on a 2080, which upgraded from 555 recently - I wonder if that's what broke compatibility with your version of the driver. It may be that you need to update. Only thing I'm not sure of is how this will interact with manually-installed drivers...

[–] fart_pickle 1 points 3 months ago (1 children)

Installing drivers manually was the last resort. Before that I did the sudo dnf install akmod-nvidia.

[–] just_another_person 4 points 3 months ago (1 children)

This is what you should be using on Fedora. Though take note, after each kernel update, you need to allow the module some time to rebuild, then reboot to ensure it got loaded properly.

Try running:

'dnf reinstall kernel-modules'

then reboot. This will trigger a cascading rebuild of the kernel modules that get rebuilt on every kernel update.

[–] fart_pickle 1 points 2 months ago (1 children)

It didn't work. At this point I'm considering nuking the whole thing and start with the fresh system. If it won't work I will buy a Windows PC just for gaming.

[–] just_another_person 0 points 2 months ago (1 children)

Blacklist nouveau, install the akmod, you'll be fine

[–] fart_pickle 0 points 2 months ago (1 children)

Already did that. Didn't help.

[–] just_another_person 0 points 2 months ago (1 children)

Well then follow every single guide online that is telling you exactly what people here are telling you. Remove every single Nvidia package, disable secure boot, then reinstall.

[–] fart_pickle 0 points 2 months ago (1 children)

I did all those things before I asked a question.

[–] just_another_person -2 points 2 months ago

Then you've done something wrong. Revisit the steps, learn how to read 'dmesg' and debug. Show more logs.

[–] [email protected] 2 points 3 months ago

I would reinstall the rpm fusion ones and remove the ones from the official site, also check if maybe there is a flatpak update for steam if you have it. Also blacklist your nouveau driver in the grep config file, it could be that its using that.

If you want to check if its working use glx-gears with the info flag and set the opengl to the nvidia card. It could be that it doesnt work, its been a long time since my driver broke.

[–] Para_lyzed 2 points 2 months ago

I am also experiencing this issue on Fedora 40 with the Negativo drivers, and I believe this is a flatpak issue. Here is a GitHub issue detailing the problem. Allegedly it has been fixed, but I have updated to the latest commit and am still having the same issue, so I am unsure what to do (I've spent a number of hours trying to troubleshoot this). You might have luck just running a flatpak update, as that is supposed to solve this issue (YMMV though, it didn't fix it for me).

[–] mlg 1 points 2 months ago* (last edited 2 months ago) (1 children)

What is the output of "modinfo nvidia"?

From your output it looks like the driver is loaded, it might just be the game/OS selecting the wrong GPU by default.

[–] fart_pickle 2 points 2 months ago* (last edited 2 months ago) (1 children)

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 2 points 2 months ago (2 children)

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_pickle 2 points 2 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_pickle 0 points 2 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.

[–] ABasilPlant 1 points 2 months ago (1 children)

Could you show us the kernel command line parameters (in /etc/default/grub)? Is the modeset along with other params enabled? I'm not a fedora user, so I may not be of too much help.

[–] fart_pickle 1 points 2 months ago (1 children)
bat /etc/default/grub

───────┬─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
       │ File: /etc/default/grub
───────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
   1   │ GRUB_TIMEOUT=5
   2   │ GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
   3   │ GRUB_DEFAULT=saved
   4   │ GRUB_DISABLE_SUBMENU=true
   5   │ GRUB_TERMINAL_OUTPUT="console"
   6   │ GRUB_CMDLINE_LINUX="rhgb quiet rd.driver.blacklist=nouveau modprobe.blacklist=nouveau"
   7   │ GRUB_DISABLE_RECOVERY="true"
   8   │ GRUB_ENABLE_BLSCFG=true
───────┴─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
[–] ABasilPlant 1 points 2 months ago (1 children)
[–] fart_pickle 1 points 2 months ago (1 children)

You might be right. I have a feeling that when I blacklisted nouveau rest of the stuff got deleted from this line. I'll give it a try.

[–] ABasilPlant 1 points 2 months ago (1 children)

Make sure to update your grub after you do. I've messed that one up before lol 😅

[–] fart_pickle 1 points 2 months ago* (last edited 2 months ago) (1 children)

Yeah, I think I messed it up :) Now my system starts in cli mode. Well, I wanted to nuke everything anyway so no harm done.

edit

I was able to switch to gui but still no luck with the gpu.

[–] ABasilPlant 2 points 2 months ago

Ah if you messed it up, you can press "e" on the grub entry and edit the command line parameters to remove the thing that messes it up. Good luck with your fresh install [and use Debian this time... jk :)]

[–] [email protected] -1 points 3 months ago

timeshift. then skip that update.