Patchwork [meta-fsl-arm] piglit: Add Vivante GPU support

login
register
mail settings
Submitter Rogerio Nunes
Date Jan. 24, 2014, 1:20 a.m.
Message ID <1390526449-26194-1-git-send-email-ronunes@gmail.com>
Download mbox | patch
Permalink /patch/65643/
State Accepted
Delegated to: Otavio Salvador
Headers show

Comments

Rogerio Nunes - Jan. 24, 2014, 1:20 a.m.
From: Rogerio Nunes <rogerio.nunes@freescale.com>

This patch adds X11 and Wayland support with Vivante GPU.
In case 'x11' and 'wayland' distro features are both enabled,
defaults to X11.

Signed-off-by: Rogerio Nunes <rogerio.nunes@freescale.com>
---
 recipes-graphics/piglit/piglit_git.bbappend | 5 +++++
 1 file changed, 5 insertions(+)
 create mode 100644 recipes-graphics/piglit/piglit_git.bbappend
Otavio Salvador - Jan. 24, 2014, 1:33 a.m.
On Thu, Jan 23, 2014 at 11:20 PM,  <ronunes@gmail.com> wrote:
> From: Rogerio Nunes <rogerio.nunes@freescale.com>
>
> This patch adds X11 and Wayland support with Vivante GPU.
> In case 'x11' and 'wayland' distro features are both enabled,
> defaults to X11.
>
> Signed-off-by: Rogerio Nunes <rogerio.nunes@freescale.com>

I applied this as this fixes the Yocto AB build failure.

Ross, Rogerio fixed the piglit issue...
Ross Burton - Jan. 24, 2014, 10:37 a.m.
Great, thanks! :)

Ross

On 24 January 2014 01:33, Otavio Salvador <otavio@ossystems.com.br> wrote:
> On Thu, Jan 23, 2014 at 11:20 PM,  <ronunes@gmail.com> wrote:
>> From: Rogerio Nunes <rogerio.nunes@freescale.com>
>>
>> This patch adds X11 and Wayland support with Vivante GPU.
>> In case 'x11' and 'wayland' distro features are both enabled,
>> defaults to X11.
>>
>> Signed-off-by: Rogerio Nunes <rogerio.nunes@freescale.com>
>
> I applied this as this fixes the Yocto AB build failure.
>
> Ross, Rogerio fixed the piglit issue...
>
> --
> Otavio Salvador                             O.S. Systems
> http://www.ossystems.com.br        http://code.ossystems.com.br
> Mobile: +55 (53) 9981-7854            Mobile: +1 (347) 903-9750
Eric Nelson - Jan. 26, 2014, 3:57 p.m.
On 01/23/2014 06:20 PM, ronunes@gmail.com wrote:
> From: Rogerio Nunes <rogerio.nunes@freescale.com>
>
> This patch adds X11 and Wayland support with Vivante GPU.
> In case 'x11' and 'wayland' distro features are both enabled,
> defaults to X11.
>
> Signed-off-by: Rogerio Nunes <rogerio.nunes@freescale.com>

Hi Rogerio,

I built this successfully, but pulling it into my fsl-image-gui
image causes a failure:

Computing transaction...error: Can't install 
eglibc-mtrace-2.18-r0@cortexa9hf_vfp_neon: no package provides /usr/bin/env

I've seen this with other python projects.

Do you know what the right fix for this is?

It seems that busybox provides /bin/env, but not /usr/bin/env.

Please advise,


Eric
Otavio Salvador - Jan. 26, 2014, 7:15 p.m.
Hello Eric,

On Sun, Jan 26, 2014 at 1:57 PM, Eric Nelson
<eric.nelson@boundarydevices.com> wrote:
> On 01/23/2014 06:20 PM, ronunes@gmail.com wrote:
>>
>> From: Rogerio Nunes <rogerio.nunes@freescale.com>
>>
>> This patch adds X11 and Wayland support with Vivante GPU.
>> In case 'x11' and 'wayland' distro features are both enabled,
>> defaults to X11.
>>
>> Signed-off-by: Rogerio Nunes <rogerio.nunes@freescale.com>
>
>
> Hi Rogerio,
>
> I built this successfully, but pulling it into my fsl-image-gui
> image causes a failure:
>
> Computing transaction...error: Can't install
> eglibc-mtrace-2.18-r0@cortexa9hf_vfp_neon: no package provides /usr/bin/env
>
> I've seen this with other python projects.
>
> Do you know what the right fix for this is?
>
> It seems that busybox provides /bin/env, but not /usr/bin/env.

It seems the RPM dependencies got messy but it is not related to
Rogerio's change.

I'd rebuild eglibc and see if it helps...
Rogerio Nunes - Jan. 26, 2014, 7:44 p.m.
Hi Eric,

On Sun, Jan 26, 2014 at 2:15 PM, Otavio Salvador
<otavio@ossystems.com.br> wrote:
> Hello Eric,
>
> On Sun, Jan 26, 2014 at 1:57 PM, Eric Nelson
> <eric.nelson@boundarydevices.com> wrote:
>> On 01/23/2014 06:20 PM, ronunes@gmail.com wrote:
>>>
>>> From: Rogerio Nunes <rogerio.nunes@freescale.com>
>>>
>>> This patch adds X11 and Wayland support with Vivante GPU.
>>> In case 'x11' and 'wayland' distro features are both enabled,
>>> defaults to X11.
>>>
>>> Signed-off-by: Rogerio Nunes <rogerio.nunes@freescale.com>
>>
>>
>> Hi Rogerio,
>>
>> I built this successfully, but pulling it into my fsl-image-gui
>> image causes a failure:
>>
>> Computing transaction...error: Can't install
>> eglibc-mtrace-2.18-r0@cortexa9hf_vfp_neon: no package provides /usr/bin/env
>>
>> I've seen this with other python projects.
>>
>> Do you know what the right fix for this is?
>>
>> It seems that busybox provides /bin/env, but not /usr/bin/env.
>
> It seems the RPM dependencies got messy but it is not related to
> Rogerio's change.
>
> I'd rebuild eglibc and see if it helps...

Thanks Otavio.
This should explain then.
I didn't have any issue during piglit installation.
I have to say that I haven't tested the runtime tough, because I'm
having other unrelated issues with the SABRE SD...

>
> --
> Otavio Salvador                             O.S. Systems
> http://www.ossystems.com.br        http://code.ossystems.com.br
> Mobile: +55 (53) 9981-7854            Mobile: +1 (347) 903-9750
Eric Nelson - Jan. 27, 2014, 1:40 p.m.
On 01/26/2014 12:44 PM, Rogerio Nunes wrote:
> Hi Eric,
>
> On Sun, Jan 26, 2014 at 2:15 PM, Otavio Salvador
> <otavio@ossystems.com.br> wrote:
>> Hello Eric,
>>
>> On Sun, Jan 26, 2014 at 1:57 PM, Eric Nelson
>> <eric.nelson@boundarydevices.com> wrote:
>>> On 01/23/2014 06:20 PM, ronunes@gmail.com wrote:
>>>>
>>>> From: Rogerio Nunes <rogerio.nunes@freescale.com>
>>>>
>>>> This patch adds X11 and Wayland support with Vivante GPU.
>>>> In case 'x11' and 'wayland' distro features are both enabled,
>>>> defaults to X11.
>>>>
>>>> Signed-off-by: Rogerio Nunes <rogerio.nunes@freescale.com>
>>>
>>>
>>> Hi Rogerio,
>>>
>>> I built this successfully, but pulling it into my fsl-image-gui
>>> image causes a failure:
>>>
>>> Computing transaction...error: Can't install
>>> eglibc-mtrace-2.18-r0@cortexa9hf_vfp_neon: no package provides /usr/bin/env
>>>
>>> I've seen this with other python projects.
>>>
>>> Do you know what the right fix for this is?
>>>
>>> It seems that busybox provides /bin/env, but not /usr/bin/env.
>>
>> It seems the RPM dependencies got messy but it is not related to
>> Rogerio's change.
>>
>> I'd rebuild eglibc and see if it helps...
>
> Thanks Otavio.
> This should explain then.
> I didn't have any issue during piglit installation.
> I have to say that I haven't tested the runtime tough, because I'm
> having other unrelated issues with the SABRE SD...
>

I'm not sure I understand how these could be related,
but I ran a clean build overnight without success.

Note that this was a straight-forward fsl-image-gui image
with piglit appended to IMAGE_INSTALL in local.conf.

Regards,


Eric
Otavio Salvador - Jan. 27, 2014, 1:50 p.m.
Hi Eric,

On Mon, Jan 27, 2014 at 11:40 AM, Eric Nelson
<eric.nelson@boundarydevices.com> wrote:
> I'm not sure I understand how these could be related,
> but I ran a clean build overnight without success.
>
> Note that this was a straight-forward fsl-image-gui image
> with piglit appended to IMAGE_INSTALL in local.conf.

Interesting. I've been building fsl-image-gui with success. Could you
try this and see if it helps?

If it does, we have a missing dependency in pitlit or something like that.
Rogerio Nunes - Jan. 27, 2014, 2:10 p.m.
Hi guys,

On Mon, Jan 27, 2014 at 8:50 AM, Otavio Salvador
<otavio@ossystems.com.br> wrote:
> Hi Eric,
>
> On Mon, Jan 27, 2014 at 11:40 AM, Eric Nelson
> <eric.nelson@boundarydevices.com> wrote:
>> I'm not sure I understand how these could be related,
>> but I ran a clean build overnight without success.
>>
>> Note that this was a straight-forward fsl-image-gui image
>> with piglit appended to IMAGE_INSTALL in local.conf.
>
> Interesting. I've been building fsl-image-gui with success. Could you
> try this and see if it helps?
>
> If it does, we have a missing dependency in pitlit or something like that.
>

Same here. The tools-testapps IMAGE_FEATURE includes piglit in the
fsl-image-gui already.

I haven't tested with IMAGE_INSTALL, but I have the same understanding
as Otavio, that if the build is breaking, then there's probably a
dependency missing in the base recipe.

> --
> Otavio Salvador                             O.S. Systems
> http://www.ossystems.com.br        http://code.ossystems.com.br
> Mobile: +55 (53) 9981-7854            Mobile: +1 (347) 903-9750
Eric Nelson - Jan. 27, 2014, 2:23 p.m.
Hi Otavio,

On 01/27/2014 06:50 AM, Otavio Salvador wrote:
> Hi Eric
>
> On Mon, Jan 27, 2014 at 11:40 AM, Eric Nelson
> <eric.nelson@boundarydevices.com> wrote:
>> I'm not sure I understand how these could be related,
>> but I ran a clean build overnight without success.
>>
>> Note that this was a straight-forward fsl-image-gui image
>> with piglit appended to IMAGE_INSTALL in local.conf.
>
> Interesting. I've been building fsl-image-gui with success. Could you
> try this and see if it helps?
>
Right. I can do that as well.

> If it does, we have a missing dependency in pitlit or something like that.
>
Yes. Sorry if that wasn't clear.

The issue is that piglit seems to require /usr/bin/env during its'
rootfs operation, and I saw similar issues when building other recipes
that are based on Python.

The offending logfile is attached and the error message is this:

Computing transaction...error: Can't install 
python-core-2.7.3-r0.3@cortexa9hf_vfp_neon: no package provides /usr/bin/env

Hmmm. Looking at a successful image (fsl-image-gui without piglit)
shows that /usr/bin/env is present through busybox:

	./usr/bin/env -> /bin/busybox.nosuid

I thought I looked at this previously and only saw a symlink in
/bin/env.

So perhaps the issue is either a dependency issue for Python
or an issue with how busybox expresses what it provides.

I'll try to look further later.

Regards,


Eric
DEBUG: Executing python function rootfs_process_ignore
DEBUG: Python function rootfs_process_ignore finished
DEBUG: Executing python function rootfs_runtime_mapping
DEBUG: Python function rootfs_runtime_mapping finished
DEBUG: Executing shell function do_rootfs
Previous repo file missing: /home/ericn/yocto3/build-n6lite/tmp/deploy/rpm/all/repodata/primary.xml.gz
Previous repo file missing: /home/ericn/yocto3/build-n6lite/tmp/deploy/rpm/cortexa9hf_vfp_neon/repodata/primary.xml.gz
Previous repo file missing: /home/ericn/yocto3/build-n6lite/tmp/deploy/rpm/cortexa9hf_vfp_neon_mx6/repodata/primary.xml.gz
Previous repo file missing: /home/ericn/yocto3/build-n6lite/tmp/deploy/rpm/nitrogen6x_lite/repodata/primary.xml.gz
Note: configuring RPM platform settings
Note: configuring RPM system provides
Note: configuring RPM DB settings
Note: configuring Smart settings






Note: adding Smart channel nitrogen6x_lite (65)


Note: adding Smart channel cortexa9hf_vfp_neon_mx6 (60)


Note: adding Smart channel cortexa9hf_vfp_neon (55)


Note: adding Smart channel all (10)


Note: configuring RPM cross-install scriptlet_wrapper

Updating cache...               ######################################## [100%]

Saving cache...

Note: adding Smart RPM DB channel

Note: to be installed:  packagegroup-core-ssh-dropbear@all psplash@cortexa9hf_vfp_neon packagegroup-core-tools-profile@nitrogen6x_lite qt4-examples@nitrogen6x_lite packagegroup-qt-in-use-demos@all qt4-demos@nitrogen6x_lite rpm@cortexa9hf_vfp_neon cpufrequtils@cortexa9hf_vfp_neon piglit@cortexa9hf_vfp_neon_mx6 packagegroup-fsl-tools-benchmark@all nano@cortexa9hf_vfp_neon smartpm@cortexa9hf_vfp_neon packagegroup-core-qt-demoapps@all packagegroup-core-tools-testapps@nitrogen6x_lite packagegroup-core-x11-base@all packagegroup-core-nfs-server@all qt4-plugin-phonon-backend-gstreamer@nitrogen6x_lite packagegroup-fsl-gstreamer@nitrogen6x_lite packagegroup-core-x11-sato-games@nitrogen6x_lite packagegroup-core-tools-debug@nitrogen6x_lite fsl-gui-extrafiles@all packagegroup-fsl-tools-testapps@nitrogen6x_lite packagegroup-core-x11-sato@nitrogen6x_lite locale-base-en-us@cortexa9hf_vfp_neon locale-base-en-gb@cortexa9hf_vfp_neon
Loading cache...
Updating cache...               ######################################## [100%]

Computing transaction...error: Can't install python-core-2.7.3-r0.3@cortexa9hf_vfp_neon: no package provides /usr/bin/env

Saving cache...

WARNING: /home/ericn/yocto3/build-n6lite/tmp/work/nitrogen6x_lite-poky-linux-gnueabi/fsl-image-gui/1.0-r0/temp/run.do_rootfs.1356:1 exit 1 from
  smart --data-dir=${target_rootfs}/var/lib/smart install -y ${pkgs_to_install}
ERROR: Function failed: do_rootfs (log file is located at /home/ericn/yocto3/build-n6lite/tmp/work/nitrogen6x_lite-poky-linux-gnueabi/fsl-image-gui/1.0-r0/temp/log.do_rootfs.1356)
Eric Nelson - Jan. 27, 2014, 2:25 p.m.
Thanks Rogerio,

On 01/27/2014 07:10 AM, Rogerio Nunes wrote:
> Hi guys,
>
> On Mon, Jan 27, 2014 at 8:50 AM, Otavio Salvador
> <otavio@ossystems.com.br> wrote:
>> Hi Eric,
>>
>> On Mon, Jan 27, 2014 at 11:40 AM, Eric Nelson
>> <eric.nelson@boundarydevices.com> wrote:
>>> I'm not sure I understand how these could be related,
>>> but I ran a clean build overnight without success.
>>>
>>> Note that this was a straight-forward fsl-image-gui image
>>> with piglit appended to IMAGE_INSTALL in local.conf.
>>
>> Interesting. I've been building fsl-image-gui with success. Could you
>> try this and see if it helps?
>>
>> If it does, we have a missing dependency in pitlit or something like that.
>>
>
> Same here. The tools-testapps IMAGE_FEATURE includes piglit in the
> fsl-image-gui already.
>
> I haven't tested with IMAGE_INSTALL, but I have the same understanding
> as Otavio, that if the build is breaking, then there's probably a
> dependency missing in the base recipe.
>

So perhaps the answer is simple... Don't do that (use IMAGE_INSTALL
for piglit).

I just mentioned that I have been able to succesfully build
fsl-image-gui, and I didn't see that it was already including
piglit.

I'll test later today.

Regards,


Eric
Otavio Salvador - Jan. 27, 2014, 2:25 p.m.
Hello Eric and Rogerio,

On Mon, Jan 27, 2014 at 12:23 PM, Eric Nelson
<eric.nelson@boundarydevices.com> wrote:
> On 01/27/2014 06:50 AM, Otavio Salvador wrote:
>> On Mon, Jan 27, 2014 at 11:40 AM, Eric Nelson
>> <eric.nelson@boundarydevices.com> wrote:
>>>
>>> I'm not sure I understand how these could be related,
>>> but I ran a clean build overnight without success.
>>>
>>> Note that this was a straight-forward fsl-image-gui image
>>> with piglit appended to IMAGE_INSTALL in local.conf.
>>
>>
>> Interesting. I've been building fsl-image-gui with success. Could you
>> try this and see if it helps?
>>
> Right. I can do that as well.
>
>
>> If it does, we have a missing dependency in pitlit or something like that.
>>
> Yes. Sorry if that wasn't clear.
>
> The issue is that piglit seems to require /usr/bin/env during its'
> rootfs operation, and I saw similar issues when building other recipes
> that are based on Python.
>
> The offending logfile is attached and the error message is this:
>
> Computing transaction...error: Can't install
> python-core-2.7.3-r0.3@cortexa9hf_vfp_neon: no package provides /usr/bin/env
>
> Hmmm. Looking at a successful image (fsl-image-gui without piglit)
> shows that /usr/bin/env is present through busybox:
>
>         ./usr/bin/env -> /bin/busybox.nosuid
>
> I thought I looked at this previously and only saw a symlink in
> /bin/env.
>
> So perhaps the issue is either a dependency issue for Python
> or an issue with how busybox expresses what it provides.
>
> I'll try to look further later.

I can take a look at this; I suspect it is a regression of last
changes from update-alternatives which has been moved to opkg-utils
and there are some  known issues. I will try to reproduce it once I
get my autobuilder free.
Eric Nelson - Jan. 27, 2014, 7:49 p.m.
Hi Rogerio,

On 01/27/2014 07:25 AM, Eric Nelson wrote:
> Thanks Rogerio,
>
> On 01/27/2014 07:10 AM, Rogerio Nunes wrote:
>> Hi guys,
>>
>> On Mon, Jan 27, 2014 at 8:50 AM, Otavio Salvador
>> <otavio@ossystems.com.br> wrote:
>>> Hi Eric,
>>>
>>> On Mon, Jan 27, 2014 at 11:40 AM, Eric Nelson
>>> <eric.nelson@boundarydevices.com> wrote:
>>>> I'm not sure I understand how these could be related,
>>>> but I ran a clean build overnight without success.
>>>>
>>>> Note that this was a straight-forward fsl-image-gui image
>>>> with piglit appended to IMAGE_INSTALL in local.conf.
>>>
>>> Interesting. I've been building fsl-image-gui with success. Could you
>>> try this and see if it helps?
>>>
>>> If it does, we have a missing dependency in pitlit or something like
>>> that.
>>>
>>
>> Same here. The tools-testapps IMAGE_FEATURE includes piglit in the
>> fsl-image-gui already.
>>
>> I haven't tested with IMAGE_INSTALL, but I have the same understanding
>> as Otavio, that if the build is breaking, then there's probably a
>> dependency missing in the base recipe.
>>
>
> So perhaps the answer is simple... Don't do that (use IMAGE_INSTALL
> for piglit).
>
> I just mentioned that I have been able to succesfully build
> fsl-image-gui, and I didn't see that it was already including
> piglit.
>
> I'll test later today.
>

I've confirmed that the piglit tests run without adding this to
IMAGE_INSTALL.

Sorry for the noise.

I'm not sure what to make of the test results, but the framework
appears to be installed and functional.

In case it helps someone else, I had to invoke piglit-run.py from
/usr/bin and point it at the tests in /usr/lib/piglit:

	root@nitrogen6x:/usr/bin# env PIGLIT_BUILD_DIR=/usr/lib/piglit \
         ./piglit-run.py /usr/lib/piglit/tests/sanity.tests \
		~/results/sanity.results

Regards,


Eric
Rogerio Nunes - Jan. 28, 2014, 3:56 a.m.
Hi Eric,

> I've confirmed that the piglit tests run without adding this to
> IMAGE_INSTALL.
>
> Sorry for the noise.
>

No problem at all. Thanks for confirming.

Regards,
Rogerio.

Patch

diff --git a/recipes-graphics/piglit/piglit_git.bbappend b/recipes-graphics/piglit/piglit_git.bbappend
new file mode 100644
index 0000000..f5e16b3
--- /dev/null
+++ b/recipes-graphics/piglit/piglit_git.bbappend
@@ -0,0 +1,5 @@ 
+# Provide the need flags and backend settings to work with Vivante GPU
+CFLAGS_append_mx6 = " -DLINUX \
+                      ${@base_contains('DISTRO_FEATURES', 'x11', '-DEGL_API_FB', \
+                                        base_contains('DISTRO_FEATURES', 'wayland', \
+                                                      '-DEGL_API_WL', '', d), d)}"