Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 565588 - dev-qt/qtmultimedia-5.5.1: improve handling of EGL videonode plugin
Summary: dev-qt/qtmultimedia-5.5.1: improve handling of EGL videonode plugin
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Qt Bug Alias
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 563626 qt-5.5.1-stable
  Show dependency tree
 
Reported: 2015-11-12 13:42 UTC by Michael Palimaka (kensington)
Modified: 2016-03-06 20:48 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Palimaka (kensington) gentoo-dev 2015-11-12 13:42:00 UTC
Does anyone have a better idea of what /usr/lib64/qt5/plugins/video/videonode/libeglvideonode.so actually does? The way we handle it currently is a source of USE conflicts.

It's controlled by USE="egl qml", which has two issues:

1. Although it uses quick, it doesn't seem quick-specific

2. In addition to egl, it also requires opengles2 in QT_CONFIG

This means that anyone who enables egl & qml globally are forced rebuild qt with gles2 (see bug #563626 for more details).

Is it reasonable to rename egl -> gles2 for this package, or should the plugin be moved behind some new flag?
Comment 1 Davide Pesavento gentoo-dev 2015-11-12 20:50:36 UTC
(In reply to Michael Palimaka (kensington) from comment #0)
> Does anyone have a better idea of what
> /usr/lib64/qt5/plugins/video/videonode/libeglvideonode.so actually does? The
> way we handle it currently is a source of USE conflicts.

AFAIU it's a special scene graph node intended to optimize the display of image/video data through the usage of an EGL extension (https://www.khronos.org/registry/egl/extensions/KHR/EGL_KHR_image_base.txt)

> It's controlled by USE="egl qml", which has two issues:
> 
> 1. Although it uses quick, it doesn't seem quick-specific

It's for the Qt scene graph (QSG), so yes it's very quick-specific. Not sure why you're saying it's not...

> 2. In addition to egl, it also requires opengles2 in QT_CONFIG

Yep, this is what videonode.pro requires.

> This means that anyone who enables egl & qml globally are forced rebuild qt
> with gles2 (see bug #563626 for more details).
> 
> Is it reasonable to rename egl -> gles2 for this package, or should the
> plugin be moved behind some new flag?

I see the issue. I'm ok with either solution. The idea (and assumption) behind USE=gles2 is that users should either enable it for the whole stack or disable it for the whole stack. A hybrid configuration is bound to fail.

While at it, we should check if other parts of qtmultimedia have EGL-specific things that do not require gles2. In that case we should *add* USE=gles2 while keeping egl separate, and build videonode only when USE="egl gles2 qml" are set.
Comment 2 Michael Palimaka (kensington) gentoo-dev 2015-11-19 16:01:23 UTC
In overlay:

https://gitweb.gentoo.org/proj/qt.git/commit/?id=6a549174bb957dabc91737e5f8b39b87e7895306
Comment 3 Davide Pesavento gentoo-dev 2015-11-19 16:10:53 UTC
(In reply to Michael Palimaka (kensington) from comment #2)
> In overlay:
> 
> https://gitweb.gentoo.org/proj/qt.git/commit/
> ?id=6a549174bb957dabc91737e5f8b39b87e7895306

ACK
Comment 4 Johannes Huber (RETIRED) gentoo-dev 2016-01-05 22:16:13 UTC
(In reply to Michael Palimaka (kensington) from comment #2)
> In overlay:
> 
> https://gitweb.gentoo.org/proj/qt.git/commit/
> ?id=6a549174bb957dabc91737e5f8b39b87e7895306

Please apply this to the tree.
Comment 5 Michael Palimaka (kensington) gentoo-dev 2016-01-14 17:46:12 UTC
Thanks, fixed in git.

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2297fcb5659e308027166162543aa1c1be51ba72
Comment 6 Igor Poboiko 2016-03-06 19:56:52 UTC
There might be a drawback: I don't want GLES2 to be enabled (for the whole Qt), but I need EGL (I want to play with Wayland, and qtwayland needs qtgui[egl]). Right now qtmultimedia[-gles2] wants qtgui[-egl], which is confusing. Shouldn't it be something like "qtgui[gles2=]"?