Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
mesa using softpipe, X using nouveau
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Multimedia
View previous topic :: View next topic  
Author Message
terrenana
Tux's lil' helper
Tux's lil' helper


Joined: 06 Feb 2021
Posts: 85
Location: Chicago, IL, USA

PostPosted: Mon Dec 05, 2022 4:33 pm    Post subject: mesa using softpipe, X using nouveau Reply with quote

Hi,

I have a problem with mesa. Mesa is using softpipe software rendering instead of nouveau. VIDEO_CARDS is set to nouveau, X server is using nouveau correctly. I have frankly no clue why mesa refuses to just use the nouveau driver.
_________________
what should i put here?
Back to top
View user's profile Send private message
grknight
Retired Dev
Retired Dev


Joined: 20 Feb 2015
Posts: 1652

PostPosted: Mon Dec 05, 2022 4:52 pm    Post subject: Reply with quote

Please review and share the log file at either ~/.local/share/xorg/Xorg.0.log or /var/log/Xorg.0.log (with a recent timestamp) as that will show why.
Back to top
View user's profile Send private message
terrenana
Tux's lil' helper
Tux's lil' helper


Joined: 06 Feb 2021
Posts: 85
Location: Chicago, IL, USA

PostPosted: Mon Dec 05, 2022 5:05 pm    Post subject: Reply with quote

https://pastebin.com/WywLnuqx

Xorg.0.log.

Nouveau appears to be loading correctly. The only thing on my system (to my knowledge) that is using software rendering is Mesa.

dmesg: https://pastebin.com/4dQmF0Ey
_________________
what should i put here?
Back to top
View user's profile Send private message
grknight
Retired Dev
Retired Dev


Joined: 20 Feb 2015
Posts: 1652

PostPosted: Mon Dec 05, 2022 5:32 pm    Post subject: Reply with quote

terrenana wrote:
https://pastebin.com/WywLnuqx

Xorg.0.log.

Nouveau appears to be loading correctly. The only thing on my system (to my knowledge) that is using software rendering is Mesa.

dmesg: https://pastebin.com/4dQmF0Ey


Xorg log:
Code:
[    75.240] (EE) NOUVEAU(0): Error creating GPU channel: -19
[    75.240] (EE) NOUVEAU(0): Error initialising acceleration.  Falling back to NoAccel


dmesg suggests there may be more firmware files necessary. It may be advantageous to make CONFIG_DRM_NOUVEAU=m instead of =y in the kernel so it can try to load more things.
Back to top
View user's profile Send private message
terrenana
Tux's lil' helper
Tux's lil' helper


Joined: 06 Feb 2021
Posts: 85
Location: Chicago, IL, USA

PostPosted: Mon Dec 05, 2022 6:31 pm    Post subject: Reply with quote

Even with DRM_NOUVEAU built as a module nothing changes. dmesg and Xorg log output unchanged. Is there a way for me to see a mesa log? I think the problem is with mesa.
_________________
what should i put here?
Back to top
View user's profile Send private message
grknight
Retired Dev
Retired Dev


Joined: 20 Feb 2015
Posts: 1652

PostPosted: Mon Dec 05, 2022 6:44 pm    Post subject: Reply with quote

terrenana wrote:
Even with DRM_NOUVEAU built as a module nothing changes. dmesg and Xorg log output unchanged. Is there a way for me to see a mesa log? I think the problem is with mesa.


The problem is with nouveau. It is disabling mesa acceleration with the quoted lines.
Back to top
View user's profile Send private message
terrenana
Tux's lil' helper
Tux's lil' helper


Joined: 06 Feb 2021
Posts: 85
Location: Chicago, IL, USA

PostPosted: Mon Dec 05, 2022 6:51 pm    Post subject: Reply with quote

Ah. So the problem is nouveau is missing some component of acceleration. How would I rectify this?
_________________
what should i put here?
Back to top
View user's profile Send private message
grknight
Retired Dev
Retired Dev


Joined: 20 Feb 2015
Posts: 1652

PostPosted: Mon Dec 05, 2022 6:53 pm    Post subject: Reply with quote

Fix the 4 missing firmware files that dmesg is complaining about and it is likely that everything else will just work.

Edit: if nouveau is now a module, the loading timestamp will change to much later in the boot sequence and should not show the 4 missing firmwares.
Back to top
View user's profile Send private message
terrenana
Tux's lil' helper
Tux's lil' helper


Joined: 06 Feb 2021
Posts: 85
Location: Chicago, IL, USA

PostPosted: Mon Dec 05, 2022 7:02 pm    Post subject: Reply with quote

I believe the problem is I dont have nvidia-firmware installed properly. in the kernel param CONIFG_FW_LOADER, i have /lib/firmware. Inside /lib/firmware there is a folder called nouveau, where nvidia-firmware package installed its files. When I attempt to change CONFIG_FW_LOADER, it also changes CONFIG_EXTRA_FIRMWARE. when I build the kernel, it then errors. showing this

Code:
make[4]: *** No rule to make target '/lib/firmware//lib/firmware', needed by 'drivers/base/firmware_loader/builtin//lib/firmware.gen.o'.  Stop.


How do I make it so I only add that file to one of the options, adding to one automatically adds to the other, and in .config which one do I select?
Also, do i point it at the /lib/firmware/nouveau directory or just /lib/firmware.

Thanks for your patience and help thus far.
_________________
what should i put here?
Back to top
View user's profile Send private message
grknight
Retired Dev
Retired Dev


Joined: 20 Feb 2015
Posts: 1652

PostPosted: Mon Dec 05, 2022 7:08 pm    Post subject: Reply with quote

If you wish to want to use CONFIG_EXTRA_FIRMWARE, you must list FILES not directories relative to CONFIG_EXTRA_FIRMWARE_DIR (which defaults to /lib/firmware).

For example, using what already is shown in the output, CONFIG_EXTRA_FIRMWARE="nvidia/gp106/nvdec/scrubber.bin nvidia/gp106/acr/bl.bin"

But 4 unknown files are also necessary.

This is usually not necessary if DRM_NOUVEAU is loaded as a module as it can read from the file system.
Back to top
View user's profile Send private message
terrenana
Tux's lil' helper
Tux's lil' helper


Joined: 06 Feb 2021
Posts: 85
Location: Chicago, IL, USA

PostPosted: Mon Dec 05, 2022 7:10 pm    Post subject: Reply with quote

Even when built as a module it wasnt working. How do I get the module to load when needed?
_________________
what should i put here?
Back to top
View user's profile Send private message
grknight
Retired Dev
Retired Dev


Joined: 20 Feb 2015
Posts: 1652

PostPosted: Mon Dec 05, 2022 7:12 pm    Post subject: Reply with quote

Please show the dmesg output when built as a module
Back to top
View user's profile Send private message
terrenana
Tux's lil' helper
Tux's lil' helper


Joined: 06 Feb 2021
Posts: 85
Location: Chicago, IL, USA

PostPosted: Mon Dec 05, 2022 7:15 pm    Post subject: Reply with quote

Even if built as module, glxinfo -B still shows mesa as not using nouveau
_________________
what should i put here?
Back to top
View user's profile Send private message
terrenana
Tux's lil' helper
Tux's lil' helper


Joined: 06 Feb 2021
Posts: 85
Location: Chicago, IL, USA

PostPosted: Mon Dec 05, 2022 7:17 pm    Post subject: Reply with quote

https://pastebin.com/WjGt56Wd

dmesg when built as module
_________________
what should i put here?
Back to top
View user's profile Send private message
grknight
Retired Dev
Retired Dev


Joined: 20 Feb 2015
Posts: 1652

PostPosted: Mon Dec 05, 2022 7:23 pm    Post subject: Reply with quote

terrenana wrote:
https://pastebin.com/WjGt56Wd

dmesg when built as module


This shows it is NOT loaded as a module and still built-in. Please boot the updated kernel. You need to reinstall the full kernel file after this change.

Also, ensure that CONFIG_FB_NVIDIA is disabled. This will interfere with nouveau.
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54216
Location: 56N 3W

PostPosted: Mon Dec 05, 2022 7:38 pm    Post subject: Reply with quote

terrenana

Code:
[    0.384409] nouveau 0000:07:00.0: bios: version 86.06.45.00.3c
[    0.384514] Loading firmware: nvidia/gp106/nvdec/scrubber.bin
[    0.384535] Loading firmware: nvidia/gp106/acr/bl.bin
[    0.384541] nouveau 0000:07:00.0: acr: firmware unavailable
[    0.384544] nouveau 0000:07:00.0: pmu: firmware unavailable
[    0.384574] nouveau 0000:07:00.0: gr: firmware unavailable
[    0.384580] nouveau 0000:07:00.0: sec2: firmware unavailable

Note the timestamps,

Code:
[    3.030957] dracut: Mounted root filesystem /dev/nvme0n1p3
is when /lib/firmware can be read.
Almost three seconds too late.

Modules are loaded from /lib/modules, also on the root fs.

If dracut sucked the nouveau module into the initrd, the firmware must be loaded from there too.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
terrenana
Tux's lil' helper
Tux's lil' helper


Joined: 06 Feb 2021
Posts: 85
Location: Chicago, IL, USA

PostPosted: Mon Dec 05, 2022 7:58 pm    Post subject: Reply with quote

So how do I get dracut to load it? There aren't files to add to build into the kernel matching those names. Can I just add them all? (and how)
_________________
what should i put here?
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54216
Location: 56N 3W

PostPosted: Mon Dec 05, 2022 8:24 pm    Post subject: Reply with quote

terrenana,

I roll my initramfs by hand. I don't know how dracut (or genkernel) work.

The kernel needs all the bits to be accessible when the code is initialised.
Everything built into the kernel binary, everything in the initrd or everything on the root filesystem work.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
terrenana
Tux's lil' helper
Tux's lil' helper


Joined: 06 Feb 2021
Posts: 85
Location: Chicago, IL, USA

PostPosted: Mon Dec 05, 2022 8:32 pm    Post subject: Reply with quote

I think it would be easist to just build the needed firmware into the kernel. How can i specify that I want the contents of /lib/firmware built into the kernel?
_________________
what should i put here?
Back to top
View user's profile Send private message
grknight
Retired Dev
Retired Dev


Joined: 20 Feb 2015
Posts: 1652

PostPosted: Mon Dec 05, 2022 8:34 pm    Post subject: Reply with quote

terrenana wrote:
I think it would be easist to just build the needed firmware into the kernel. How can i specify that I want the contents of /lib/firmware built into the kernel?


List each file relative to /lib/firmware in CONFIG_EXTRA_FIRMWARE. Each file name must be separated with spaces. Wildcards and directory names alone are not allowed.
Back to top
View user's profile Send private message
terrenana
Tux's lil' helper
Tux's lil' helper


Joined: 06 Feb 2021
Posts: 85
Location: Chicago, IL, USA

PostPosted: Mon Dec 05, 2022 8:40 pm    Post subject: Reply with quote

I found all the directories of the missing firmware. its a bit weird though because each one exists in basically every subdir of nvidia, and in each there are 4 files, I would have to manually include hundreds of files. There is no way that is what was intended?
_________________
what should i put here?
Back to top
View user's profile Send private message
grknight
Retired Dev
Retired Dev


Joined: 20 Feb 2015
Posts: 1652

PostPosted: Mon Dec 05, 2022 8:42 pm    Post subject: Reply with quote

terrenana wrote:
I found all the directories of the missing firmware. its a bit weird though because each one exists in basically every subdir of nvidia, and in each there are 4 files, I would have to manually include hundreds of files. There is no way that is what was intended?


Well your card is the gp106, so just limit to the files under that directory for starters to match your card.
Back to top
View user's profile Send private message
terrenana
Tux's lil' helper
Tux's lil' helper


Joined: 06 Feb 2021
Posts: 85
Location: Chicago, IL, USA

PostPosted: Mon Dec 05, 2022 8:42 pm    Post subject: Reply with quote

Right. I should have realized that. Well I guess I'll just include all 4 files each time
_________________
what should i put here?
Back to top
View user's profile Send private message
grknight
Retired Dev
Retired Dev


Joined: 20 Feb 2015
Posts: 1652

PostPosted: Mon Dec 05, 2022 8:45 pm    Post subject: Reply with quote

terrenana wrote:
Right. I should have realized that. Well I guess I'll just include all 4 files each time


There are certainly a lot more than 4 files...
Code:
$ find /lib/firmware/nvidia/gp106 -not -type d | cut -d / -f 4-
nvidia/gp106/acr/unload_bl.bin
nvidia/gp106/acr/ucode_unload.bin
nvidia/gp106/acr/ucode_load.bin
nvidia/gp106/acr/bl.bin
nvidia/gp106/gr/fecs_data.bin
nvidia/gp106/gr/fecs_sig.bin
nvidia/gp106/gr/gpccs_data.bin
nvidia/gp106/gr/gpccs_sig.bin
nvidia/gp106/gr/sw_nonctx.bin
nvidia/gp106/gr/sw_method_init.bin
nvidia/gp106/gr/sw_ctx.bin
nvidia/gp106/gr/sw_bundle_init.bin
nvidia/gp106/gr/gpccs_inst.bin
nvidia/gp106/gr/gpccs_bl.bin
nvidia/gp106/gr/fecs_inst.bin
nvidia/gp106/gr/fecs_bl.bin
nvidia/gp106/nvdec/scrubber.bin
nvidia/gp106/sec2/sig-1.bin
nvidia/gp106/sec2/image-1.bin
nvidia/gp106/sec2/desc-1.bin
nvidia/gp106/sec2/sig.bin
nvidia/gp106/sec2/image.bin
nvidia/gp106/sec2/desc.bin
Back to top
View user's profile Send private message
terrenana
Tux's lil' helper
Tux's lil' helper


Joined: 06 Feb 2021
Posts: 85
Location: Chicago, IL, USA

PostPosted: Mon Dec 05, 2022 8:51 pm    Post subject: Reply with quote

PROGRESS!!!!!! ok so now mesa is using nouveau, although dmesg still says that it cant load pmu firmware. But hey, mesa works, so I'm not gonna worry about it. Thank both of you SO much for your help and patience. I really appreciate it.
_________________
what should i put here?
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Multimedia All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum