After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 756135 - black videos on i915 Intel driver
black videos on i915 Intel driver
Status: RESOLVED NOTABUG
Product: GStreamer
Classification: Platform
Component: gstreamer-vaapi
unspecified
Other Linux
: Normal major
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2015-10-06 18:12 UTC by Germano Massullo
Modified: 2017-03-14 15:47 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Germano Massullo 2015-10-06 18:12:16 UTC
Upstream bugreport of https://bugzilla.redhat.com/show_bug.cgi?id=1266629

Description of problem:
gstreamer1-vaapi causes HTML5 videos not being played correctly:you get a black video and you can only listen to the sound.
I tried on Firefox and on Konqueror using both WebKit and KHTML engine.
To solve the problem I had to uninstall gstreamer1-vaapi package.

Version-Release number of selected component (if applicable):
gstreamer1-vaapi-0.5.10-2.fc22.x86_64


The huge log of GST_DEBUG=*:6 firefox are available at address https://mega.nz/#F!JsA3BJyK!mYInqQzx1A9qimBYDNfy1w

Some infos coming from certain machines:

===Thinkpad X220===
# vainfo
libva info: VA-API version 0.37.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib64/dri/i965_drv_video.so
libva info: va_openDriver() returns -1
vaInitialize failed with error code -1 (unknown libva error),exit

# lspci -k | grep -iA 3 vga
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)
 Subsystem: Lenovo Device 21da
 Kernel driver in use: i915
 Kernel modules: i915


===Thinkpad L530===
# vainfo 
libva info: VA-API version 0.37.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib64/dri/i965_drv_video.so
libva info: va_openDriver() returns -1
vaInitialize failed with error code -1 (unknown libva error),exit


# lspci -k | grep -iA 3 vga
00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09)
        Subsystem: Lenovo Device 21f6
        Kernel driver in use: i915
        Kernel modules: i915
Comment 1 Germano Massullo 2015-10-06 20:01:32 UTC
I am sorry, I meant T530, not L530
Comment 2 Víctor Manuel Jáquez Leal 2015-10-07 09:02:46 UTC
Thanks for taking the time to reporting this issue.

(In reply to Germano Massullo from comment #0)
> ===Thinkpad X220===
> # vainfo
> libva info: VA-API version 0.37.0
> libva info: va_getDriverName() returns 0
> libva info: Trying to open /usr/lib64/dri/i965_drv_video.so
> libva info: va_openDriver() returns -1
> vaInitialize failed with error code -1 (unknown libva error),exit
> 
> ===Thinkpad L530===
> # vainfo 
> libva info: VA-API version 0.37.0
> libva info: va_getDriverName() returns 0
> libva info: Trying to open /usr/lib64/dri/i965_drv_video.so
> libva info: va_openDriver() returns -1
> vaInitialize failed with error code -1 (unknown libva error),exit

These messages are bad news: libva is not able to load i965_drv_video.so

if you could run 

$ LIBVA_TRACE=~/libva-vainfo vainfo

and the library is compiled with logging support, you might know the reason why it is not loading the library.

Now, gstreamer-vaapi should be able to abort and let the gstreamer playbin renegotiate a new decoder (the software one, usually) that might work. But I am not sure if that feature was already there in version 0.5.10.
Comment 3 Ting-Wei Lan 2015-10-07 13:05:28 UTC
I see black screen in Epiphany and green screen in Firefox, but Totem works fine. i965_drv_video.so can be successfully loaded.

Software versions:
gstreamer1-vaapi-0.6.1-1.fc22.x86_64
libdrm-2.4.65-1.fc22.x86_64
libva-1.6.1-1.fc22.x86_64
mesa-11.0.2-1.20151002.fc22.x86_64

$ vainfo
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) Ironlake Desktop - 1.6.1
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            :	VAEntrypointVLD
      VAProfileMPEG2Main              :	VAEntrypointVLD
      VAProfileH264ConstrainedBaseline:	VAEntrypointVLD
      VAProfileH264Main               :	VAEntrypointVLD
      VAProfileH264High               :	VAEntrypointVLD
      VAProfileNone                   :	VAEntrypointVideoProc

$ lspci -k | grep -iA 3 vga
00:02.0 VGA compatible controller: Intel Corporation Core Processor Integrated Graphics Controller (rev 12)
	Subsystem: ASUSTeK Computer Inc. Device 8383
	Kernel driver in use: i915
	Kernel modules: i915
Comment 4 Víctor Manuel Jáquez Leal 2015-10-07 13:14:10 UTC
(In reply to Ting-Wei Lan from comment #3)
> I see black screen in Epiphany and green screen in Firefox, but Totem works
> fine. i965_drv_video.so can be successfully loaded.

I suspect that is a different problem, perhaps related with bug #745660
Comment 5 Germano Massullo 2015-10-07 14:50:08 UTC
(In reply to Víctor Manuel Jáquez Leal from comment #2)
> Thanks for taking the time to reporting this issue.
> 
> These messages are bad news: libva is not able to load i965_drv_video.so
> 
> if you could run 
> 
> $ LIBVA_TRACE=~/libva-vainfo vainfo
> 
> and the library is compiled with logging support, you might know the reason
> why it is not loading the library.
> 
> Now, gstreamer-vaapi should be able to abort and let the gstreamer playbin
> renegotiate a new decoder (the software one, usually) that might work. But I
> am not sure if that feature was already there in version 0.5.10.

===Thinkpad T530===

# LIBVA_TRACE=~/libva-vainfo vainfo
libva info: LIBVA_TRACE is on, save log into /root/libva-vainfo.12379.00a6fcc0
libva info: VA-API version 0.37.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib64/dri/i965_drv_video.so
libva info: va_openDriver() returns -1
vaInitialize failed with error code -1 (unknown libva error),exit

# cat /root/libva-vainfo.12379.00a6fcc0
[12379.035419] ==========va_TraceInitialize
[12379.035456] ==========va_TraceTerminate
Comment 6 sreerenj 2015-10-07 15:34:56 UTC
(In reply to Víctor Manuel Jáquez Leal from comment #4)
> (In reply to Ting-Wei Lan from comment #3)
> > I see black screen in Epiphany and green screen in Firefox, but Totem works
> > fine. i965_drv_video.so can be successfully loaded.
> 
> I suspect that is a different problem, perhaps related with bug #745660

Just a note, it seems to be an Ironlake HW, older than SNB ;)
Comment 7 Germano Massullo 2015-11-01 21:45:45 UTC
I think the "need info" flag could be removed since I answered all questions
Comment 8 Víctor Manuel Jáquez Leal 2015-11-02 09:18:46 UTC
(In reply to Germano Massullo from comment #7)
> I think the "need info" flag could be removed since I answered all questions

Indeed.
Comment 9 Víctor Manuel Jáquez Leal 2015-11-05 10:05:25 UTC
By the way, what's the reply of this command in your setup

$ file /usr/lib64/dri/i965_drv_video.so

The question is why the VA library is unable to open the driver, what's failing.
Comment 10 Víctor Manuel Jáquez Leal 2015-11-19 16:26:37 UTC
Setting back to NEEDINFO, though, above all, this bug looks outside of the scope of gstreamer-vaapi, but a libva's one (or even the distribution) because, given the input, libva is unable to load the backend. It could be because of mismatched symbols, wrong ABI, etc.
Comment 11 fulminemizzega 2015-11-22 18:09:53 UTC
Hello, I'm experiencing a similar issue with totem, I also reported to https://bugzilla.redhat.com/show_bug.cgi?id=1123536 (check the last comments)
I'm experiencing this bug since I've upgraded to F23, check my comment in the bug report for version info. I don't know what version of gstreamer1-vaapi is now in F22. VLC works fine with VAAPI.

My vainfo output looks different from Germano's:

libva info: LIBVA_TRACE is on, save log into /home/edo/libva-vainfo.0893.556a6c0e9d30
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) Haswell 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
      VAProfileH264MultiviewHigh      :	VAEntrypointVLD
      VAProfileH264MultiviewHigh      :	VAEntrypointEncSlice
      VAProfileH264StereoHigh         :	VAEntrypointVLD
      VAProfileH264StereoHigh         :	VAEntrypointEncSlice
      VAProfileVC1Simple              :	VAEntrypointVLD
      VAProfileVC1Main                :	VAEntrypointVLD
      VAProfileVC1Advanced            :	VAEntrypointVLD
      VAProfileNone                   :	VAEntrypointVideoProc
      VAProfileJPEGBaseline           :	VAEntrypointVLD
      VAProfileH264MultiviewHigh      :	VAEntrypointVLD
      VAProfileH264MultiviewHigh      :	VAEntrypointEncSlice
      VAProfileH264StereoHigh         :	VAEntrypointVLD
      VAProfileH264StereoHigh         :	VAEntrypointEncSlice

trace file:
[0893.253381] ==========va_TraceInitialize
[0893.253986] ==========va_TraceTerminate

file /usr/lib64/dri/i965_drv_video.so :
/usr/lib64/dri/i965_drv_video.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=0b11133cf40c05629cf04c7a30952aa362f9bb18, stripped

Hardware is Toshiba l50-a-12w, GPU is Intel HD 4600.
uname -a:

Linux l50-a-12w 4.2.6-300.fc23.x86_64 #1 SMP Tue Nov 10 19:32:21 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

Is there any other info I could provide to help any further?
Comment 12 Víctor Manuel Jáquez Leal 2015-11-23 15:32:49 UTC
Hi,

(In reply to fulminemizzega from comment #11)
> Hello, I'm experiencing a similar issue with totem, I also reported to
> https://bugzilla.redhat.com/show_bug.cgi?id=1123536 (check the last comments)
> I'm experiencing this bug since I've upgraded to F23, check my comment in
> the bug report for version info. I don't know what version of
> gstreamer1-vaapi is now in F22. VLC works fine with VAAPI.
> 
> My vainfo output looks different from Germano's:

It is because your issue is a different problem.

The issue your are facing is described in bug 753099, judging from the log message you commented in https://bugzilla.redhat.com/show_bug.cgi?id=1123536 :

(totem:4561): Cogl-WARNING **: driver/gl/cogl-framebuffer-gl.c:983: GL error (1280): Invalid enumeration value
Comment 13 Germano Massullo 2015-11-27 15:08:52 UTC
(In reply to Víctor Manuel Jáquez Leal from comment #10)
> Setting back to NEEDINFO, though, above all, this bug looks outside of the
> scope of gstreamer-vaapi, but a libva's one (or even the distribution)
> because, given the input, libva is unable to load the backend. It could be
> because of mismatched symbols, wrong ABI, etc.

/usr/lib64/dri/i965_drv_video.so: cannot open `/usr/lib64/dri/i965_drv_video.so' (No such file or directory)
Comment 14 Germano Massullo 2015-11-27 15:25:50 UTC
(In reply to Germano Massullo from comment #13)
> (In reply to Víctor Manuel Jáquez Leal from comment #10)
> > Setting back to NEEDINFO, though, above all, this bug looks outside of the
> > scope of gstreamer-vaapi, but a libva's one (or even the distribution)
> > because, given the input, libva is unable to load the backend. It could be
> > because of mismatched symbols, wrong ABI, etc.
> 
> /usr/lib64/dri/i965_drv_video.so: cannot open
> `/usr/lib64/dri/i965_drv_video.so' (No such file or directory)

I forgot to say that Comment #13 is about Thinkpad X220




===== Thinkpad R500 =====
$ file /usr/lib64/dri/i965_drv_video.so
/usr/lib64/dri/i965_drv_video.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=251fa6b7cc6692bf90b5a86002213ed12c165fb8, stripped
Comment 15 sreerenj 2016-03-24 16:55:46 UTC
Moving to Product:GStreamer, Component:gstreamer-vaapi
Comment 16 Víctor Manuel Jáquez Leal 2017-03-14 15:47:41 UTC
This seems to be a problem in the distribution (fedora 22) which is not maintained nowadays.

As comment 13 says, the driver is not installed in the Thinkpad X220, but installed in the Thinkpad R500. 

If the problem persist, please reopen and upload the trace files.