You are not logged in.

#1 2026-01-17 00:26:18

sigurd4
Member
Registered: 2025-03-07
Posts: 4

VA-API with nouveau. Kernel rejected pushbuf: invalid argument

I'm using an old graphics card: NVIDIA Quadro K2000M. Using the nouveau drivers because i've had major trouble with the nvidia-470xx drivers. The nouveau drivers seem work fine for the most part. OpenGL works, Vulkan works. I get VDPAU via the vdpau-va-gl drivers. Only issue is VA-API.

I've followed https://wiki.archlinux.org/title/Hardwa … ing_VA-API.

`sudo lspci | grep NVIDIA` gives:

sudo lspci | grep NVIDIA
01:00.0 VGA compatible controller: NVIDIA Corporation GK107GLM [Quadro K2000M] (rev a1)
01:00.1 Audio device: NVIDIA Corporation GK107 HDMI Audio Controller (rev a1)

Running `vainfo`:

Trying display: wayland
vainfo: VA-API version: 1.22 (libva 2.22.0)
vainfo: Driver version: Mesa Gallium driver 25.3.3-arch1.2 for NVE7
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            :	VAEntrypointVLD
      VAProfileMPEG2Main              :	VAEntrypointVLD
      VAProfileVC1Simple              :	VAEntrypointVLD
      VAProfileVC1Main                :	VAEntrypointVLD
      VAProfileVC1Advanced            :	VAEntrypointVLD
      VAProfileH264ConstrainedBaseline:	VAEntrypointVLD
      VAProfileH264Main               :	VAEntrypointVLD
      VAProfileH264High               :	VAEntrypointVLD
      VAProfileH264High10             :	VAEntrypointVLD
      VAProfileNone                   :	VAEntrypointVideoProc

But if i try to test VA-API by doing `mpv --hwdec=vaapi video.mp4` i get an error coming from the nouveau drivers.

[ffmpeg/demuxer] mov,mp4,m4a,3gp,3g2,mj2: Referenced QT chapter track not found
● Video  --vid=1  (h264 1920x1036 23.976 fps) [default]
● Audio  --aid=1  (aac 6ch 48000 Hz 384 kbps) [default]
nouveau: kernel rejected pushbuf: No such device
nouveau: ch16: krec 0 pushes 1 bufs 3 relocs 0
nouveau: ch16: buf 00000000 00000016 00000004 00000004 00000000 0x7f7cd0656000 0x1232000 0x8000
nouveau: ch16: buf 00000001 00000026 00000002 00000002 00000000 0x7f7cd00f1000 0x13c0000 0x100000
nouveau: ch16: buf 00000002 00000028 00000002 00000000 00000002 (nil) 0x18c0000 0x400000
nouveau: ch16: psh 00000000 0000000058 000000009c
[0x00000000] HDR 200541c0 subch 2 NINC
	mthd 0700 unknown method
		.VALUE = 0x20013
	mthd 0704 unknown method
		.VALUE = 0x13c01
	mthd 0708 unknown method
		.VALUE = 0x13c07
	mthd 070c unknown method
		.VALUE = 0x13c05
	mthd 0710 unknown method
		.VALUE = 0x3

[0x00000006] HDR 20084100 subch 2 NINC
	mthd 0400 unknown method
		.VALUE = 0x13c00
	mthd 0404 unknown method
		.VALUE = 0x18c00
	mthd 0408 unknown method
		.VALUE = 0x200
	mthd 040c unknown method
		.VALUE = 0x18d6a
	mthd 0410 unknown method
		.VALUE = 0x3e9600
	mthd 0414 unknown method
		.VALUE = 0x18c02
	mthd 0418 unknown method
		.VALUE = 0x16800
	mthd 041c unknown method
		.VALUE = 0x0

[0x0000000f] HDR 200140c0 subch 2 NINC
	mthd 0300 unknown method
		.VALUE = 0x0

nouveau: kernel rejected pushbuf: Invalid argument
nouveau: ch17: krec 0 pushes 1 bufs 0 relocs 0
fish: Job 1, 'mpv  --hwdec=vaapi  Videos/Farg…' terminated by signal SIGSEGV (Address boundary error)

In dmesg i get the following logs when i run mpv with vaapi:

[ 6205.947312] nouveau 0000:01:00.0: gr: TRAP ch 16 [007f4d1000 vo[40633]]
[ 6205.947335] nouveau 0000:01:00.0: gr: GPC0/PROP trap: 00000020 [RT_HEIGHT_OVERRUN] x = 0, y = 16, format = 37, storage type = 0
[ 6205.947388] nouveau 0000:01:00.0: gr: TRAP ch 16 [007f4d1000 vo[40633]]
[ 6205.947407] nouveau 0000:01:00.0: gr: GPC0/PROP trap: 00000020 [RT_HEIGHT_OVERRUN] x = 0, y = 16, format = 37, storage type = 0
[ 6205.983302] nouveau 0000:01:00.0: gr: TRAP ch 16 [007f4d1000 vo[40633]]
[ 6205.983324] nouveau 0000:01:00.0: gr: GPC0/PROP trap: 00000010 [RT_WIDTH_OVERRUN] x = 128, y = 0, format = 37, storage type = 0
[ 6205.983352] nouveau 0000:01:00.0: gr: TRAP ch 16 [007f4d1000 vo[40633]]
[ 6205.983368] nouveau 0000:01:00.0: gr: GPC0/PROP trap: 00000030 [RT_WIDTH_OVERRUN RT_HEIGHT_OVERRUN] x = 240, y = 96, format = 37, storage type = 0
[ 6205.983394] nouveau 0000:01:00.0: gr: TRAP ch 16 [007f4d1000 vo[40633]]
[ 6205.983409] nouveau 0000:01:00.0: gr: GPC0/PROP trap: 00000030 [RT_WIDTH_OVERRUN RT_HEIGHT_OVERRUN] x = 640, y = 160, format = 37, storage type = 0
[ 6205.983436] nouveau 0000:01:00.0: gr: TRAP ch 16 [007f4d1000 vo[40633]]
[ 6205.983451] nouveau 0000:01:00.0: gr: GPC0/PROP trap: 00000030 [RT_WIDTH_OVERRUN RT_HEIGHT_OVERRUN] x = 1856, y = 240, format = 37, storage type = 0
[ 6205.983477] nouveau 0000:01:00.0: gr: TRAP ch 16 [007f4d1000 vo[40633]]
[ 6205.983493] nouveau 0000:01:00.0: gr: GPC0/PROP trap: 00000030 [RT_WIDTH_OVERRUN RT_HEIGHT_OVERRUN] x = 800, y = 304, format = 37, storage type = 0
[ 6205.983520] nouveau 0000:01:00.0: gr: TRAP ch 16 [007f4d1000 vo[40633]]
[ 6205.983535] nouveau 0000:01:00.0: gr: GPC0/PROP trap: 00000030 [RT_WIDTH_OVERRUN RT_HEIGHT_OVERRUN] x = 272, y = 368, format = 37, storage type = 0
[ 6205.983560] nouveau 0000:01:00.0: gr: TRAP ch 16 [007f4d1000 vo[40633]]
[ 6205.983576] nouveau 0000:01:00.0: gr: GPC0/PROP trap: 00000030 [RT_WIDTH_OVERRUN RT_HEIGHT_OVERRUN] x = 1520, y = 448, format = 37, storage type = 0
[ 6205.983603] nouveau 0000:01:00.0: gr: TRAP ch 16 [007f4d1000 vo[40633]]
[ 6205.983618] nouveau 0000:01:00.0: gr: GPC0/PROP trap: 00000010 [RT_WIDTH_OVERRUN] x = 192, y = 0, format = 2e, storage type = 0
[ 6205.983644] nouveau 0000:01:00.0: gr: TRAP ch 16 [007f4d1000 vo[40633]]
[ 6205.983660] nouveau 0000:01:00.0: gr: GPC0/PROP trap: 00000030 [RT_WIDTH_OVERRUN RT_HEIGHT_OVERRUN] x = 912, y = 128, format = 2e, storage type = 0
[ 6205.988173] nouveau 0000:01:00.0: fifo: fault 00 [READ] at 0000000000278000 engine 10 [MSVLD] client 0d [HUB/MSVLD] reason 05 [PRIV_VIOLATION] on channel 17 [007f4cf000 av:h264:df0[40646]]
[ 6205.988183] nouveau 0000:01:00.0: fifo:000003:0011:[av:h264:df0[40646]] rc scheduled
[ 6205.988187] nouveau 0000:01:00.0: fifo:000003: rc scheduled
[ 6205.988251] nouveau 0000:01:00.0: fifo:000003:0011:0011:[av:h264:df0[40646]] errored - disabling channel
[ 6205.988258] nouveau 0000:01:00.0: vo[40608]: channel 17 killed!
[ 6205.989478] nouveau 0000:01:00.0: vo[40608]: push 0 buffer not in list
[ 6205.989497] av:h264:df1[40647]: segfault at 7f8800000000 ip 00007f6f957c1847 sp 00007f6f897f4b40 error 4 in libgallium-25.3.3-arch1.2.so[bc1847,7f6f94c1a000+1ddd000] likely on CPU 4 (core 2, socket 0)
[ 6205.989506] Code: 00 00 00 41 8b 45 00 48 8b 55 90 be 02 00 00 00 4c 8d 05 e4 dd 28 01 49 8b 5d 08 4d 8b 65 10 48 8d 04 80 45 8b 4d 00 8b 4d 84 <4c> 8b 14 c2 4a 8d 04 23 48 8d 15 12 51 30 01 48 8b 3d 33 26 4c 02
[ 6205.994619] nouveau 0000:01:00.0: gr: TRAP ch 16 [007f4d1000 vo[40633]]
[ 6205.994637] nouveau 0000:01:00.0: gr: GPC0/PROP trap: 00000010 [RT_WIDTH_OVERRUN] x = 128, y = 0, format = 37, storage type = 0
[ 6205.994661] nouveau 0000:01:00.0: gr: TRAP ch 16 [007f4d1000 vo[40633]]
[ 6205.994674] nouveau 0000:01:00.0: gr: GPC0/PROP trap: 00000030 [RT_WIDTH_OVERRUN RT_HEIGHT_OVERRUN] x = 1328, y = 80, format = 37, storage type = 0
[ 6205.994697] nouveau 0000:01:00.0: gr: TRAP ch 16 [007f4d1000 vo[40633]]
[ 6205.994709] nouveau 0000:01:00.0: gr: GPC0/PROP trap: 00000030 [RT_WIDTH_OVERRUN RT_HEIGHT_OVERRUN] x = 1760, y = 144, format = 37, storage type = 0
[ 6205.994732] nouveau 0000:01:00.0: gr: TRAP ch 16 [007f4d1000 vo[40633]]
[ 6205.994752] nouveau 0000:01:00.0: gr: GPC0/PROP trap: 00000030 [RT_WIDTH_OVERRUN RT_HEIGHT_OVERRUN] x = 1424, y = 192, format = 37, storage type = 0
[ 6205.994775] nouveau 0000:01:00.0: gr: TRAP ch 16 [007f4d1000 vo[40633]]
[ 6205.994787] nouveau 0000:01:00.0: gr: GPC0/PROP trap: 00000030 [RT_WIDTH_OVERRUN RT_HEIGHT_OVERRUN] x = 1344, y = 272, format = 37, storage type = 0
[ 6205.994833] nouveau 0000:01:00.0: gr: TRAP ch 16 [007f4d1000 vo[40633]]
[ 6205.994847] nouveau 0000:01:00.0: gr: GPC0/PROP trap: 00000030 [RT_WIDTH_OVERRUN RT_HEIGHT_OVERRUN] x = 416, y = 336, format = 37, storage type = 0
[ 6205.994870] nouveau 0000:01:00.0: gr: TRAP ch 16 [007f4d1000 vo[40633]]
[ 6205.994882] nouveau 0000:01:00.0: gr: GPC0/PROP trap: 00000030 [RT_WIDTH_OVERRUN RT_HEIGHT_OVERRUN] x = 1328, y = 432, format = 37, storage type = 0
[ 6205.994904] nouveau 0000:01:00.0: gr: TRAP ch 16 [007f4d1000 vo[40633]]
[ 6205.994916] nouveau 0000:01:00.0: gr: GPC0/PROP trap: 00000030 [RT_WIDTH_OVERRUN RT_HEIGHT_OVERRUN] x = 1856, y = 480, format = 37, storage type = 0
[ 6205.994941] nouveau 0000:01:00.0: gr: TRAP ch 16 [007f4d1000 vo[40633]]
[ 6205.994955] nouveau 0000:01:00.0: gr: GPC0/PROP trap: 00000030 [RT_WIDTH_OVERRUN RT_HEIGHT_OVERRUN] x = 736, y = 64, format = 2e, storage type = 0
[ 6205.994980] nouveau 0000:01:00.0: gr: TRAP ch 16 [007f4d1000 vo[40633]]
[ 6205.994995] nouveau 0000:01:00.0: gr: GPC0/PROP trap: 00000030 [RT_WIDTH_OVERRUN RT_HEIGHT_OVERRUN] x = 368, y = 192, format = 2e, storage type = 0
[ 6225.275900] nouveau 0000:01:00.0: vo[40608]: failed to idle channel 19 [vo[40608]]
[ 6225.284078] nouveau 0000:01:00.0: fifo: fault 00 [READ] at 0000000001296000 engine 09 [HOST2] client 06 [HUB/HOST] reason 02 [PTE] on channel 19 [007f4cd000 av:h264:df0[40646]]
[ 6225.284159] nouveau 0000:01:00.0: fifo:000002:0013:[av:h264:df0[40646]] rc scheduled
[ 6225.284198] nouveau 0000:01:00.0: fifo:000002: rc scheduled
[ 6240.286843] nouveau 0000:01:00.0: vo[40608]: failed to idle channel 18 [vo[40608]]

The driver seems to segfault. Any idea why?

Offline

#2 2026-01-17 00:31:36

sigurd4
Member
Registered: 2025-03-07
Posts: 4

Re: VA-API with nouveau. Kernel rejected pushbuf: invalid argument

Figured out i can set `LIBVA_DRIVER_NAME=va_gl` to use vdpau-va-gl drivers as a workaround instead of nouveau for VA-API.

Offline

Board footer

Powered by FluxBB