Nouveau Driver Not Working

I decided to try ditching the proprietary nvidia driver and try out the nouveau driver. My application is mostly for compute with OpenCL, but I think I would like to try NVK (I have a RTX 3000 series mobile GPU [Ampere I think] so it should be supported right?) as well. I uninstalled everytihing nvidia with commands like dnf remove \*nvidia\* and dnf remove \*cuda\*.

I noticed however that when I run clinfo I get the following error at the top of the output

nvc0_screen_create:1002 - Base screen init failed: -19

Also

=== CL_PROGRAM_BUILD_LOG ===
<built-in>:1:10: fatal error: 'clc/clc.h' file not found

later on. clinfo does show my integrated gpu and llvmpipe

The vulkaninfo command hangs (it did not before, though it didn’t recognize the nvidia gpu after uninstalling the proprietary drivers).

edit: I see this in journalctl -r as well

fedora abrt-dump-journal-oops[2025]: abrt-dump-journal-oops: Creating problem directories
fedora abrt-dump-journal-oops[2025]: abrt-dump-journal-oops: Found oopses: 1
fedora kernel: note: vulkaninfo[23423] exited with irqs disabled

glxgears and inxi -Gx also hang though inxi does work, but it does not show the nvidia gpu (just my AMD integrated one).

journalctl -r did show some errors a few hours ago where it said nouveau couldent find its firmware, but several boots later and that seems to have been resolved (probably by fwupdtool update).

When I look for nouveau in journalctl -r now I do see some mentions in within yellow messages. And I see it mentioned before

fedora kernel: #PF: error_code(0x0000) - not-present page
fedora kernel: #PF: supervisor read access in kernel mode
fedora kernel: BUG: kernel NULL pointer dereference, address: 0000000000000000

Which looks bad?
Then

fedora kernel: nouveau 0000:01:00.0: fb: VPR locked, but no scrubber binary!

I also see

fedora gnome-shell[1342]: Added device '/dev/dri/card1' (nouveau) using non-atomic mode setting.
fedora gnome-shell[1342]: Device '/dev/dri/card1' prefers shadow buffer

Before it said there was a card 0 and 1, not sure if that matters here…

Not really sure what to do next, any help is appreciated :slight_smile:

Added f40, nvk, opencl

One thing I see at first glance is that the command you used possibly removed the necessary nvidia-gpu-firmware package provided by fedora.
Please post the output of dnf list installed \*nvidia\* so we can verify if the firmware is installed or not. If not shown then it should be reinstalled with dnf install nvidia-gpu-firmware

Additionally, the nouveau driver works to some extent with the nvidia 3000 series cards but does not support all features and may not work at all for certain chipsets.

2 Likes

Sorry for late reply. You were right about the firmware, so I installed it

> dnf list installed \*nvidia\*
Installed Packages
nvidia-gpu-firmware.noarch 

However I am still getting the same error with every OpenCL application.

> clinfo
nvc0_screen_create:1002 - Base screen init failed: -19

It doesent seem to just be an NVK problem, as I understand it NVK is a vulkan driver, the OpenCL Mesa drivers, I think, are a different story.

After I tried:

> sudo dnf reinstall xorg-x11-drv-nouveau \*mesa\*

But I get the same result

Still having the issue :frowning: , another diagnostic messages I missed before

nouveau 0000:[REDACED]: fb: VPR locked, but no scrubber binary!

P.s I have a memory of doing something to disable the Nouveau driver a while back, so that my second monitor could be displayed via a direct graphics card connection (because nouveau didn’t seem to do that). I already reversed configurations and boot parameters in grub blacklisting Nouveau (I think), but there may have been something else, I don’t know if it would have anything to do with it… trying to figure it out if there is any configuration left, I think it may have had to do with gdm. I feel like I used some sort of graphics switcharoo software, but Im not sure I stuck with that configuration. Here is an old topic of mine on disabling nouveau/using propritary driver, I dont have this config now, I think I got rid of boot parameters disabling nouveau. If anyone has any idea of what I could have done it might be helpful. Trying to retrace my steps. Checked the modprobe blacklist, and grub configuration. Also, nouveau.modeset=1 says command not found, is that a problem?

After a system update vulkaninfo started working and showing Nvidia GPU info, however OpenCL (primary use case) programs seem to still struggle or crash when retriving the Nvidia card info.
clinfo no longer has the error

nvc0_screen_create:1002 - Base screen init failed: -19

but still has the error

=== CL_PROGRAM_BUILD_LOG ===
<built-in>:1:10: fatal error: 'clc/clc.h' file not found

and does not display the Nvidia GPU info.

inxi -Gx now displays (with redaction)

  Device-1: NVIDIA GA106M [GeForce RTX 3060 Mobile / Max-Q] vendor: Lenovo
    driver: nouveau v: kernel arch: Ampere bus-ID: REDACT
  Device-2: AMD Cezanne [Radeon Vega Series / Radeon Mobile Series]
    vendor: Lenovo driver: amdgpu v: kernel arch: GCN-5 bus-ID: REDACT

I tried reinstalling the drivers but I got the same results, having a slight issue with fwupdtool

FuUsbDevice          failed to parse platform BOS descriptor: failed to parse: no supported platform version: did not find magic

Unsure if its related