Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Bug#990662: nouveau 0000:01:00.0: firmware: failed to load nouveau/nvd9_fuc084 (-2)

1,379 views
Skip to first unread message

Mathieu Malaterre

unread,
Jul 4, 2021, 3:40:03 AM7/4/21
to
Package: firmware-misc-nonfree
Version: 20210315-2~bpo10+1

It would be super nice to distribute the nividia/nouveau firmware in
firmware-misc-nonfree. Right now symptoms are:

[127020.582478] nouveau 0000:01:00.0: firmware: failed to load
nouveau/nvd9_fuc084 (-2)
[127020.582481] firmware_class: See https://wiki.debian.org/Firmware
for information about missing firmware
[127020.582482] nouveau 0000:01:00.0: Direct firmware load for
nouveau/nvd9_fuc084 failed with error -2
[127020.582487] nouveau 0000:01:00.0: firmware: failed to load
nouveau/nvd9_fuc084d (-2)
[127020.582488] nouveau 0000:01:00.0: Direct firmware load for
nouveau/nvd9_fuc084d failed with error -2
[127020.582489] nouveau 0000:01:00.0: msvld: unable to load firmware data
[127020.582491] nouveau 0000:01:00.0: msvld: init failed, -19
[127064.484342] nouveau 0000:01:00.0: firmware: failed to load
nouveau/nvd9_fuc084 (-2)
[127064.484353] nouveau 0000:01:00.0: Direct firmware load for
nouveau/nvd9_fuc084 failed with error -2
[127064.484375] nouveau 0000:01:00.0: firmware: failed to load
nouveau/nvd9_fuc084d (-2)
[127064.484380] nouveau 0000:01:00.0: Direct firmware load for
nouveau/nvd9_fuc084d failed with error -2
[127064.484384] nouveau 0000:01:00.0: msvld: unable to load firmware data
[127064.484389] nouveau 0000:01:00.0: msvld: init failed, -19

Reference:

https://build.opensuse.org/package/view_file/hardware/nvidia-firmware-installer/nvidia-firmware-installer.spec?expand=1
https://raw.githubusercontent.com/envytools/firmware/master/extract_firmware.py

Thanks

Sven Joachim

unread,
Nov 20, 2021, 6:10:02 AM11/20/21
to
On 2021-07-04 09:36 +0200, Mathieu Malaterre wrote:

> Package: firmware-misc-nonfree
> Version: 20210315-2~bpo10+1
>
> It would be super nice to distribute the nividia/nouveau firmware in
> firmware-misc-nonfree.

There are two classes of firmware for NVidia cards: official ones from
NVidia for newer cards which is already included in
firmware-misc-nonfree and placed under /lib/fimware/nvidia, and firmware
for older cards which is not distributable but needs to be extracted
from the non-free driver and is put under /lib/firmware/nouveau. This
firmware can be useful for video decoding, but is not necessary for other
operations.

https://nouveau.freedesktop.org/VideoAcceleration.html
Since the firmware is not distributable as-is, it cannot be put into
firmware-misc-nonfree (or any other package). What could be done is to
package an installer in contrib. Would you like to do that?

Cheers,
Sven

Wim Bertels

unread,
Jan 13, 2022, 6:10:03 AM1/13/22
to
Package: firmware-misc-nonfree
Version: 20210315-3
Followup-For: Bug #990662

Hello,

a confirmation of this bug

# dmesg | grep -i nouv
[ 2.688397] nouveau 0000:01:00.0: vgaarb: deactivate vga console
[ 2.690019] nouveau 0000:01:00.0: NVIDIA G98 (298580a2)
[ 2.725486] nouveau 0000:01:00.0: bios: version 62.98.73.00.04
[ 2.745965] nouveau 0000:01:00.0: fb: 256 MiB GDDR3
[ 2.825306] nouveau 0000:01:00.0: DRM: VRAM: 256 MiB
[ 2.825307] nouveau 0000:01:00.0: DRM: GART: 1048576 MiB
[ 2.825311] nouveau 0000:01:00.0: DRM: TMDS table version 2.0
[ 2.825315] nouveau 0000:01:00.0: DRM: DCB version 4.0
[ 2.825317] nouveau 0000:01:00.0: DRM: DCB outp 00: 01000323 00010034
[ 2.825320] nouveau 0000:01:00.0: DRM: DCB outp 01: 02011300 00000028
[ 2.825324] nouveau 0000:01:00.0: DRM: DCB outp 02: 02022386 0f200010
[ 2.825325] nouveau 0000:01:00.0: DRM: DCB outp 03: 02022332 00020010
[ 2.825328] nouveau 0000:01:00.0: DRM: DCB outp 04: 040333a6 0f200010
[ 2.825329] nouveau 0000:01:00.0: DRM: DCB outp 05: 04033312 00020010
[ 2.825332] nouveau 0000:01:00.0: DRM: DCB conn 00: 00000040
[ 2.825334] nouveau 0000:01:00.0: DRM: DCB conn 01: 00000100
[ 2.825337] nouveau 0000:01:00.0: DRM: DCB conn 02: 00005246
[ 2.825338] nouveau 0000:01:00.0: DRM: DCB conn 03: 0000a346
[ 2.830444] nouveau 0000:01:00.0: DRM: MM: using M2MF for buffer copies
[ 2.921951] nouveau 0000:01:00.0: DRM: allocated 1920x1200 fb: 0x50000, bo 000000005b258a42
[ 2.922019] fbcon: nouveaudrmfb (fb0) is primary device
[ 4.248388] nouveau 0000:01:00.0: [drm] fb0: nouveaudrmfb frame buffer device
[ 4.268803] [drm] Initialized nouveau 1.3.1 20120801 for 0000:01:00.0 on minor 0
[ 53.775327] nouveau 0000:01:00.0: firmware: failed to load nouveau/nv98_fuc084 (-2)
[ 53.775333] nouveau 0000:01:00.0: Direct firmware load for nouveau/nv98_fuc084 failed with error -2
[ 53.775345] nouveau 0000:01:00.0: firmware: failed to load nouveau/nv98_fuc084d (-2)
[ 53.775347] nouveau 0000:01:00.0: Direct firmware load for nouveau/nv98_fuc084d failed with error -2
[ 53.775349] nouveau 0000:01:00.0: msvld: unable to load firmware data
[ 53.775351] nouveau 0000:01:00.0: msvld: init failed, -19
[ 72.661417] nouveau 0000:01:00.0: firmware: failed to load nouveau/nv98_fuc084 (-2)
[ 72.661425] nouveau 0000:01:00.0: Direct firmware load for nouveau/nv98_fuc084 failed with error -2
[ 72.661436] nouveau 0000:01:00.0: firmware: failed to load nouveau/nv98_fuc084d (-2)
[ 72.661438] nouveau 0000:01:00.0: Direct firmware load for nouveau/nv98_fuc084d failed with error -2
[ 72.661440] nouveau 0000:01:00.0: msvld: unable to load firmware data
[ 72.661443] nouveau 0000:01:00.0: msvld: init failed, -19
[ 227.014093] nouveau 0000:01:00.0: fifo: CACHE_ERROR - ch 3 [Xorg[692]] subc 0 mthd 0060 data beef0201
[ 366.102466] nouveau 0000:01:00.0: fifo: CACHE_ERROR - ch 3 [Xorg[692]] subc 3 mthd 1b00 data 00000000

# lshw -C Display
*-display
description: VGA compatible controller
product: G98M [Quadro NVS 160M]
vendor: NVIDIA Corporation
physical id: 0
bus info: pci@0000:01:00.0
version: a1
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress vga_controller bus_master cap_list rom
configuration: driver=nouveau latency=0
resources: irq:28 memory:f5000000-f5ffffff memory:e0000000-efffffff memory:f2000000-f3ffffff ioport:df00(size=128) memory:c0000-dffff

hth,
Wim

-- System Information:
Debian Release: 11.2
APT prefers stable-updates
APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 5.10.0-9-amd64 (SMP w/2 CPU threads)
Locale: LANG=nl_BE.UTF-8, LC_CTYPE=nl_BE.UTF-8 (charmap=UTF-8), LANGUAGE=nl_BE:nl
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

firmware-misc-nonfree depends on no packages.

firmware-misc-nonfree recommends no packages.

Versions of packages firmware-misc-nonfree suggests:
ii initramfs-tools 0.140

-- no debconf information

Mathieu Malaterre

unread,
Jul 11, 2022, 12:40:03 PM7/11/22
to
Local steps for me were:

% wget https://raw.githubusercontent.com/envytools/firmware/master/extract_firmware.py
% wget https://download.nvidia.com/XFree86/Linux-x86_64/340.108/NVIDIA-Linux-x86_64-340.108.run
% sh NVIDIA-Linux-x86_64-340.108.run --extract-only
% python3 extract_firmware.py
% sudo mkdir /lib/firmware/nouveau
% sudo cp nvd9_fuc084 /lib/firmware/nouveau

Mathieu Malaterre

unread,
Jul 11, 2022, 12:40:03 PM7/11/22
to
Dear Debian NVIDIA Maintainers,

Is there any interest in maintaining a nvidia-firmware package within
Debian NVIDIA group maintenance ? It seems some of the nvidia firmware
blob cannot be maintained within firmware-misc-nonfree:

* https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=990662#12

Since the nvidia* package do the heavy lifting of downloading locally
binary, it would make sense to add yet-another package for firmware
related within the group.

Thanks for comments,

-M

Andreas Beckmann

unread,
Jul 11, 2022, 3:10:04 PM7/11/22
to
On 11/07/2022 18.35, Mathieu Malaterre wrote:
> Since the nvidia* package do the heavy lifting of downloading locally
> binary, it would make sense to add yet-another package for firmware
> related within the group.

Putting a downloader package in contrib under the Nvidia Team umbrella
is fine, but someone needs to come up with an initial implementation.
A quick glance at the script gave me the impression that you need to
extract firmware from the 340xx legacy or older drivers.
Looking at existing packages (e.g. firmware-b43-installer), a name of
firmware-nouveau-installer might work.

Andreas

Mathieu Malaterre

unread,
Jul 16, 2022, 11:10:03 AM7/16/22
to
Andreas,
If I understand correctly, all I need is the file
`NVIDIA-Linux-x86-340.108.run` which is distributed directly in
contrib in package nvidia-graphics-drivers-legacy-340xx-340.108.

I'll see if I can patch this package directly instead of duplicating
the code in another package.

-M

Andreas Beckmann

unread,
Jul 17, 2022, 8:10:03 AM7/17/22
to
On 16/07/2022 17.05, Mathieu Malaterre wrote:
> If I understand correctly, all I need is the file
> `NVIDIA-Linux-x86-340.108.run` which is distributed directly in
> contrib in package nvidia-graphics-drivers-legacy-340xx-340.108.
>
> I'll see if I can patch this package directly instead of duplicating
> the code in another package.

The 340 series is long EoL, not in stable and won't return to testing.

For extracting the firmware, it's probably better to have a downloader
package that wgets the .run file from nvidia, validates against a known
hash and runs the script on it.


Andreas
0 new messages