Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 673588 - dev-libs/efl - suboptimal GL handling
Summary: dev-libs/efl - suboptimal GL handling
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Joonas Niilola
URL:
Whiteboard:
Keywords: PullRequest
Depends on:
Blocks:
 
Reported: 2018-12-22 21:37 UTC by Mart Raudsepp
Modified: 2019-02-04 19:56 UTC (History)
5 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 Mart Raudsepp gentoo-dev 2018-12-22 21:37:41 UTC
Please fix this egl/gles/opengl USE flag handling in EFL.

IUSE=gles should be IUSE=gles2 instead.

egl and opengl flags should not clash - it complicates people enabling them together. With now such a REQUIRED_USE added, it seems like what is wanted to be expressed here is really "Use full OpenGL on X11 only, or use GLES2". If EGL is not supported with opengl, then having a USE=egl might not have a point, unless EGL alone (without gles2 nor opengl) is a possible thing (which you've just made it not be).

And more, but here's a link to what I propose is to be the desired end result, depending on your case:

https://archives.gentoo.org/gentoo-dev/message/e04f6d321e424a237af62721d1d09211

(we agreed to use USE=gles2 instead of USE=gles; gles1 isn't a thing anymore and gles2 shall cover gles3 as well)

I am happy to work on it with you via detailed discussions while getting to know the use case better from there.
Comment 1 Joonas Niilola gentoo-dev 2018-12-26 07:55:48 UTC
(In reply to Mart Raudsepp from comment #0)
> Please fix this egl/gles/opengl USE flag handling in EFL.
> 
> IUSE=gles should be IUSE=gles2 instead.
> 
> egl and opengl flags should not clash - it complicates people enabling them
> together. With now such a REQUIRED_USE added, it seems like what is wanted
> to be expressed here is really "Use full OpenGL on X11 only, or use GLES2".
> If EGL is not supported with opengl, then having a USE=egl might not have a
> point, unless EGL alone (without gles2 nor opengl) is a possible thing
> (which you've just made it not be).

I'd like to believe when I made this logic it was working, but obviously it's now broken. I admit I just wanted to make sure wayland works, so I might've overlooked this. 

I just tested efl and opengl and egl can not be enabled together:
  configure: error: Full OpenGL with EGL is not supported

To get opengl working, one must either choose opengl OR egl+gles. However seens like efl doesnt strictly require opengl backend to work (ie, it launches with something like -gles -egl -opengl X).

Your suggestion of disabling 'egl' use altogether sounds like a good solution to me. There's one ebuild in the tree with this requirement:
  || ( dev-libs/efl[egl] dev-libs/efl[opengl] )

so that is going to have to be made into efl[gles2] or efl[opengl]. I was going to start using requirement a lot more, glad I didn't get to it yet :)


> 
> And more, but here's a link to what I propose is to be the desired end
> result, depending on your case:
> 
> https://archives.gentoo.org/gentoo-dev/message/
> e04f6d321e424a237af62721d1d09211
> 
> (we agreed to use USE=gles2 instead of USE=gles; gles1 isn't a thing anymore
> and gles2 shall cover gles3 as well)

I believe I can follow those guidelines. Efl indeed supports full opengl or opengl-es (that needs egl).

> 
> I am happy to work on it with you via detailed discussions while getting to
> know the use case better from there.

I'll disable optional 'egl' use flag and rename 'gles' into 'gles2'. I'll do tests to make sure it works and open a Github PR then. Can you review and help me get it merged?
Comment 2 Bruno 2018-12-26 11:07:18 UTC
Not sure it was triggered by this bug or this bug was a follow-up on https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=77261817e02fc46fe021c79e6a7266988331c008 regarding REQUIRED_USE:

 REQUIRED_USE="
 	?? ( opengl egl )
 	?? ( opengl gles )
+	egl ( gles )
 	fbcon? ( !tslib )
 	gles? (
 		|| ( X wayland )


Shouldn't it have been


+       egl? (gles)
           ^

Because portage now always wants egl and gles to be enabled...
Comment 3 Joonas Niilola gentoo-dev 2018-12-26 11:18:44 UTC
It was a typo in another bugfix, 
https://bugs.gentoo.org/673460

for now, please update your world with '--exclude efl' until https://bugs.gentoo.org/673702 (new bug about this behavior) gets resolved.
Comment 4 Larry the Git Cow gentoo-dev 2019-01-04 10:08:58 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=39a8085ec11862db8853c3a8268f35702396141c

commit 39a8085ec11862db8853c3a8268f35702396141c
Author:     Kent Fredric <kentnl@gentoo.org>
AuthorDate: 2019-01-04 10:07:54 +0000
Commit:     Kent Fredric <kentnl@gentoo.org>
CommitDate: 2019-01-04 10:08:27 +0000

    dev-libs/efl: Fix broken REQUIRED_USE constraint typo
    
    Acked-By: Joonas Niilola <juippis@gmail.com>
    Bug: https://bugs.gentoo.org/673588
    Bug: https://bugs.gentoo.org/673460
    Closes: https://bugs.gentoo.org/673702
    Package-Manager: Portage-2.3.51, Repoman-2.3.11
    Signed-off-by: Kent Fredric <kentnl@gentoo.org>

 dev-libs/efl/{efl-1.21.1-r2.ebuild => efl-1.21.1-r3.ebuild} | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
Comment 5 Larry the Git Cow gentoo-dev 2019-02-04 01:14:08 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f77b1be67b97101d6efdb430dc14cd2e1f780287

commit f77b1be67b97101d6efdb430dc14cd2e1f780287
Author:     Joonas Niilola <juippis@gmail.com>
AuthorDate: 2019-01-11 04:57:59 +0000
Commit:     Andreas Sturmlechner <asturm@gentoo.org>
CommitDate: 2019-02-04 01:12:04 +0000

    dev-libs/efl: fix GL handling in ebuilds
    
    Bug: https://bugs.gentoo.org/673460
    Closes: https://bugs.gentoo.org/673702
    Closes: https://bugs.gentoo.org/673588
    Package-Manager: Portage[mgorny]-2.3.51.1
    Signed-off-by: Joonas Niilola <juippis@gmail.com>
    Closes: https://github.com/gentoo/gentoo/pull/10696
    Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>

 dev-libs/efl/efl-1.20.7-r3.ebuild | 302 ++++++++++++++++++++++++++++++++++++++
 dev-libs/efl/efl-1.21.1-r3.ebuild |  24 ++-
 dev-libs/efl/metadata.xml         |   1 +
 3 files changed, 313 insertions(+), 14 deletions(-)