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?
(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.
In overlay: https://gitweb.gentoo.org/proj/qt.git/commit/?id=6a549174bb957dabc91737e5f8b39b87e7895306
(In reply to Michael Palimaka (kensington) from comment #2) > In overlay: > > https://gitweb.gentoo.org/proj/qt.git/commit/ > ?id=6a549174bb957dabc91737e5f8b39b87e7895306 ACK
(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.
Thanks, fixed in git. https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2297fcb5659e308027166162543aa1c1be51ba72
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=]"?