Nvidia Driver does not work for Kernel 5.6, NVIDIA GP107

Hi

After installing Kernel 5.6 I am getting this error:

Cannot run in framebuffer mode. Please specify busIDs for all
framebuffer devices

[ 0.757317] nouveau 0000:05:00.0: NVIDIA GP107 (137000a1)
[ 0.869775] nouveau 0000:05:00.0: bios: version 86.07.42.00.4a
[ 0.870157] nouveau 0000:05:00.0: acr: failed to load firmware
[ 0.870256] nouveau 0000:05:00.0: acr: failed to load firmware
[ 0.870356] nouveau 0000:05:00.0: acr ctor failed, -2
[ 0.870455] nouveau: probe of 0000:05:00.0 failed with error -2

This used to work just fine, with Version 5.5, Gentoo/Funtoo Linux.

Very strange.

With Kernel 5.5 everything was fine:

this is what I get with Kernel 5.5

~/.backup> dmesg | grep nouveau
[ 0.994622] nouveau 0000:05:00.0: NVIDIA GP107 (137000a1)
[ 1.107079] nouveau 0000:05:00.0: bios: version 86.07.42.00.4a
[ 1.107391] nouveau 0000:05:00.0: gr: failed to load firmware “gr/sw_nonctx”
[ 1.107494] nouveau 0000:05:00.0: gr: failed to load gr/sw_nonctx
[ 1.107857] nouveau 0000:05:00.0: fb: 4096 MiB GDDR5
[ 1.124158] nouveau 0000:05:00.0: DRM: VRAM: 4096 MiB
[ 1.124268] nouveau 0000:05:00.0: DRM: GART: 536870912 MiB
[ 1.124381] nouveau 0000:05:00.0: DRM: BIT table ‘A’ not found
[ 1.124493] nouveau 0000:05:00.0: DRM: BIT table ‘L’ not found
[ 1.124604] nouveau 0000:05:00.0: DRM: TMDS table version 2.0
[ 1.124719] nouveau 0000:05:00.0: DRM: DCB version 4.1
[ 1.124829] nouveau 0000:05:00.0: DRM: DCB outp 00: 01000f42 04620030
[ 1.124941] nouveau 0000:05:00.0: DRM: DCB outp 01: 02011f62 00020010
[ 1.125054] nouveau 0000:05:00.0: DRM: DCB outp 02: 02822f76 04600020
[ 1.125166] nouveau 0000:05:00.0: DRM: DCB outp 03: 02022f72 00020020
[ 1.125278] nouveau 0000:05:00.0: DRM: DCB outp 04: 04033f82 00020030
[ 1.125390] nouveau 0000:05:00.0: DRM: DCB conn 00: 00001031
[ 1.125501] nouveau 0000:05:00.0: DRM: DCB conn 01: 00010161
[ 1.125612] nouveau 0000:05:00.0: DRM: DCB conn 02: 00020246
[ 1.125723] nouveau 0000:05:00.0: DRM: DCB conn 03: 01000331
[ 1.126100] nouveau 0000:05:00.0: DRM: failed to create kernel channel, -22
[ 1.126364] nouveau 0000:05:00.0: DRM: MM: using COPY for buffer copies
[ 1.481589] nouveau 0000:05:00.0: DRM: allocated 1680x1050 fb:
0x200000, bo (ptrval)
[ 1.481807] fbcon: nouveaudrmfb (fb0) is primary device
[ 1.672191] nouveau 0000:05:00.0: fb0: nouveaudrmfb frame buffer device
[ 1.672362] [drm] Initialized nouveau 1.3.1 20120801 for 0000:05:00.0 on minor 1

Looking forward to any help or reply.

I went back to version 5.5 of the Kernel (recompiled after git
checkout v5.5) and all is fine again.

Kernel Config file is here:
https://slack-files.com/T27F6280H-F011D481UDS-179bd8aa7f

Best
Zeno

Logfile is attached.
nvidia-installer.log (1.4 MB)

Did you even install the nvidia driver?, both 5.5 and 5.6 outputs indicate your using the opensource driver (nouveau).
If so report the issue to mesa.

I tried to, but it is fails for kernel 5.6 as well.

Now I am trying this: [Nouveau] acr: failed to load firmware with Kernel 5.6. Kernel 5.5 works just fine.

Best
Zeno

I am now getting this error:

Full log is here: https://slack-files.com/T27F6280H-F011D0S6485-97eb49d20b

  |                                               ^~~~~~~~~~

/tmp/selfgz4622/NVIDIA-Linux-x86_64-440.64/kernel/nvidia/nv-procfs.c:91:35: note: byref variable will be forcibly initialized
91 | NvU32 vbios_rev1, vbios_rev2, vbios_rev3, vbios_rev4, vbios_rev5;
| ^~~~~~~~~~
/tmp/selfgz4622/NVIDIA-Linux-x86_64-440.64/kernel/nvidia/nv-procfs.c:91:23: note: byref variable will be forcibly initialized
91 | NvU32 vbios_rev1, vbios_rev2, vbios_rev3, vbios_rev4, vbios_rev5;
| ^~~~~~~~~~
/tmp/selfgz4622/NVIDIA-Linux-x86_64-440.64/kernel/nvidia/nv-procfs.c:91:11: note: byref variable will be forcibly initialized
91 | NvU32 vbios_rev1, vbios_rev2, vbios_rev3, vbios_rev4, vbios_rev5;
| ^~~~~~~~~~
/tmp/selfgz4622/NVIDIA-Linux-x86_64-440.64/kernel/nvidia/nv-procfs.c:90:11: note: byref variable will be forcibly initialized
90 | NvU8 *uuid;
| ^~~~
/tmp/selfgz4622/NVIDIA-Linux-x86_64-440.64/kernel/nvidia/nv-procfs.c:89:23: note: byref variable will be forcibly initialized
89 | char *type, *fmt, tmpstr[NV_DEVICE_NAME_LENGTH];
| ^~~~~~
/tmp/selfgz4622/NVIDIA-Linux-x86_64-440.64/kernel/nvidia/nv-procfs.c: In function ‘exercise_error_forwarding_va’:
/tmp/selfgz4622/NVIDIA-Linux-x86_64-440.64/kernel/nvidia/nv-procfs.c:637:13: note: byref variable will be forcibly initialized
637 | va_list arguments;
| ^~~~~~~~~
/tmp/selfgz4622/NVIDIA-Linux-x86_64-440.64/kernel/nvidia/nv-procfs.c: In function ‘nv_register_procfs’:
/tmp/selfgz4622/NVIDIA-Linux-x86_64-440.64/kernel/nvidia/nv-procfs.c:1263:10: note: byref variable will be forcibly initialized
1263 | char nv_dir_name[20];
| ^~~~~~~~~~~
/tmp/selfgz4622/NVIDIA-Linux-x86_64-440.64/kernel/nvidia/nv-procfs.c: In function ‘nv_procfs_add_gpu’:
/tmp/selfgz4622/NVIDIA-Linux-x86_64-440.64/kernel/nvidia/nv-procfs.c:1339:10: note: byref variable will be forcibly initialized
1339 | char name[32];
| ^~~~
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:268: /tmp/selfgz4622/NVIDIA-Linux-x86_64-440.64/kernel/nvidia/nv-procfs.o] Error 1
make[2]: Target ‘__build’ not remade because of errors.
make[1]: *** [Makefile:1683: /tmp/selfgz4622/NVIDIA-Linux-x86_64-440.64/kernel] Error 2
make[1]: Target ‘modules’ not remade because of errors.
make[1]: Leaving directory ‘/usr/src/linux’
make: *** [Makefile:81: modules] Error 2
ERROR: The nvidia kernel module was not created.

@zdavatz As Leigh pointed out, you’ve by the looks of it been running with the open-source driver, Nouveau, before. If that has changed in behaviour, upgrading to 5.6, then there’s been some kind of change in the kernel that broke it. That’s something for either your distro’s (Funtoo?) bug tracker, or even kernel upstream.

If, however, you want to try the proprietary NVIDIA driver, then that’ll have to be patched first – it’s not compatible with 5.6 as-is. There’s already been a post on this forum on this issue here, and this seemed to have soled the issue of building the driver.

Personally, I’d recommend holding off with upgrading – staying on the 5.5 branch for now – and continue to run with the Nouveau driver, if that has worked without issue for you before. That, and to report the breakage to your distribution.

Ok, thank you, I am also linking the Kernel LKML Thread here: [Nouveau] acr: failed to load firmware with Kernel 5.6. Kernel 5.5 works just fine. - https://lkml.org/lkml/2020/4/3/589

1 Like

Ok, this worked @Isaak.Aleksandrov, thank you! Now I get this in my /var/log/Xorg.0.log

[    19.439] (II) Loading sub module "fb"
[    19.439] (II) LoadModule: "fb"
[    19.441] (II) Loading /usr/lib64/xorg/modules/libfb.so
[    19.446] (II) Module fb: vendor="X.Org Foundation"
[    19.446] 	compiled for 1.20.5, module version = 1.0.0
[    19.446] 	ABI class: X.Org ANSI C Emulation, version 0.4
[    19.446] (II) Loading sub module "wfb"
[    19.446] (II) LoadModule: "wfb"
[    19.447] (II) Loading /usr/lib64/xorg/modules/libwfb.so
[    19.453] (II) Module wfb: vendor="X.Org Foundation"
[    19.453] 	compiled for 1.20.5, module version = 1.0.0
[    19.453] 	ABI class: X.Org ANSI C Emulation, version 0.4
[    19.453] (II) Loading sub module "ramdac"
[    19.453] (II) LoadModule: "ramdac"
[    19.453] (II) Module "ramdac" already built-in
[    19.454] (EE) NVIDIA: Failed to initialize the NVIDIA kernel module. Please see the
[    19.454] (EE) NVIDIA:     system's kernel log for additional error messages and
[    19.454] (EE) NVIDIA:     consult the NVIDIA README for details.
[    19.454] (EE) NVIDIA: Failed to initialize the NVIDIA kernel module. Please see the
[    19.454] (EE) NVIDIA:     system's kernel log for additional error messages and
[    19.454] (EE) NVIDIA:     consult the NVIDIA README for details.
[    19.454] (EE) NVIDIA: Failed to initialize the NVIDIA kernel module. Please see the
[    19.454] (EE) NVIDIA:     system's kernel log for additional error messages and
[    19.454] (EE) NVIDIA:     consult the NVIDIA README for details.
[    19.454] (EE) NVIDIA: Failed to initialize the NVIDIA kernel module. Please see the
[    19.454] (EE) NVIDIA:     system's kernel log for additional error messages and
[    19.454] (EE) NVIDIA:     consult the NVIDIA README for details.
[    19.454] (II) NVIDIA(0): nvCommonPlatformProbe: Device is NULL
[    19.454] (EE) No devices detected.
[    19.454] (EE)
Fatal server error:
[    19.454] (EE) no screens found(EE)
[    19.454] (EE)
Please consult the The X.Org Foundation support
	 at http://wiki.x.org

also this

/usr/src/linux> dmesg | grep nvidia
[    3.203080] nvidia: loading out-of-tree module taints kernel.
[    3.203088] nvidia: module license 'NVIDIA' taints kernel.
[    3.218324] nvidia-nvlink: Nvlink Core is being initialized, major device number 248
[    3.218640] nvidia 0000:05:00.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=none:owns=io+mem
[    3.431032] nvidia-modeset: Loading NVIDIA Kernel Mode Setting Driver for UNIX platforms  440.64  Fri Feb 21 00:43:19 UTC 2020
[    3.451954] [drm] [nvidia-drm] [GPU ID 0x00000500] Loading driver
[    3.451956] [drm] Initialized nvidia-drm 0.0.0 20160202 for 0000:05:00.0 on minor 1

@zdavatz I’ve never used the nvidia-installer method to install the driver, but I assume it might not be blacklisting the nouveau driver automatically. Try running with this command line modprobe.blacklist=nouveau or, as per this guide, add a file with blacklist nouveau to /etc/modprobe.d/blacklist-nouveau.conf

ok, thank you @Isaak.Aleksandrov 👏👏👍👍

@Isaak.Aleksandrov What are the main advantages of the Nivdia Driver over the Nouveau Driver? Less power consumption? Better Grafics?

@zdavatz Sorry for the late reply. Generally, it’d be better performance/FPS; for some, better stability (myself included); as well as CUDA and the like. Phoronix, for example, has a performance comparison between Nouveau vs NVIDIA, and the graphs shows a total domination for the NVIDIA driver when it comes to FPS. If, however, you don’t game, have stability issues, nor use CUDA, then there’s not much advantage in using the proprietary driver.

Thank you for you reply @Isaak.Aleksandrov, will there be a difference having many Tabs open in a browser or looking at websites that render a lot of data locally?

@zdavatz I’m not sure, actually. That would depend on various factors, and I can’t provide any figures on how that would be affected, sorry. Most likely, you wouldn’t notice too much of a difference, just surfing the web and such. In the end, I’m no expert in the field, and you’ll probably have as much success searching the net as I could further help you.

Also, does the NVIDIA driver work now? As in, is it loaded and everything works as it should. If it does, please mark the thread as solved.

I have to test first again with the Gentoo instructions. So far no luck.

Now I am trying this: SELinux-next development - Dev Central - funtoo forums