<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugzilla.yoctoproject.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.6"
          urlbase="https://bugzilla.yoctoproject.org/"
          
          maintainer="it-coreprojects-helpdesk@linuxfoundation.org"
>

    <bug>
          <bug_id>2373</bug_id>
          
          <creation_ts>2012-04-26 11:57:08 +0000</creation_ts>
          <short_desc>No virtual/egl provider on Mesa</short_desc>
          <delta_ts>2012-11-09 14:32:15 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>7</classification_id>
          <classification>Build System, Metadata &amp; Runtime</classification>
          <product>Meta-yocto</product>
          <component>meta-yocto</component>
          <version>1.1.1</version>
          <rep_platform>x86</rep_platform>
          <op_sys>Multiple</op_sys>
          <bug_status>VERIFIED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard>patch ready for test, May2, 2012</status_whiteboard>
          <keywords></keywords>
          <priority>Medium</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>1.3 M4</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ross Burton">ross.burton</reporter>
          <assigned_to name="Edwin Zhai">edwin.zhai</assigned_to>
          <cc>alexandrux.palalau</cc>
    
    <cc>poky.bs.watcher</cc>
    
    <cc>poky.watcher</cc>
    
    <cc>richard.purdie</cc>
    
    <cc>sgw</cc>
    
    <cc>song.liu</cc>
    
    <cc>tf+bugs.yocto</cc>
          
          
          <cf_os>---</cf_os>
          <cf_regression_type>---</cf_regression_type>
          
          <cf_docchange>---</cf_docchange>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>20886</commentid>
    <comment_count>0</comment_count>
    <who name="Ross Burton">ross.burton</who>
    <bug_when>2012-04-26 11:57:08 +0000</bug_when>
    <thetext>I&apos;m trying to build mex with EGL on my Atom, but Mesa doesn&apos;t PROVIDE virtual/egl.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>20904</commentid>
    <comment_count>1</comment_count>
    <who name="Edwin Zhai">edwin.zhai</who>
    <bug_when>2012-04-27 08:22:40 +0000</bug_when>
    <thetext>(In reply to comment #0)
&gt; I&apos;m trying to build mex with EGL on my Atom, but Mesa doesn&apos;t PROVIDE
&gt; virtual/egl.

Ross,
You mean enable EGL support in MESA, right? Adding extra configure option should be okay.

What&apos;s mex?

Thanks,
Edwin</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>20906</commentid>
    <comment_count>2</comment_count>
    <who name="Ross Burton">ross.burton</who>
    <bug_when>2012-04-27 08:28:53 +0000</bug_when>
    <thetext>mex is Media Explorer - http://media-explorer.org/.  Whilst typically build using GLX, it&apos;s possible to build it using EGL.

Mesa is already building libegl, but virtual/egl (as used by the TI drivers IIRC) isn&apos;t a provides in Mesa anywhere.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>20977</commentid>
    <comment_count>3</comment_count>
    <who name="Edwin Zhai">edwin.zhai</who>
    <bug_when>2012-05-02 07:54:12 +0000</bug_when>
    <thetext>(In reply to comment #2)
&gt; mex is Media Explorer - http://media-explorer.org/.  Whilst typically build
&gt; using GLX, it&apos;s possible to build it using EGL.
&gt; 
&gt; Mesa is already building libegl, but virtual/egl (as used by the TI drivers
&gt; IIRC) isn&apos;t a provides in Mesa anywhere.

I find &quot;--disable-egl&quot; is appended to the mesa-dri(package of libegl is empty), maybe TI layers orerride it.

I&apos;m not sure just adding following line can fix you issue:
PROVIDES = &quot;virtual/egl&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>20978</commentid>
    <comment_count>4</comment_count>
      <attachid>498</attachid>
    <who name="Edwin Zhai">edwin.zhai</who>
    <bug_when>2012-05-02 08:25:53 +0000</bug_when>
    <thetext>Created attachment 498
Enable egl in mesa

Ross,
Does this patch fix your issue. Sorry, I have no environment to test mex.

Thanks,
Edwin</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>21178</commentid>
    <comment_count>5</comment_count>
    <who name="tf">tf+bugs.yocto</who>
    <bug_when>2012-05-08 10:13:05 +0000</bug_when>
    <thetext>IIRC, if you turn on egl with --enable-egl you also have to add --enable-shared-glapi.

The other thing that is missing from the mesa packaging for building mex (or more precisely cogl) is the gbm library; this gets enabled with --enable-gbm and then has to be packaged.

The following bbappend is what I needed to get cogl with kms egl backend to build: https://github.com/Guacamole/meta-guacamole/blob/master/meta-guacamole/recipes-graphics/mesa/mesa-dri_7.11.bbappend.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>21232</commentid>
    <comment_count>6</comment_count>
    <who name="Edwin Zhai">edwin.zhai</who>
    <bug_when>2012-05-09 01:46:52 +0000</bug_when>
    <thetext>(In reply to comment #5)
&gt; 
&gt; The following bbappend is what I needed to get cogl with kms egl backend to
&gt; build:
&gt; https://github.com/Guacamole/meta-guacamole/blob/master/meta-guacamole/
&gt; recipes-graphics/mesa/mesa-dri_7.11.bbappend.

TF,
Thanks for your patch. Maybe you can push it into the repo for related layer? If making changes in meta/(i.e. oe-core), we need clear usage model:
* mesa-dri provides virtual/egl
* others inside meta/ also provides virtual/egl
* pushed mex into oe-core, to requires virtual/egl

oe-core is independent part, other recipes sit in different layer from different repo. 

So pushing this patch into related repo is a good choice.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>22461</commentid>
    <comment_count>7</comment_count>
    <who name="Edwin Zhai">edwin.zhai</who>
    <bug_when>2012-06-21 05:56:44 +0000</bug_when>
    <thetext>Mark it as WONTFIX, because all the required changes are limited in specific layer out of yocto and oe-core.

TF already provided patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>22462</commentid>
    <comment_count>8</comment_count>
    <who name="tf">tf+bugs.yocto</who>
    <bug_when>2012-06-21 07:07:03 +0000</bug_when>
    <thetext>I guess the question is *why* you oe-core is building mesa with egl and dbm disabled?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>22519</commentid>
    <comment_count>9</comment_count>
    <who name="Edwin Zhai">edwin.zhai</who>
    <bug_when>2012-06-25 00:57:42 +0000</bug_when>
    <thetext>(In reply to comment #8)
&gt; I guess the question is *why* you oe-core is building mesa with egl and dbm
&gt; disabled?

I guess oe-core is just for common usage like qemu-XXX and other common device. We can ask for turning on egl on the oe-core mailing list with patch. But adding PROVIDES = &quot;virtual/egl&quot; without anybody depending on it is not acceptable.(In reply to comment #8)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>23440</commentid>
    <comment_count>10</comment_count>
    <who name="Ross Burton">ross.burton</who>
    <bug_when>2012-07-24 13:26:20 +0000</bug_when>
    <thetext>I totally disagree.

oe-core should be building all useful variations of Mesa and letting the image/layer pick the ones it needs.  If someone is using (say) Clutter on X they&apos;ll want GLX, and we&apos;re already building that.  It&apos;s equally useful to use Clutter without X using EGL instead of GLX.

oe-core shouldn&apos;t be saying that we only support Mesa+GLX, that&apos;s the *opposite* of being layer-independent.

Also Guacamole was renamed Guacamayo, so the correct URL from Tomas is now https://github.com/Guacamayo/meta-guacamayo/blob/master/meta-guacamayo/recipes-graphics/mesa/mesa-dri_7.11.bbappend.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>23463</commentid>
    <comment_count>11</comment_count>
    <who name="Edwin Zhai">edwin.zhai</who>
    <bug_when>2012-07-25 00:30:45 +0000</bug_when>
    <thetext>(In reply to comment #10)
&gt; I totally disagree.
&gt; 
&gt; oe-core should be building all useful variations of Mesa and letting the
&gt; image/layer pick the ones it needs.  If someone is using (say) Clutter on X
&gt; they&apos;ll want GLX, and we&apos;re already building that.  It&apos;s equally useful to
&gt; use Clutter without X using EGL instead of GLX.
&gt; 
&gt; oe-core shouldn&apos;t be saying that we only support Mesa+GLX, that&apos;s the
&gt; *opposite* of being layer-independent.

I don&apos;t remember I said only support Mesa+GLX. oe-core can support everything as long as it follow the general rules. For PROVIDE/REQUIRE case, we need following:
* mesa-dri provides virtual/egl
* others inside meta/ also provides virtual/egl
* pushed mex into oe-core, to requires virtual/egl.

oe-core can support everything, but it should be self-contained system. one provides egl, but nobody inside oe-core requires it, which will be challenged by  community.

Again, I&apos;m not arguing whether need support egl, but the way how to support. Current patch based on provides/requires is not good enough, until you keep it in your layer. Maybe you can try packages or features?

Thanks,
Edwin</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>23475</commentid>
    <comment_count>12</comment_count>
    <who name="Ross Burton">ross.burton</who>
    <bug_when>2012-07-25 08:30:39 +0000</bug_when>
    <thetext>&gt; * mesa-dri provides virtual/egl

The bbappend does this.

&gt; * others inside meta/ also provides virtual/egl

Nothing else inside oe-core/meta/ provides EGL.

&gt; * pushed mex into oe-core, to requires virtual/egl.

mex isn&apos;t appropriate for oe-core, it&apos;s a large application.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>23476</commentid>
    <comment_count>13</comment_count>
    <who name="Richard Purdie">richard.purdie</who>
    <bug_when>2012-07-25 08:35:12 +0000</bug_when>
    <thetext>I think it is reasonable to enable egl and gbm as long as they get packaged separately.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>23664</commentid>
    <comment_count>14</comment_count>
    <who name="Ross Burton">ross.burton</who>
    <bug_when>2012-07-31 15:32:56 +0000</bug_when>
    <thetext>I&apos;ve a branch ross/mesa in poky-contrib that does this along with plenty of other things.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>24247</commentid>
    <comment_count>15</comment_count>
    <who name="Ross Burton">ross.burton</who>
    <bug_when>2012-08-20 22:00:45 +0000</bug_when>
    <thetext>Richard landed this in oe-core, rev: 03136ebc529dbc82f2db14055e124114da7e84b3.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>27326</commentid>
    <comment_count>16</comment_count>
    <who name="Alexandru Palalau">alexandrux.palalau</who>
    <bug_when>2012-11-09 14:32:15 +0000</bug_when>
    <thetext>Verified on master branch, commit ID:78983e939ab17f02f8911c8b0d0e326b419856b9</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>498</attachid>
            <date>2012-05-02 08:25:53 +0000</date>
            <delta_ts>2012-05-02 08:25:53 +0000</delta_ts>
            <desc>Enable egl in mesa</desc>
            <filename>mesa-enable-egl.patch</filename>
            <type>text/plain</type>
            <size>1702</size>
            <attacher name="Edwin Zhai">edwin.zhai</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL21ldGEvcmVjaXBlcy1ncmFwaGljcy9tZXNhL21lc2EtY29tbW9uLmluYyBi
L21ldGEvcmVjaXBlcy1ncmFwaGljcy9tZXNhL21lc2EtY29tbW9uLmluYwppbmRleCAyYjkwYWVk
Li43YTMzNWI1IDEwMDY0NAotLS0gYS9tZXRhL3JlY2lwZXMtZ3JhcGhpY3MvbWVzYS9tZXNhLWNv
bW1vbi5pbmMKKysrIGIvbWV0YS9yZWNpcGVzLWdyYXBoaWNzL21lc2EvbWVzYS1jb21tb24uaW5j
CkBAIC0xMiw3ICsxMiw3IEBAIFNFQ1RJT04gPSAieDExIgogTElDRU5TRSA9ICJNSVQiCiBMSUNf
RklMRVNfQ0hLU1VNID0gImZpbGU6Ly9kb2NzL2xpY2Vuc2UuaHRtbDttZDU9N2EzMzczYzAzOWI2
YjkyNWM0Mjc3NTVhNGY3NzljMWQiCiAKLUlOQ19QUiA9ICJyMTMiCitJTkNfUFIgPSAicjE0Igog
UEUgPSAiMiIKIAogCkBAIC0yMSw3ICsyMSw3IEBAIExJQl9ERVBTID0gInZpcnR1YWwvbGlieDEx
IGxpYnhleHQgbGlieHhmODZ2bSBsaWJ4ZGFtYWdlIGxpYnhmaXhlcyBsaWJ4bWwyLW5hdGl2CiAK
IERFUEVORFMgPSAibWFrZWRlcGVuZC1uYXRpdmUgcHl0aG9uLW5hdGl2ZSAke1BST1RPX0RFUFN9
ICR7TElCX0RFUFN9IgogCi1QUk9WSURFUyA9ICJ2aXJ0dWFsL2xpYmdsIgorUFJPVklERVMgPSAi
dmlydHVhbC9saWJnbCB2aXJ0dWFsL2VnbCIKIAogIyBmb3IgbWVzYS1kcmkgYW5kIG1lc2EteGxp
YgogRklMRVNFWFRSQVBBVEhTX2FwcGVuZCA6PSAiJHtUSElTRElSfS9tZXNhOiIKQEAgLTMxLDcg
KzMxLDggQEAgaW5oZXJpdCBhdXRvdG9vbHMgcGtnY29uZmlnCiBFWFRSQV9PRUNPTkYgPSAiLS1l
bmFibGUtZ2x1IFwKICAgICAgICAgICAgICAgICAtLWRpc2FibGUtZ2x3IFwKICAgICAgICAgICAg
ICAgICAtLWRpc2FibGUtZ2x1dCBcCi0gICAgICAgICAgICAgICAgLS1lbmFibGUtZ2x4LXRscyIK
KyAgICAgICAgICAgICAgICAtLWVuYWJsZS1nbHgtdGxzIFwKKyAgICAgICAgICAgICAgICAtLWVu
YWJsZS1lZ2wiCiAKICMgTXVsdGlwbGUgdmlydHVhbC9nbCBwcm92aWRlcnMgYmVpbmcgYnVpbHQg
YnJlYWtzIHN0YWdpbmcKIEVYQ0xVREVfRlJPTV9XT1JMRCA9ICIxIgpkaWZmIC0tZ2l0IGEvbWV0
YS9yZWNpcGVzLWdyYXBoaWNzL21lc2EvbWVzYS1kcmkuaW5jIGIvbWV0YS9yZWNpcGVzLWdyYXBo
aWNzL21lc2EvbWVzYS1kcmkuaW5jCmluZGV4IDQ4MDY3MmYuLjdkZGYxODUgMTAwNjQ0Ci0tLSBh
L21ldGEvcmVjaXBlcy1ncmFwaGljcy9tZXNhL21lc2EtZHJpLmluYworKysgYi9tZXRhL3JlY2lw
ZXMtZ3JhcGhpY3MvbWVzYS9tZXNhLWRyaS5pbmMKQEAgLTgsNyArOCw3IEBAIERSSURSSVZFUlMg
PSAic3dyYXN0IgogRFJJRFJJVkVSU19hcHBlbmRfeDg2ID0gIixpOTE1LGk5NjUiCiBEUklEUklW
RVJTX2FwcGVuZF94ODYtNjQgPSAiLGk5MTUsaTk2NSIKIAotRVhUUkFfT0VDT05GICs9ICItLXdp
dGgtZHJpdmVyPWRyaSAtLWRpc2FibGUtZWdsIC0tZGlzYWJsZS1nYWxsaXVtIC0td2l0aG91dC1n
YWxsaXVtLWRyaXZlcnMgLS13aXRoLWRyaS1kcml2ZXJzPSR7RFJJRFJJVkVSU30iCitFWFRSQV9P
RUNPTkYgKz0gIi0td2l0aC1kcml2ZXI9ZHJpIC0tZGlzYWJsZS1nYWxsaXVtIC0td2l0aG91dC1n
YWxsaXVtLWRyaXZlcnMgLS13aXRoLWRyaS1kcml2ZXJzPSR7RFJJRFJJVkVSU30iCiAKIHB5dGhv
biBwb3B1bGF0ZV9wYWNrYWdlc19wcmVwZW5kKCkgewogCWltcG9ydCBvcy5wYXRoCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>