Bug 1123536
Summary: | Cannot play video with VA-API acceleration in a Wayland session | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Adam Williamson <awilliam> |
Component: | gstreamer1-plugins-good | Assignee: | Wim Taymans <wtaymans> |
Status: | CLOSED EOL | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | medium | Docs Contact: | |
Priority: | unspecified | ||
Version: | 25 | CC: | amit, amit.shah, andrew, baptiste.millemathias, bdpepple, cschalle, esm, fabrice, fedora, fedora, fulminemizzega, intrigeri, joe, koesterreich, kwizart, leho, michael, nexfwall, ofourdan, pachoramos1, peljasz, rdieter, rockonthemoonfm, s.gendre, simon, uraeus, wtaymans |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | x86_64 | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2017-12-12 10:15:46 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | |||
Bug Blocks: | 1277927 | ||
Attachments: |
Description
Adam Williamson
2014-07-26 02:23:31 UTC
Would you mind retesting with newer versions of the stack? Also, is totem running via XWayland, or has it been ported to Wayland native? I've tried to repro this myself, but I cannot get GNOME Shell to run a Wayland session for me, nor can I persuade the system to give me anything useful for a bug report - ABRT won't let me report it, saying that it can't get a backtrace, and I'm getting a SEGV on login. I suspect, given what I've read elsewhere, that I'm facing issues with multiple monitors (and I need the VGA working, even if the LVDS is ignored - I can't just unplug the only screen I can see). Yep, still doesn't work. Totem is running via XWayland by default; trying to run it with GDK_BACKEND=wayland causes it to abort with a Clutter 'Unsupported backend' error. Trying to play a video with gstreamer1-vaapi installed results in Totem reporting a "General stream error". Once I locate General Stream I'll have him explain himself... Hi! I see the same problem, that seems to be related to a format negotiation problem in the gst pipeline between the cluttersink and the vaapidecode elements, when vaaapidecode element pushes RGBA format. Everything works fine when the format is I420. I'm not using Wayland. -> this example fails: gst-launch-1.0 -v playbin uri=http://samples.mplayerhq.hu/V-codecs/h264/NeroAVC.mp4 video-sink=cluttersink -> this one works: gst-launch-1.0 -v playbin uri=http://samples.mplayerhq.hu/MPEG2/interlaced/burosch1.mpg video-sink=cluttersink Created attachment 950668 [details]
gstreamer pipeline corresponding to the error
Thanks for the analysis, Fabrice. It makes it obvious that this is an upstream bug; reported upstream at https://bugzilla.gnome.org/show_bug.cgi?id=739530 Hi! This may be related to this bug instead : https://bugzilla.gnome.org/show_bug.cgi?id=720345 I made test rpms with the two patches suggested in this bug report: http://fr2.rpmfind.net/linux/local/fedora/21/source/SRPMS/gstreamer1-plugins-good-1.4.2-1.1.fc21.src.rpm http://fr2.rpmfind.net/linux/local/fedora/21/x86_64/os/Packages/gstreamer1-plugins-good-1.4.2-1.1.fc21.x86_64.rpm http://fr2.rpmfind.net/linux/local/fedora/21/x86_64/os/Packages/gstreamer1-plugins-good-extras-1.4.2-1.1.fc21.x86_64.rpm (In reply to Fabrice Bellet from comment #6) > Hi! > > This may be related to this bug instead : > https://bugzilla.gnome.org/show_bug.cgi?id=720345 This patch is about gstreamer1-plugins-good, re-assigning. @Fabrice, if can you send a diff of your patch against the current gstreamer1-plugins-good package to help maintainer review... Thx BTW, we are in the middle of rebasing vaapi to 0.36 to help tracking libva 1.4.x branch which is still maintained. (f21 only). Created attachment 954047 [details] videobalance: Allow ANY capsfeatures, but only in passthrough mode http://cgit.freedesktop.org/gstreamer/gst-plugins-good/commit/?id=a9eda81978f1f956c258bccde10df42c45075c0d Created attachment 954048 [details] videobalance: Allow any raw caps in passthrough mode, not just the ones we handle http://cgit.freedesktop.org/gstreamer/gst-plugins-good/commit/?id=0911307d7d1150e1d01bfc8d41707dcfdc1000ab Created attachment 954052 [details]
patch to the spec file
The two patches cleanly apply to 1.4.2.
Is the issue fixed with wayland users ? Oh, sorry, didn't notice that...I'll try and find a minute to test... This message is a reminder that Fedora 21 is nearing its end of life. Approximately 4 (four) weeks from now Fedora will stop maintaining and issuing updates for Fedora 21. It is Fedora's policy to close all bug reports from releases that are no longer maintained. At that time this bug will be closed as EOL if it remains open with a Fedora 'version' of '21'. Package Maintainer: If you wish for this bug to remain open because you plan to fix it in a currently maintained version, simply change the 'version' to a later Fedora version. Thank you for reporting this issue and we are sorry that we were not able to fix it before Fedora 21 is end of life. If you would still like to see this bug fixed and are able to reproduce it against a later version of Fedora, you are encouraged change the 'version' to a later Fedora version prior this bug is closed as described in the policy above. Although we aim to fix as many bugs as possible during every release's lifetime, sometimes those efforts are overtaken by events. Often a more recent Fedora release includes newer upstream software that fixes bugs or makes them obsolete. Still valid with 23. With or without GDK_BACKEND=wayland , the app runs with no errors and the video timer counts down, but the screen is black and no sound is played. After removing gstreamer1-vaapi , the video plays normally. Reproduced also despite this doesn't look specific to wayland this time (F23 Workstation with waylandenable=false in /etc/gdm/custom.conf). vlc works fine (from 40% cpu with hw decode disabled -> 10 %cpu load with vaapi enabled, both with wayland and xorg.) nic: what's written in /etc/gdm/custom.conf is only about how GDM runs. Did you start the plain 'GNOME Shell' session or the 'GNOME Shell on Wayland' session? Having said that, I haven't checked whether it works in X on F23 my laptop yet, I'll check that. OK, indeed, it doesn't work right on X for me either. But it breaks a bit differently, it seems. On X, the screen is black and the timer counts down as on Wayland, but the sound plays (on Wayland it does not, for me). I also see a console error: Cogl-WARNING **: driver/gl/cogl-framerbuffer-gl.c:157: GL error (1280): Invalid enumeration value (In reply to awilliam from comment #17) > OK, indeed, it doesn't work right on X for me either. But it breaks a bit > differently, it seems. On X, the screen is black and the timer counts down > as on Wayland, but the sound plays (on Wayland it does not, for me). I also > see a console error: > > Cogl-WARNING **: driver/gl/cogl-framerbuffer-gl.c:157: GL error (1280): > Invalid enumeration value Hi, I'm experiencing the same issue in F23. On F22 gstreamer1-vaapi was working with totem (Gnome on X session), now after the upgrade totem displays a black screen and plays first 13s of audio from video clip, then "pauses", without crashing or any error in logs. This is the output from totem: libva info: VA-API version 0.38.0 libva info: va_getDriverName() returns 0 libva info: Trying to open /usr/lib64/dri/i965_drv_video.so libva info: Found init function __vaDriverInit_0_38 libva info: va_openDriver() returns 0 (totem:4561): Cogl-WARNING **: driver/gl/cogl-framebuffer-gl.c:983: GL error (1280): Invalid enumeration value GPU is intel HD 4600, vlc works fine with VAAPI. Totem version is 1:3.18.1-1.fc23, gstreamer1-vaapi version is 0.6.1-1.fc23. Should this be reported as a new bug report? Is there any other useful information I can provide? Yes, it seems that this was the right bug report, this looks like it's more related to the issue in the last comments https://bugzilla.redhat.com/show_bug.cgi?id=1266629 I also see this problem: # vainfo error: XDG_RUNTIME_DIR not set in the environment. No protocol specified error: can't connect to X server! libva info: VA-API version 0.38.0 libva info: va_getDriverName() returns 0 libva info: Trying to open /usr/lib64/dri/i965_drv_video.so libva info: Found init function __vaDriverInit_0_38 libva info: va_openDriver() returns 0 vainfo: VA-API version: 0.38 (libva 1.6.1) vainfo: Driver version: Intel i965 driver for Intel(R) Ivybridge Mobile - 1.6.1 vainfo: Supported profile and entrypoints VAProfileMPEG2Simple : VAEntrypointVLD VAProfileMPEG2Simple : VAEntrypointEncSlice VAProfileMPEG2Main : VAEntrypointVLD VAProfileMPEG2Main : VAEntrypointEncSlice VAProfileH264ConstrainedBaseline: VAEntrypointVLD VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice VAProfileH264Main : VAEntrypointVLD VAProfileH264Main : VAEntrypointEncSlice VAProfileH264High : VAEntrypointVLD VAProfileH264High : VAEntrypointEncSlice VAProfileH264StereoHigh : VAEntrypointVLD VAProfileVC1Simple : VAEntrypointVLD VAProfileVC1Main : VAEntrypointVLD VAProfileVC1Advanced : VAEntrypointVLD VAProfileNone : VAEntrypointVideoProc VAProfileJPEGBaseline : VAEntrypointVLD but also gnome non-wayland, and also with AMD hardware fail totem same way. furthermore, I don't see totem make use of vdpau(unless I'm missing something, having installed: gstreamer1-plugins-bad-free-1.6.1-2.fc23.x86_64 - totem max out CPU and struggles to play 1080p at 4K TV, whereas Kodi is smooth. I think I'm seeing this on Fedora 23 with Firefox, trying to play back video freezes the entire system for several seconds and I see this in journalctl: Dec 05 20:48:04 enoch firefox.desktop[31142]: libva info: va_getDriverName() returns 0 Dec 05 20:48:04 enoch firefox.desktop[31142]: libva info: Trying to open /usr/lib64/dri/i965_drv_video.so Dec 05 20:48:04 enoch firefox.desktop[31142]: libva info: va_openDriver() returns -1 Dec 05 20:48:24 enoch firefox.desktop[31142]: libva info: VA-API version 0.38.0 Dec 05 20:48:24 enoch firefox.desktop[31142]: libva info: va_getDriverName() returns 0 Dec 05 20:48:24 enoch firefox.desktop[31142]: libva info: Trying to open /usr/lib64/dri/i965_drv_video.so Dec 05 20:48:24 enoch firefox.desktop[31142]: libva info: va_openDriver() returns -1 Dec 05 20:48:24 enoch firefox.desktop[31142]: libva info: VA-API version 0.38.0 Dec 05 20:48:24 enoch firefox.desktop[31142]: libva info: va_getDriverName() returns 0 Dec 05 20:48:24 enoch firefox.desktop[31142]: libva info: Trying to open /usr/lib64/dri/i965_drv_video.so Dec 05 20:48:24 enoch firefox.desktop[31142]: libva info: va_openDriver() returns -1 bug still persist with Mesa 11.2.0 Gstreamer 1.8.0 Intel GMA Broadwell driver 2.99.917+587+gc186d4d-1 gnome shell 3.20 wayland 1.10.0 with Intel DRI3 enabled, crash gets worse (freeze) with Intel DRI3 enabled, Totem crashes also under xorg Totem+vaapi works only in xorg session, DRI2 (Arch Linux) I do not know, if my problem related to this bug, but I will ask here first. I can not get VAAPI-accelerated videos playing on Wayland session too. They does not play in Totem, and in Firefox too on Wayland. Here is my configuration: Fedora 24 with GNOME 3.20, Gstreamer 1.8.0, Mesa 11.2-devel.... (from Fedora repos) gstreamer1-vaapi - updated to 1.8 and built myself, because version 0.6.1 has that Cogl bug. gstreamer1-libav - taken from rpmfusion, and updated to 1.8. AMD E-350, with Radeon HD 6310M. DRI3 enabled in Xorg. LIBVA_DRIVER_NAME=gallium as Default Environment variable set in systemd user.conf (so vaapi will work on gallium, without that "missing driver" errors). On X session, totem and Firefox plays MP4 videos correctly, using hardware acceleration with gstreamer. On Wayland session: If I try to play MP4 video using totem with gstreamer1-vaapi installed: $ totem somevideo.mp4 libva info: VA-API version 0.39.0 libva info: va_getDriverName() returns 0 libva info: Trying to open /usr/lib64/dri/gallium_drv_video.so libva info: Found init function __vaDriverInit_0_39 libva error: /usr/lib64/dri/gallium_drv_video.so init failed libva info: va_openDriver() returns 20 libva info: VA-API version 0.39.0 libva info: va_getDriverName() returns -1 libva error: va_getDriverName() failed with unknown libva error,driver_name=(null) libva info: VA-API version 0.39.0 libva info: va_getDriverName() returns -1 libva error: va_getDriverName() failed with unknown libva error,driver_name=(null) libva info: VA-API version 0.39.0 libva info: va_getDriverName() returns 0 libva info: Trying to open /usr/lib64/dri/gallium_drv_video.so libva info: Found init function __vaDriverInit_0_39 libva info: va_openDriver() returns 0 (totem:18373): Gtk-WARNING **: Drawing a gadget with negative dimensions. Did you forget to allocate a size? (node slider owner GtkScale) When, I remove gstreamer1-vaapi, and video plays correctly. Now Firefox (gstreamer enabled, ffmpeg disabled, hardware acceleration enabled): $ firefox 12277 1455 libva info: VA-API version 0.39.0 libva info: va_getDriverName() returns 0 libva info: Trying to open /usr/lib64/dri/gallium_drv_video.so libva info: Found init function __vaDriverInit_0_39 libva error: /usr/lib64/dri/gallium_drv_video.so init failed libva info: va_openDriver() returns 20 libva info: VA-API version 0.39.0 libva info: va_getDriverName() returns -1 libva error: va_getDriverName() failed with unknown libva error,driver_name=(null) libva info: VA-API version 0.39.0 libva info: va_getDriverName() returns -1 libva error: va_getDriverName() failed with unknown libva error,driver_name=(null) libva info: VA-API version 0.39.0 libva info: va_getDriverName() returns 0 libva info: Trying to open /usr/lib64/dri/gallium_drv_video.so libva info: Found init function __vaDriverInit_0_39 libva info: va_openDriver() returns 0 ** (firefox:19777): WARNING **: failed to destroy image 0x2 ** (firefox:19777): WARNING **: failed to destroy image 0x2 ** (firefox:19777): WARNING **: failed to destroy image 0x2 ** (firefox:19777): WARNING **: failed to destroy image 0x2 ** (firefox:19777): WARNING **: failed to destroy image 0x2 ** (firefox:19777): WARNING **: failed to destroy image 0x2 ** (firefox:19777): WARNING **: failed to destroy image 0x2 ** (firefox:19777): WARNING **: failed to destroy image 0x2 ** (firefox:19777): WARNING **: failed to destroy image 0x2 ** (firefox:19777): WARNING **: failed to destroy image 0x2 ** (firefox:19777): WARNING **: failed to destroy image 0x2 ** (firefox:19777): WARNING **: failed to destroy image 0x2 ** (firefox:19777): WARNING **: failed to destroy image 0xf ** (firefox:19777): WARNING **: failed to destroy image 0xf ** (firefox:19777): WARNING **: failed to destroy image 0xf ** (firefox:19777): WARNING **: failed to destroy image 0xf ** (firefox:19777): WARNING **: failed to destroy image 0xf ** (firefox:19777): WARNING **: failed to destroy image 0xf ** (firefox:19777): WARNING **: failed to destroy image 0xf ** (firefox:19777): WARNING **: failed to destroy image 0xf ** (firefox:19777): WARNING **: failed to destroy image 0x2 ** (firefox:19777): WARNING **: failed to destroy image 0x1d ** (firefox:19777): WARNING **: failed to destroy image 0x1f And there is slideshow instead of video. Audio plays correctly. Without gstreamer1-vaapi - all OK. With gstreamer disabled, but ffmpeg enabled and gstreamer1-vaapi installed - all OK too. (There is no libva output, so I suspect, there is no hardware acceleration) So, is this related to this bug? If yes, when this is confirmation what this bug is reproducible on Fedora 24. Also, the link to GNOME Bugzilla bug is outdated. That bug was closed as duplicate bug. Excuse me. I have just looked into mesa source code, and figured out myself. My problem is not related to this bug. This is gallium just still does not implemented VAAPI support on WAYLAND. https://cgit.freedesktop.org/mesa/mesa/tree/src/gallium/state_trackers/va/context.c#n119 Sorry for useless mail notifications about me. I believe this bug should be marked as verified as I've seen this too. It's also verified by the code link posted in previous comment (if you go back to version 11.2). It should also be noted that this should be fixed when Fedora switches to Mesa 12.0. there is no meaningful such status in RHBZ. the 'VERIFIED' state comes after 'ON_QA' and means 'someone's tested that the update submitted to fix this bug actually does fix it'. Theoretically, per https://fedoraproject.org/wiki/BugZappers/BugStatusWorkFlow , 'ASSIGNED' can be used vs. 'NEW' to indicate a 'confirmed' bug, but in practice no-one is paying any attention to this. No-one's fixing this because we don't really know how. No-one working at the Fedora level is a libva/vaapi developer, and this bug isn't in the Fedora packaging of it (AFAIK). If anything it might be better to report to upstream libva. (In reply to Joe Tennies from comment #26) > I believe this bug should be marked as verified as I've seen this too. It's > also verified by the code link posted in previous comment (if you go back to > version 11.2). It should also be noted that this should be fixed when Fedora > switches to Mesa 12.0. If you are talking about MY problem, it's still not fixed. https://bugs.freedesktop.org/show_bug.cgi?id=96350 Still present on Fedora 25 as in comment #0. Please change the version info accordingly. (In reply to Egor Zaharov from comment #28) > (In reply to Joe Tennies from comment #26) > > I believe this bug should be marked as verified as I've seen this too. It's > > also verified by the code link posted in previous comment (if you go back to > > version 11.2). It should also be noted that this should be fixed when Fedora > > switches to Mesa 12.0. > > If you are talking about MY problem, it's still not fixed. > > https://bugs.freedesktop.org/show_bug.cgi?id=96350 Same here: not fixed with Mesa 12.0.3 This message is a reminder that Fedora 23 is nearing its end of life. Approximately 4 (four) weeks from now Fedora will stop maintaining and issuing updates for Fedora 23. It is Fedora's policy to close all bug reports from releases that are no longer maintained. At that time this bug will be closed as EOL if it remains open with a Fedora 'version' of '23'. Package Maintainer: If you wish for this bug to remain open because you plan to fix it in a currently maintained version, simply change the 'version' to a later Fedora version. Thank you for reporting this issue and we are sorry that we were not able to fix it before Fedora 23 is end of life. If you would still like to see this bug fixed and are able to reproduce it against a later version of Fedora, you are encouraged change the 'version' to a later Fedora version prior this bug is closed as described in the policy above. Although we aim to fix as many bugs as possible during every release's lifetime, sometimes those efforts are overtaken by events. Often a more recent Fedora release includes newer upstream software that fixes bugs or makes them obsolete. New upstream: https://bugzilla.gnome.org/show_bug.cgi?id=742924 Please change version number to 25. Still not fixed in Fedora 26. I don't understand why this isn't getting more attention, this is one of those small bugs which make using Wayland painful sometimes. On Fedora 27 with gstreamer1-vaapi-1.12.3-1.fc27.x86_64 libva, libva-intel-driver 1.8.3-3.fc27.x86_64 mesa 17.2.3-1.fc27.x86_64 this issue is still present. Please change the version number accordingly. Note: The situation improved a bit, but there is still a list of upstream bugs on this matter: https://bugzilla.gnome.org/buglist.cgi?quicksearch=component%3Agstreamer-vaapi%20product%3A%22GStreamer%22%20wayland&list_id=259026 This message is a reminder that Fedora 25 is nearing its end of life. Approximately 4 (four) weeks from now Fedora will stop maintaining and issuing updates for Fedora 25. It is Fedora's policy to close all bug reports from releases that are no longer maintained. At that time this bug will be closed as EOL if it remains open with a Fedora 'version' of '25'. Package Maintainer: If you wish for this bug to remain open because you plan to fix it in a currently maintained version, simply change the 'version' to a later Fedora version. Thank you for reporting this issue and we are sorry that we were not able to fix it before Fedora 25 is end of life. If you would still like to see this bug fixed and are able to reproduce it against a later version of Fedora, you are encouraged change the 'version' to a later Fedora version prior this bug is closed as described in the policy above. Although we aim to fix as many bugs as possible during every release's lifetime, sometimes those efforts are overtaken by events. Often a more recent Fedora release includes newer upstream software that fixes bugs or makes them obsolete. Fedora 25 changed to end-of-life (EOL) status on 2017-12-12. Fedora 25 is no longer maintained, which means that it will not receive any further security or bug fix updates. As a result we are closing this bug. If you can reproduce this bug against a currently maintained version of Fedora please feel free to reopen this bug against that version. If you are unable to reopen this bug, please file a new report against the current release. If you experience problems, please add a comment to this bug. Thank you for reporting this bug and we are sorry it could not be fixed. |