Bug 75464 - [nv4e] [vdpau] causes hangs
Summary: [nv4e] [vdpau] causes hangs
Status: NEW
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/nouveau (show other bugs)
Version: git
Hardware: Other All
: medium normal
Assignee: Nouveau Project
QA Contact: Xorg Project Team
URL:
Whiteboard:
Keywords:
: 80145 (view as bug list)
Depends on:
Blocks:
 
Reported: 2014-02-24 19:54 UTC by Ronald
Modified: 2018-03-03 20:56 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ronald 2014-02-24 19:54:35 UTC
I saw this on IRC:

10:59 #nouveau: < mupuf> ok
11:00 #nouveau: < blackiner> imirkin: i know you were messing around a bit on nv4x video decoding stuff a bit back, did you have any patches that would have affected a nv43 recently?
11:00 #nouveau: < blackiner> just tried out arch on my other machine, any vdpau video seems to freeze the machine on it
11:01 #nouveau: < blackiner> but xv works fine
11:01 #nouveau: < imirkin> blackiner: there is no vdpau support for nv4x. there is xvmc support however.
11:01 #nouveau: < imirkin> blackiner: i do think that some distros recently started including libvdpau_nouveau.so though
11:01 #nouveau: < imirkin> which is probably why you've just started seeing issues
11:01 #nouveau: < blackiner> yeah it seems to install all the vdpau stuff by default
11:02 #nouveau: < imirkin> it's probably the case that vdpau is somehow broken for nv4x
11:02 #nouveau: < imirkin> there's definitely no video decoding support in there
11:02 #nouveau: < blackiner> I wonder if there is some init function somewhere where it should just tell vdpau: No, not possible, please go away
11:02 #nouveau: < imirkin> but the presentation layer probably tries to do some timing thing
11:02 #nouveau: < imirkin> and i've seen the timer stuff be broken on nv4x
11:02 #nouveau: < imirkin> well, i added that for nv3x
11:03 #nouveau: < imirkin> (well, i added a requirement for NPOT textures) 

And I saw this in my dmesg with flash:

[14826.835439] nouveau E[  PGRAPH][0000:00:05.0]  ERROR nsource: DATA_ERROR nstatus: BAD_ARGUMENT
[14826.835480] nouveau E[  PGRAPH][0000:00:05.0] ch 3 [0x00056000 plugin-containe[15953]] subc 7 class 0x4497 mthd 0x020
8 data 0x00000120
[14826.835832] nouveau E[  PGRAPH][0000:00:05.0]  ERROR nsource: DATA_ERROR nstatus: BAD_ARGUMENT
[14826.836292] nouveau E[  PGRAPH][0000:00:05.0] ch 3 [0x00056000 plugin-containe[15953]] subc 7 class 0x4497 mthd 0x020
8 data 0x00000120
[14826.836355] nouveau E[  PGRAPH][0000:00:05.0]  ERROR nsource: DATA_ERROR nstatus: BAD_ARGUMENT
[14826.836973] nouveau E[  PGRAPH][0000:00:05.0] ch 3 [0x00056000 plugin-containe[15953]] subc 7 class 0x4497 mthd 0x0208 data 0x00000120
[14826.837046] nouveau E[  PGRAPH][0000:00:05.0]  ERROR nsource: DATA_ERROR nstatus: BAD_ARGUMENT
[14826.837607] nouveau E[  PGRAPH][0000:00:05.0] ch 3 [0x00056000 plugin-containe[15953]] subc 7 class 0x4497 mthd 0x0208 data 0x00000120
[14826.837724] nouveau E[  PGRAPH][0000:00:05.0]  ERROR nsource: DATA_ERROR nstatus: BAD_ARGUMENT
[14826.838284] nouveau E[  PGRAPH][0000:00:05.0] ch 3 [0x00056000 plugin-containe[15953]] subc 7 class 0x4497 mthd 0x0208 data 0x00000120

I think this issue crashed my machine as I was opening something in Youtube. The relevant output was this:

feb 24 13:39:00 Charlie kernel: nouveau E[plugin-containe[28001]] failed to idle channel 0xcccc0000 [plugin-containe[2
feb 24 13:39:15 Charlie kernel: [sched_delayed] sched: RT throttling activated
feb 24 13:39:15 Charlie kernel: nouveau E[plugin-containe[28001]] failed to idle channel 0xcccc0000 [plugin-containe[2
feb 24 13:42:18 Charlie kernel: nouveau E[  X[832]] failed to idle channel 0xcccc0000 [X[832]]
feb 24 13:42:18 Charlie kernel: nouveau E[  X[832]] failed to idle channel 0xcccc0000 [X[832]]
Comment 1 Ilia Mirkin 2014-02-24 20:03:38 UTC
I think the right move here is to just disable nv4x in vdpau entirely until somehow has time to take a look at what's going on. VDPAU doesn't provide hw decoding for nv4x anyways at this point, and the presentation stuff isn't _that_ useful when you don't have the video decoding bits.

Unfortunately I'm not quite sure how to do that... should vdpau-nouveau/target.c look at the returned screen, cast it to a nouveau_screen and check the chipset? Not sure if that'd be considered an abstraction violation. Also unsure what one could add to st/vdpau for this, as nv4x _should_ be able to support the presentation bits of vdpau, it just... doesn't.
Comment 2 Ilia Mirkin 2014-06-17 18:15:28 UTC
*** Bug 80145 has been marked as a duplicate of this bug. ***
Comment 3 Nick Lee 2018-03-03 20:56:17 UTC
Causes hangs when I seeking (pressing key left/right in mpv) with this error:

13:16:53.084345 zotac kernel: nouveau 0000:03:00.0: Xwayland[2069]: failed to idle channel 25 [Xwayland[2069]]
13:17:08.078712 zotac kernel: nouveau 0000:03:00.0: Xwayland[2069]: failed to idle channel 25 [Xwayland[2069]]
13:17:08.085015 zotac kernel: nouveau 0000:03:00.0: mspdec: intr 00000040
13:17:08.085548 zotac kernel: nouveau 0000:03:00.0: fb: trapped read at 0000000000 on channel 25 [0daa8000 Xwayland[2069]] engine 01 [PVP] client 0c [PVP] subclient 07 [] reason 0000000f [DMAOBJ_LIMIT]

mpv 0.27.2:
Using hardware decoding (vdpau).
VO: [vdpau] 1280x720 vdpau[yuv420p]
[vo/vdpau] Compositing window manager detected. Assuming timing info is inaccurate.

NVIDIA Corporation C79 [GeForce 9300 / nForce 730i] (rev b1)

kernel-4.16.0-0.rc3.git2.1.vanilla.knurd.1.fc27.x86_64
mesa-17.3.6

this happens a long time ago.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.