* [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
[parent not found: <CALbNGRS=MCh2R4MK=BJyX2SDC_3Mr_-ETHCS7sX_tVhB9bG_5w@mail.gmail.com>]
* 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 a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox