Does this card require non-free firmware?

Sin respostas
riabenko
Desconectado
Joined: 11/22/2024

I would appreciate any advice on how to determine whether a given NVIDIA GPU should provide hardware 3D acceleration without non-free firmware. I couldn't find on h-node the card that I am checking. The "nouveau FeatureMatrix" seems to only track the driver functionality. I assume that the proprietary driver "firmware" that it mentions is the code that the nouveau driver attempts to replicate. There may also be firmware that the kernel may still require to initilize the card to make those features available, correct? The Gentoo wiki page for NVIDIA seems to suggest that older and newer cards should work with nouveau, while NV110, NV130, and NV140 are only partially supported. However, I do not understand how they deduce that from the "FeatureMatrix", which they refer to. So, I am not sure what card, any card, to look for instead.

$ glxinfo | grep Device
    Device: llvmpipe (LLVM 15.0.7, 256 bits) (0xffffffff)
$ lspci -k -nn -d 10de:1c02 
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP106 [GeForce GTX 1060 3GB] [10de:1c02] (rev a1)
	Subsystem: Micro-Star International Co., Ltd. [MSI] GP106 [GeForce GTX 1060 3GB] [1462:3287]
	Kernel driver in use: nouveau
	Kernel modules: nvidiafb, nouveau
$ sudo dmesg | grep nouveau
[    0.823596] nouveau 0000:01:00.0: vgaarb: deactivate vga console
[    0.823644] nouveau 0000:01:00.0: NVIDIA GP106 (136000a1)
[    0.946023] nouveau 0000:01:00.0: bios: version 86.06.59.00.2a
[    0.946555] nouveau 0000:01:00.0: acr: firmware unavailable
[    0.946558] nouveau 0000:01:00.0: pmu: firmware unavailable
[    0.946608] nouveau 0000:01:00.0: gr: firmware unavailable
[    0.946613] nouveau 0000:01:00.0: sec2: firmware unavailable
[    0.946885] nouveau 0000:01:00.0: fb: 3072 MiB GDDR5
[    0.951622] nouveau 0000:01:00.0: fb: VPR locked, but no scrubber binary!
[    0.954533] nouveau 0000:01:00.0: DRM: VRAM: 3072 MiB
[    0.954534] nouveau 0000:01:00.0: DRM: GART: 536870912 MiB
[    0.954536] nouveau 0000:01:00.0: DRM: BIT table 'A' not found
[    0.954537] nouveau 0000:01:00.0: DRM: BIT table 'L' not found
[    0.954537] nouveau 0000:01:00.0: DRM: TMDS table version 2.0
[    0.954538] nouveau 0000:01:00.0: DRM: DCB version 4.1
[    0.954539] nouveau 0000:01:00.0: DRM: DCB outp 00: 01000f42 04620030
[    0.954541] nouveau 0000:01:00.0: DRM: DCB outp 06: 02033f62 04620010
[    0.954542] nouveau 0000:01:00.0: DRM: DCB outp 07: 02844f76 04600020
[    0.954543] nouveau 0000:01:00.0: DRM: DCB outp 08: 02044f72 00020020
[    0.954544] nouveau 0000:01:00.0: DRM: DCB conn 00: 00001031
[    0.954545] nouveau 0000:01:00.0: DRM: DCB conn 03: 00010361
[    0.954545] nouveau 0000:01:00.0: DRM: DCB conn 04: 00020446
[    0.954771] nouveau 0000:01:00.0: DRM: failed to create kernel channel, -22
[    0.954899] nouveau 0000:01:00.0: DRM: MM: using COPY for buffer copies
[    1.181443] nouveau 0000:01:00.0: DRM: allocated 2560x1440 fb: 0x200000, bo 000000006bb081b0
[    1.181550] fbcon: nouveaudrmfb (fb0) is primary device
[    1.537689] nouveau 0000:01:00.0: [drm] fb0: nouveaudrmfb frame buffer device
[    1.557369] [drm] Initialized nouveau 1.3.1 20120801 for 0000:01:00.0 on minor 0
[    1.557377] nouveau 0000:01:00.0: DRM: Disabling PCI power management to avoid bug
[    7.986200] snd_hda_intel 0000:01:00.1: bound 0000:01:00.0 (ops nv50_audio_component_bind_ops [nouveau])

I tried disabling the firmware loading with kernel parameter nouveau.config=NvGrUseFW=0 but this seems to be ignored.

$ cat /etc/modprobe.d/nouveau.conf
options nouveau config=NvGrUseFW=0
$ cat /etc/X11/xorg.conf
Section "Device"
	Identifier "n"
	Driver "nouveau"
EndSection