All of lore.kernel.org
 help / color / mirror / Atom feed
* [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.