[1/1] libv4l: qv4l2 doesn't support GLES

Message ID 20180319105531.34918-1-phil@zankapfel.net
State Rejected
Headers show
Series
  • [1/1] libv4l: qv4l2 doesn't support GLES
Related show

Commit Message

phil eichinger March 19, 2018, 10:55 a.m.
qv4l2 explicitly sets QT_NO_OPENGL_ES_2 because GLES is not supported
yet. So compiling with Qt5 which has only GLES enabled fails.

https://git.linuxtv.org/v4l-utils.git/commit/utils/qv4l2?id=c185420d494d8985ec3aab6b2a28f858046052b5
Signed-off-by: Phil Eichinger <phil@zankapfel.net>
---
 package/libv4l/libv4l.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Peter Seiderer March 19, 2018, 5:04 p.m. | #1
Hello Phil,

On Mon, 19 Mar 2018 11:55:31 +0100, Phil Eichinger <phil@zankapfel.net> wrote:

> qv4l2 explicitly sets QT_NO_OPENGL_ES_2 because GLES is not supported
> yet. So compiling with Qt5 which has only GLES enabled fails.
> 
> https://git.linuxtv.org/v4l-utils.git/commit/utils/qv4l2?id=c185420d494d8985ec3aab6b2a28f858046052b5
> Signed-off-by: Phil Eichinger <phil@zankapfel.net>
> ---
>  package/libv4l/libv4l.mk | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/package/libv4l/libv4l.mk b/package/libv4l/libv4l.mk
> index 11061306c7..5eb26ee16c 100644
> --- a/package/libv4l/libv4l.mk
> +++ b/package/libv4l/libv4l.mk
> @@ -51,7 +51,7 @@ endif
>  ifeq ($(BR2_PACKAGE_LIBV4L_UTILS),y)
>  LIBV4L_CONF_OPTS += --enable-v4l-utils
>  LIBV4L_DEPENDENCIES += $(TARGET_NLS_DEPENDENCIES)
> -ifeq ($(BR2_PACKAGE_QT5BASE)$(BR2_PACKAGE_QT5BASE_GUI)$(BR2_PACKAGE_QT5BASE_WIDGETS),yyy)
> +ifeq ($(BR2_PACKAGE_QT5BASE)$(BR2_PACKAGE_QT5BASE_GUI)$(BR2_PACKAGE_QT5BASE_WIDGETS)$(BR2_PACKAGE_QT5BASE_OPENGL_DESKTOP),yyyy)

NAK, qv4l2 builds just fine with framebuffer/widgets support, see libv4l-1.14.1/config.h
HAVE_QTGL configure logic and libv4l-1.14.1/utils/qv4l2/* conditional compile logic...

Do your have a (minimal) buildroot defconfig which failes to build libv4l?

Regards,
Peter

>  LIBV4L_CONF_OPTS += --enable-qv4l2
>  LIBV4L_DEPENDENCIES += qt5base
>  # protect against host version detection of moc-qt5/rcc-qt5/uic-qt5
phil eichinger March 20, 2018, 8:41 a.m. | #2
On Mon, Mar 19, 2018 at 06:04:50PM +0100, Peter Seiderer wrote:
> Hello Phil,
> 
> On Mon, 19 Mar 2018 11:55:31 +0100, Phil Eichinger <phil@zankapfel.net> wrote:
> 
> > qv4l2 explicitly sets QT_NO_OPENGL_ES_2 because GLES is not supported
> > yet. So compiling with Qt5 which has only GLES enabled fails.
> > 
> > https://git.linuxtv.org/v4l-utils.git/commit/utils/qv4l2?id=c185420d494d8985ec3aab6b2a28f858046052b5
> > Signed-off-by: Phil Eichinger <phil@zankapfel.net>
> > ---
> >  package/libv4l/libv4l.mk | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/package/libv4l/libv4l.mk b/package/libv4l/libv4l.mk
> > index 11061306c7..5eb26ee16c 100644
> > --- a/package/libv4l/libv4l.mk
> > +++ b/package/libv4l/libv4l.mk
> > @@ -51,7 +51,7 @@ endif
> >  ifeq ($(BR2_PACKAGE_LIBV4L_UTILS),y)
> >  LIBV4L_CONF_OPTS += --enable-v4l-utils
> >  LIBV4L_DEPENDENCIES += $(TARGET_NLS_DEPENDENCIES)
> > -ifeq ($(BR2_PACKAGE_QT5BASE)$(BR2_PACKAGE_QT5BASE_GUI)$(BR2_PACKAGE_QT5BASE_WIDGETS),yyy)
> > +ifeq ($(BR2_PACKAGE_QT5BASE)$(BR2_PACKAGE_QT5BASE_GUI)$(BR2_PACKAGE_QT5BASE_WIDGETS)$(BR2_PACKAGE_QT5BASE_OPENGL_DESKTOP),yyyy)
> 
> NAK, qv4l2 builds just fine with framebuffer/widgets support, see libv4l-1.14.1/config.h
> HAVE_QTGL configure logic and libv4l-1.14.1/utils/qv4l2/* conditional compile logic...

Oh, that was a misunderstanding on my part, I haven't taken non-GL
builds into account. I only need to disable it if BR2_PACKAGE_QT5BASE_OPENGL_ES2 is enabled.
Because then it gets built with HAVE_QTGL which won't work.
I'll come up with a v2 then.

Regards

Phil
Peter Seiderer March 20, 2018, 9:42 a.m. | #3
Hello Phil,

> Gesendet: Dienstag, 20. März 2018 um 09:41 Uhr
> Von: "phil eichinger" <phil@zankapfel.net>
> An: "Peter Seiderer" <ps.report@gmx.net>
> Cc: buildroot@buildroot.org
> Betreff: Re: [Buildroot] [PATCH 1/1] libv4l: qv4l2 doesn't support GLES
>
> On Mon, Mar 19, 2018 at 06:04:50PM +0100, Peter Seiderer wrote:
> > Hello Phil,
> > 
> > On Mon, 19 Mar 2018 11:55:31 +0100, Phil Eichinger <phil@zankapfel.net> wrote:
> > 
> > > qv4l2 explicitly sets QT_NO_OPENGL_ES_2 because GLES is not supported
> > > yet. So compiling with Qt5 which has only GLES enabled fails.
> > > 
> > > https://git.linuxtv.org/v4l-utils.git/commit/utils/qv4l2?id=c185420d494d8985ec3aab6b2a28f858046052b5
> > > Signed-off-by: Phil Eichinger <phil@zankapfel.net>
> > > ---
> > >  package/libv4l/libv4l.mk | 2 +-
> > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > > 
> > > diff --git a/package/libv4l/libv4l.mk b/package/libv4l/libv4l.mk
> > > index 11061306c7..5eb26ee16c 100644
> > > --- a/package/libv4l/libv4l.mk
> > > +++ b/package/libv4l/libv4l.mk
> > > @@ -51,7 +51,7 @@ endif
> > >  ifeq ($(BR2_PACKAGE_LIBV4L_UTILS),y)
> > >  LIBV4L_CONF_OPTS += --enable-v4l-utils
> > >  LIBV4L_DEPENDENCIES += $(TARGET_NLS_DEPENDENCIES)
> > > -ifeq ($(BR2_PACKAGE_QT5BASE)$(BR2_PACKAGE_QT5BASE_GUI)$(BR2_PACKAGE_QT5BASE_WIDGETS),yyy)
> > > +ifeq ($(BR2_PACKAGE_QT5BASE)$(BR2_PACKAGE_QT5BASE_GUI)$(BR2_PACKAGE_QT5BASE_WIDGETS)$(BR2_PACKAGE_QT5BASE_OPENGL_DESKTOP),yyyy)
> > 
> > NAK, qv4l2 builds just fine with framebuffer/widgets support, see libv4l-1.14.1/config.h
> > HAVE_QTGL configure logic and libv4l-1.14.1/utils/qv4l2/* conditional compile logic...
> 
> Oh, that was a misunderstanding on my part, I haven't taken non-GL
> builds into account. I only need to disable it if BR2_PACKAGE_QT5BASE_OPENGL_ES2 is enabled.
> Because then it gets built with HAVE_QTGL which won't work.
> I'll come up with a v2 then.

It depends, I have a IMX.6/etnaviv config, BR2_PACKAGE_QT5BASE_OPENGL_ES2 enabled, no compile
problems (but HAVE_QTGL is disabled), maybe it is possible to do some fine tuning with
the build/libv4l-1.14.1/configure.ac logic?

Can you provide your defconfig?

Regards,
Peter

> 
> Regards
> 
> Phil
> -- 
>
Thomas Petazzoni Oct. 20, 2018, 7 p.m. | #4
Hello,

On Mon, 19 Mar 2018 11:55:31 +0100, Phil Eichinger wrote:
> qv4l2 explicitly sets QT_NO_OPENGL_ES_2 because GLES is not supported
> yet. So compiling with Qt5 which has only GLES enabled fails.
> 
> https://git.linuxtv.org/v4l-utils.git/commit/utils/qv4l2?id=c185420d494d8985ec3aab6b2a28f858046052b5
> Signed-off-by: Phil Eichinger <phil@zankapfel.net>
> ---
>  package/libv4l/libv4l.mk | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Following the feedback from Peter Seiderer, I've marked this patch as
Rejected in patchwork. We also don't have build failures that match
this issue it seems.

Best regards,

Thomas

Patch

diff --git a/package/libv4l/libv4l.mk b/package/libv4l/libv4l.mk
index 11061306c7..5eb26ee16c 100644
--- a/package/libv4l/libv4l.mk
+++ b/package/libv4l/libv4l.mk
@@ -51,7 +51,7 @@  endif
 ifeq ($(BR2_PACKAGE_LIBV4L_UTILS),y)
 LIBV4L_CONF_OPTS += --enable-v4l-utils
 LIBV4L_DEPENDENCIES += $(TARGET_NLS_DEPENDENCIES)
-ifeq ($(BR2_PACKAGE_QT5BASE)$(BR2_PACKAGE_QT5BASE_GUI)$(BR2_PACKAGE_QT5BASE_WIDGETS),yyy)
+ifeq ($(BR2_PACKAGE_QT5BASE)$(BR2_PACKAGE_QT5BASE_GUI)$(BR2_PACKAGE_QT5BASE_WIDGETS)$(BR2_PACKAGE_QT5BASE_OPENGL_DESKTOP),yyyy)
 LIBV4L_CONF_OPTS += --enable-qv4l2
 LIBV4L_DEPENDENCIES += qt5base
 # protect against host version detection of moc-qt5/rcc-qt5/uic-qt5