* [PATCH] mesa: clean up PACKAGECONFIG
@ 2012-08-20 10:25 Ross Burton
2012-08-24 18:28 ` Saul Wold
0 siblings, 1 reply; 9+ messages in thread
From: Ross Burton @ 2012-08-20 10:25 UTC (permalink / raw)
To: openembedded-core
Use machine overrides instead of machine features.
Signed-off-by: Ross Burton <ross.burton@intel.com>
---
meta/recipes-graphics/mesa/mesa-common.inc | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/meta/recipes-graphics/mesa/mesa-common.inc b/meta/recipes-graphics/mesa/mesa-common.inc
index de171f0..cfe4a37 100644
--- a/meta/recipes-graphics/mesa/mesa-common.inc
+++ b/meta/recipes-graphics/mesa/mesa-common.inc
@@ -12,7 +12,7 @@ SECTION = "x11"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://docs/license.html;md5=03ccdc4c379c4289aecfb8892c546f67"
-INC_PR = "r2"
+INC_PR = "r3"
PE = "2"
DEPENDS = "libxml2-native makedepend-native flex-native bison-native"
@@ -29,9 +29,8 @@ EXTRA_OECONF = "--enable-glu \
--disable-glut \
--enable-shared-glapi"
-PACKAGECONFIG ??= "${@base_contains('MACHINE_FEATURES', 'x86', 'gles', '', d)} \
- ${@base_contains('MACHINE_FEATURES', 'x86', 'egl', '', d)} \
- ${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}"
+PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}"
+PACKAGECONFIG_append_x86 = " gles egl"
X11_DEPS = "xf86driproto glproto virtual/libx11 libxext libxxf86vm libxdamage libxfixes"
PACKAGECONFIG[x11] = "--enable-glx-tls,--disable-glx,${X11_DEPS}"
--
1.7.10
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH] mesa: clean up PACKAGECONFIG
2012-08-20 10:25 [PATCH] mesa: clean up PACKAGECONFIG Ross Burton
@ 2012-08-24 18:28 ` Saul Wold
2012-09-02 0:43 ` Zoltan Gaal
0 siblings, 1 reply; 9+ messages in thread
From: Saul Wold @ 2012-08-24 18:28 UTC (permalink / raw)
To: Ross Burton; +Cc: openembedded-core
On 08/20/2012 03:25 AM, Ross Burton wrote:
> Use machine overrides instead of machine features.
>
> Signed-off-by: Ross Burton <ross.burton@intel.com>
> ---
> meta/recipes-graphics/mesa/mesa-common.inc | 7 +++----
> 1 file changed, 3 insertions(+), 4 deletions(-)
>
> diff --git a/meta/recipes-graphics/mesa/mesa-common.inc b/meta/recipes-graphics/mesa/mesa-common.inc
> index de171f0..cfe4a37 100644
> --- a/meta/recipes-graphics/mesa/mesa-common.inc
> +++ b/meta/recipes-graphics/mesa/mesa-common.inc
> @@ -12,7 +12,7 @@ SECTION = "x11"
> LICENSE = "MIT"
> LIC_FILES_CHKSUM = "file://docs/license.html;md5=03ccdc4c379c4289aecfb8892c546f67"
>
> -INC_PR = "r2"
> +INC_PR = "r3"
> PE = "2"
>
> DEPENDS = "libxml2-native makedepend-native flex-native bison-native"
> @@ -29,9 +29,8 @@ EXTRA_OECONF = "--enable-glu \
> --disable-glut \
> --enable-shared-glapi"
>
> -PACKAGECONFIG ??= "${@base_contains('MACHINE_FEATURES', 'x86', 'gles', '', d)} \
> - ${@base_contains('MACHINE_FEATURES', 'x86', 'egl', '', d)} \
> - ${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}"
> +PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}"
> +PACKAGECONFIG_append_x86 = " gles egl"
>
> X11_DEPS = "xf86driproto glproto virtual/libx11 libxext libxxf86vm libxdamage libxfixes"
> PACKAGECONFIG[x11] = "--enable-glx-tls,--disable-glx,${X11_DEPS}"
>
Merged into OE-Core
Thanks
Sau!
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] mesa: clean up PACKAGECONFIG
2012-08-24 18:28 ` Saul Wold
@ 2012-09-02 0:43 ` Zoltan Gaal
2012-09-02 7:56 ` Burton, Ross
0 siblings, 1 reply; 9+ messages in thread
From: Zoltan Gaal @ 2012-09-02 0:43 UTC (permalink / raw)
To: openembedded-core
I'm new to oe, and I've seen there was quite a big discussion about the
gles support in mesa.
Now libgles-omap3 has the mentioned conflict with the mesa-dri as both
provides virtual/egl. I think a patch like this would solve the issue:
(mesa-dri is required by xserver, and libgles-omap3 is the accelerated
gles driver from ti, which also provides egl by nature)
diff --git a/meta/recipes-graphics/mesa/mesa-common.inc
b/meta/recipes-graphics/mesa/mesa-common.inc
index cfe4a37..074dc5e 100644
--- a/meta/recipes-graphics/mesa/mesa-common.inc
+++ b/meta/recipes-graphics/mesa/mesa-common.inc
@@ -17,7 +17,12 @@ PE = "2"
DEPENDS = "libxml2-native makedepend-native flex-native bison-native"
-PROVIDES = "virtual/libgl virtual/libgles1 virtual/libgles2 virtual/egl"
+PROV_EGL = "${@base_contains('DISTRO_FEATURES', 'egl',
'virtual/libegl', '', d)}"
+PROV_GLES = "${@base_contains('DISTRO_FEATURES', 'gles',
'virtual/libgles1 virtual/libgles2', '', d)}"
+PROV_GLES1 = "${@base_contains('DISTRO_FEATURES', 'gles1',
'virtual/libgles1', '', d)}"
+PROV_GLES2 = "${@base_contains('DISTRO_FEATURES', 'gles2',
'virtual/libgles2', '', d)}"
+
+PROVIDES = "virtual/libgl ${PROV_EGL} ${PROV_GLES1} ${PROV_GLES2}"
# for mesa-dri and mesa-xlib
FILESEXTRAPATHS_append := "${THISDIR}/mesa:"
@@ -41,14 +46,20 @@ EXCLUDE_FROM_WORLD = "1"
# ie mesa-dri could be empty and mesa-dri-dev RDEPENDS on it
ALLOW_EMPTY_${PN} = "1"
-PACKAGES =+ "libegl libegl-dev libegl-dbg \
+PACK_EGL = "${@base_contains('DISTRO_FEATURES', 'egl', 'libegl
libegl-dev libegl-dbg', '', d)}"
+PACK_GLES = "${@base_contains('DISTRO_FEATURES', 'gles', 'libgles1
libgles1-dev libgles2 libgles2-dev', '', d)}"
+PACK_GLES1 = "${@base_contains('DISTRO_FEATURES', 'gles1', 'libgles1
libgles1-dev', '', d)}"
+PACK_GLES2 = "${@base_contains('DISTRO_FEATURES', 'gles2', 'libgles2
libgles2-dev', '', d)}"
+
+PACKAGES =+ "${PACK_EGL} \
libglu libglu-dev \
libosmesa libosmesa-dev \
libgl libgl-dev \
libglapi libglapi-dev \
libgbm libgbm-dev \
- libgles1 libgles1-dev \
- libgles2 libgles2-dev \
+ ${PACK_GLES} \
+ ${PACK_GLES1} \
+ ${PACK_GLES2} \
"
FILES_libegl = "${libdir}/libEGL.so.* ${libdir}/egl/*.so"
^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH] mesa: clean up PACKAGECONFIG
2012-09-02 0:43 ` Zoltan Gaal
@ 2012-09-02 7:56 ` Burton, Ross
2012-09-02 10:39 ` Zoltan Gaal
0 siblings, 1 reply; 9+ messages in thread
From: Burton, Ross @ 2012-09-02 7:56 UTC (permalink / raw)
To: Zoltan Gaal; +Cc: openembedded-core
On 2 September 2012 01:43, Zoltan Gaal <z.p.gaal@gmail.com> wrote:
> I'm new to oe, and I've seen there was quite a big discussion about the gles
> support in mesa.
> Now libgles-omap3 has the mentioned conflict with the mesa-dri as both
> provides virtual/egl. I think a patch like this would solve the issue:
Can't you just set PREFERRED_PROVIDER? meta-intel has the same
problem with the EMGD and psb drivers also conflicting with mesa-dri.
Ross
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] mesa: clean up PACKAGECONFIG
2012-09-02 7:56 ` Burton, Ross
@ 2012-09-02 10:39 ` Zoltan Gaal
2012-09-02 12:34 ` Burton, Ross
2012-09-02 12:39 ` Richard Purdie
0 siblings, 2 replies; 9+ messages in thread
From: Zoltan Gaal @ 2012-09-02 10:39 UTC (permalink / raw)
To: openembedded-core
I've tried it, but mesa-dri is required for xserver and it won't compile
without it. libgles-omap3 cannot replace the mesa dependency, though I'm
not sure if it is a simple config issue or some interface is missing
(libgl). And as libgles-omap3 also provides virtual/egl, the bitbake
process detects, there exists multiple projects with the same provided
feature:
NOTE: Resolving any missing task queue dependencies
NOTE: Preparing runqueue
ERROR: Multiple .bb files are due to be built which each provide
virtual/egl
(/home/gzp/work/gumstix/oe/oe-meta/meta-ti/recipes-graphics/libgles/libgles-omap3_4.05.00.03.bb
/home/gzp/work/gumstix/oe/oe-core/meta/recipes-graphics/mesa/mesa-dri_8.0.4.bb).
This usually means one provides something the other doesn't and should.
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
(in local.conf: PREFERRED_PROVIDER_virtual/egl="libgles-omap3")
Gzp
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] mesa: clean up PACKAGECONFIG
2012-09-02 10:39 ` Zoltan Gaal
@ 2012-09-02 12:34 ` Burton, Ross
2012-09-02 12:39 ` Richard Purdie
1 sibling, 0 replies; 9+ messages in thread
From: Burton, Ross @ 2012-09-02 12:34 UTC (permalink / raw)
To: Zoltan Gaal; +Cc: openembedded-core
On 2 September 2012 11:39, Zoltan Gaal <z.p.gaal@gmail.com> wrote:
> I've tried it, but mesa-dri is required for xserver and it won't compile
> without it. libgles-omap3 cannot replace the mesa dependency, though I'm not
> sure if it is a simple config issue or some interface is missing (libgl).
> And as libgles-omap3 also provides virtual/egl, the bitbake process detects,
> there exists multiple projects with the same provided feature:
So you end up with a system which has hardware accelerated EGL and
GLES (though libgles-omap3) and software-only GL (through the software
renderer in mesa)? Doesn't sound optimal.
It's probably worth looking at making the GL dependency in X optional,
so you can build X with just GLES support.
Ross
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] mesa: clean up PACKAGECONFIG
2012-09-02 10:39 ` Zoltan Gaal
2012-09-02 12:34 ` Burton, Ross
@ 2012-09-02 12:39 ` Richard Purdie
2012-09-02 18:11 ` Zoltan Gaal
[not found] ` <CALbNGRS=MCh2R4MK=BJyX2SDC_3Mr_-ETHCS7sX_tVhB9bG_5w@mail.gmail.com>
1 sibling, 2 replies; 9+ messages in thread
From: Richard Purdie @ 2012-09-02 12:39 UTC (permalink / raw)
To: Zoltan Gaal; +Cc: openembedded-core
On Sun, 2012-09-02 at 12:39 +0200, Zoltan Gaal wrote:
> I've tried it, but mesa-dri is required for xserver and it won't compile
> without it. libgles-omap3 cannot replace the mesa dependency, though I'm
> not sure if it is a simple config issue or some interface is missing
> (libgl). And as libgles-omap3 also provides virtual/egl, the bitbake
> process detects, there exists multiple projects with the same provided
> feature:
>
> NOTE: Resolving any missing task queue dependencies
> NOTE: Preparing runqueue
> ERROR: Multiple .bb files are due to be built which each provide
> virtual/egl
> (/home/gzp/work/gumstix/oe/oe-meta/meta-ti/recipes-graphics/libgles/libgles-omap3_4.05.00.03.bb
> /home/gzp/work/gumstix/oe/oe-core/meta/recipes-graphics/mesa/mesa-dri_8.0.4.bb).
> This usually means one provides something the other doesn't and should.
> NOTE: Executing SetScene Tasks
> NOTE: Executing RunQueue Tasks
>
> (in local.conf: PREFERRED_PROVIDER_virtual/egl="libgles-omap3")
Try also adding it to MULTI_PROVIDER_WHITELIST (see bitbake.conf).
This error message did use to just be a note but was turned into an
error at various user's requests. Sometimes it means there are serious
configuration issues, in a case like this, its ok though...
Cheers,
Richard
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] mesa: clean up PACKAGECONFIG
2012-09-02 12:39 ` Richard Purdie
@ 2012-09-02 18:11 ` Zoltan Gaal
[not found] ` <CALbNGRS=MCh2R4MK=BJyX2SDC_3Mr_-ETHCS7sX_tVhB9bG_5w@mail.gmail.com>
1 sibling, 0 replies; 9+ messages in thread
From: Zoltan Gaal @ 2012-09-02 18:11 UTC (permalink / raw)
To: openembedded-core
Thanks, that eliminated the error (warning), though I don't really like
the idea. A recipe states something that's not so: mesa does not
provides egl without the packageconfig, but who cares, while it is
working and not too much confusing. In the pre-yocto ages there were
much worse dependecies :)
Thx,
Gzp
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] mesa: clean up PACKAGECONFIG
[not found] ` <CALbNGRS=MCh2R4MK=BJyX2SDC_3Mr_-ETHCS7sX_tVhB9bG_5w@mail.gmail.com>
@ 2012-09-04 13:42 ` Richard Purdie
0 siblings, 0 replies; 9+ messages in thread
From: Richard Purdie @ 2012-09-04 13:42 UTC (permalink / raw)
To: Andreas Müller, openembedded-core
On Sun, 2012-09-02 at 15:30 +0200, Andreas Müller wrote:
> On Sun, Sep 2, 2012 at 2:39 PM, Richard Purdie
> <richard.purdie@linuxfoundation.org> wrote:
> > On Sun, 2012-09-02 at 12:39 +0200, Zoltan Gaal wrote:
> >> I've tried it, but mesa-dri is required for xserver and it won't compile
> >> without it. libgles-omap3 cannot replace the mesa dependency, though I'm
> >> not sure if it is a simple config issue or some interface is missing
> >> (libgl). And as libgles-omap3 also provides virtual/egl, the bitbake
> >> process detects, there exists multiple projects with the same provided
> >> feature:
> >>
> >> NOTE: Resolving any missing task queue dependencies
> >> NOTE: Preparing runqueue
> >> ERROR: Multiple .bb files are due to be built which each provide
> >> virtual/egl
> >> (/home/gzp/work/gumstix/oe/oe-meta/meta-ti/recipes-graphics/libgles/libgles-omap3_4.05.00.03.bb
> >> /home/gzp/work/gumstix/oe/oe-core/meta/recipes-graphics/mesa/mesa-dri_8.0.4.bb).
> >> This usually means one provides something the other doesn't and should.
> >> NOTE: Executing SetScene Tasks
> >> NOTE: Executing RunQueue Tasks
> >>
> >> (in local.conf: PREFERRED_PROVIDER_virtual/egl="libgles-omap3")
> >
> > Try also adding it to MULTI_PROVIDER_WHITELIST (see bitbake.conf).
> >
> > This error message did use to just be a note but was turned into an
> > error at various user's requests. Sometimes it means there are serious
> > configuration issues, in a case like this, its ok though...
> >
> The problem is not the error message in first place but the wrong libs
> (egl/gles/glesv2) in rootfs. As soon as mesa is in, libgles-omap libs
> are out.
This sounds like a configuration issue.
Firstly, the machine config needs to make sure the libgles-omap package
is included in the image, probably through something like the XSERVER
variable although I appreciate we don't have anything for egl at this
point.
Secondly, the libglex-omap module should CONFLICT/REPLACE/PROVIDE the
bits of mesa it replaces.
Cheers,
Richard
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2012-09-04 13:55 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-08-20 10:25 [PATCH] mesa: clean up PACKAGECONFIG Ross Burton
2012-08-24 18:28 ` Saul Wold
2012-09-02 0:43 ` Zoltan Gaal
2012-09-02 7:56 ` Burton, Ross
2012-09-02 10:39 ` Zoltan Gaal
2012-09-02 12:34 ` Burton, Ross
2012-09-02 12:39 ` Richard Purdie
2012-09-02 18:11 ` Zoltan Gaal
[not found] ` <CALbNGRS=MCh2R4MK=BJyX2SDC_3Mr_-ETHCS7sX_tVhB9bG_5w@mail.gmail.com>
2012-09-04 13:42 ` Richard Purdie
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.