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 703342 - gl: implement support for DispManX (Raspberry Pi)
gl: implement support for DispManX (Raspberry Pi)
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other Linux
: Normal enhancement
: 1.3.1
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on: 703339
Blocks:
 
 
Reported: 2013-06-30 12:20 UTC by Sebastian Dröge (slomo)
Modified: 2014-04-30 13:51 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Sebastian Dröge (slomo) 2013-06-30 12:20:18 UTC
We would need DispManX (Raspberry Pi) support in gst-plugins-gl, which uses EGL/GLESv2.

This would use the DispManX API to create windows.
Comment 1 Sebastian Dröge (slomo) 2013-07-17 11:43:48 UTC
Related to that EGLImage support would also be useful for integration with the decoders, different bug for that.


Main problem here is that we better need to differentiate between offscreen and display windows. We can't just create DispManX windows for every GL context we create, just for the ones that are in a sink. Related to that the same problem exists in Android too.
Comment 3 Julien Isorce 2013-08-30 13:16:09 UTC
Config flags: ./configure --disable-x11 --disable-wayland --enable-dispmanx
Comment 4 Sebastian Dröge (slomo) 2013-08-30 13:44:57 UTC
The gstglcontext.c change looks rather suspicious imho, at least warrants a comment. And you need to call bcm_init() somewhere before everything else.
Comment 5 Matthew Waters (ystreet00) 2013-09-01 05:04:29 UTC
(In reply to comment #2)
> Initial support here:
> http://cgit.freedesktop.org/gstreamer/gst-plugins-gl/commit/?id=3448791e5aca86d2e912a145d24f60fde2dd3bbf

What? we can't link against libEGL and libGLESv2?  That seems...weird.  Also, probably should have gone down the pkg-config path first...

Also what's with 0bdb6d4af3bdac05c53869a6b42a25b6ec8afcb ?
Some of the desktop GL elements currently use GLU so that would break if the system doesn't have GLU.  

AFAIK GLU simply calls GL functions to do its work so not at all useless just outdated and is on the radar for removal as a dependency.
Comment 6 Sebastian Dröge (slomo) 2013-09-02 09:14:52 UTC
(In reply to comment #5)
> (In reply to comment #2)
> > Initial support here:
> > http://cgit.freedesktop.org/gstreamer/gst-plugins-gl/commit/?id=3448791e5aca86d2e912a145d24f60fde2dd3bbf
> 
> What? we can't link against libEGL and libGLESv2?  That seems...weird.

Are you referring to the get_proc_address() code?

> Also, probably should have gone down the pkg-config path first...

The RPi libraries don't ship pkg-config files so far, and on many embedded (and other) platforms you don't have any either.

> Also what's with 0bdb6d4af3bdac05c53869a6b42a25b6ec8afcb ?
> Some of the desktop GL elements currently use GLU so that would break if the
> system doesn't have GLU.  

They should probably conditionally use GLU if it is available, and not otherwise :) I think that commit is correct but missing the bits for other code to make it conditional.

> AFAIK GLU simply calls GL functions to do its work so not at all useless just
> outdated and is on the radar for removal as a dependency.

Yes
Comment 7 Matthew Waters (ystreet00) 2013-09-02 12:21:05 UTC
(In reply to comment #6)
> (In reply to comment #5)
> > (In reply to comment #2)
> > > Initial support here:
> > > http://cgit.freedesktop.org/gstreamer/gst-plugins-gl/commit/?id=3448791e5aca86d2e912a145d24f60fde2dd3bbf
> > 
> > What? we can't link against libEGL and libGLESv2?  That seems...weird.
> 
> Are you referring to the get_proc_address() code?

Yea...

> > Also, probably should have gone down the pkg-config path first...
> 
> The RPi libraries don't ship pkg-config files so far, and on many embedded (and
> other) platforms you don't have any either.

Ok.

> > Also what's with 0bdb6d4af3bdac05c53869a6b42a25b6ec8afcb ?
> > Some of the desktop GL elements currently use GLU so that would break if the
> > system doesn't have GLU.  
> 
> They should probably conditionally use GLU if it is available, and not
> otherwise :) I think that commit is correct but missing the bits for other code
> to make it conditional.

Yea
Comment 8 Julien Isorce 2014-04-30 08:39:37 UTC
I think this bug can be closed as dispmanx support is there and the lib problem (http://cgit.freedesktop.org/gstreamer/gst-plugins-bad/commit/gst-libs/gst/gl/gstglcontext.c?id=561a71c2444c8e1d8d49b32e470d340383468515) is discussed there: https://bugzilla.gnome.org/show_bug.cgi?id=728753