IMX6 Dual GPU problem

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

IMX6 Dual GPU problem

跳至解决方案
3,626 次查看
ali_sarlak
Contributor III

Hello experts, I've a voipac (Rex basic) imx6Dual board (http://www.voipac.com/#iMX6-REX-13212111) and I want to work on GPU, so I use Linux 3.14 (http://www.voipac.com/downloads/imx/iMX6_Rex/Module/src/linux/) and Linaro 4.9 + VFPv3-D16 , buildroot 2016 to make rootfs and also I use imx-gpu-viv-5.0.11.p7.4-hfp for my graphic user space libraries and demo files.

Here is my arm-linux-gnueabihf-gcc -v :

Using built-in specs.

COLLECT_GCC=/home/super/Desktop/work/out/host/opt/ext-toolchain/bin/arm-linux-gnueabihf-gcc

COLLECT_LTO_WRAPPER=/home/super/Desktop/work/out/host/opt/ext-toolchain/bin/../libexec/gcc/arm-linux-gnueabihf/4.9.2/lto-wrapper

Target: arm-linux-gnueabihf

Configured with: /cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/.build/src/gcc-linaro-4.9-2014.09/configure --build=i686-build_pc-linux-gnu --host=i686-build_pc-linux-gnu --target=arm-linux-gnueabihf --prefix=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/install --with-sysroot=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/install/arm-linux-gnueabihf/libc --enable-languages=c,c++,fortran --disable-multilib --enable-multiarch --with-arch=armv7-a --with-tune=cortex-a9 --with-fpu=vfpv3-d16 --with-float=hard --with-pkgversion='crosstool-NG linaro-1.13.1-4.9-2014.09 - Linaro GCC 4.9-2014.09' --with-bugurl=https://bugs.launchpad.net/gcc-linaro --enable-__cxa_atexit --enable-libmudflap --enable-libgomp --enable-libssp --with-gmp=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/.build/arm-linux-gnueabihf/build/static --with-mpfr=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/.build/arm-linux-gnueabihf/build/static --with-mpc=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/.build/arm-linux-gnueabihf/build/static --with-isl=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/.build/arm-linux-gnueabihf/build/static --with-cloog=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/.build/arm-linux-gnueabihf/build/static --with-libelf=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/.build/arm-linux-gnueabihf/build/static --enable-threads=posix --disable-libstdcxx-pch --enable-linker-build-id --enable-plugin --enable-gold --with-local-prefix=/cbuild/slaves/oorts/crosstool-ng/builds/arm-linux-gnueabihf-linux/install/arm-linux-gnueabihf/libc --enable-c99 --enable-long-long --with-mode=thumb --disable-multilib --with-float=hard

Thread model: posix

gcc version 4.9.2 20140904 (prerelease) (crosstool-NG linaro-1.13.1-4.9-2014.09 - Linaro GCC 4.9-2014.09)

After that I tried to run (/opt/viv_samples/tiger/tiger) but I ran into :

eglGetDisplay fail.

InitEgl fail!

In this case what should I do?

标签 (3)
标记 (1)
0 项奖励
回复
1 解答
2,241 次查看
ali_sarlak
Contributor III

Finally the problem went away it was because of lack of suitable galcore driver in :

linux-fslc-3.14-1.0.x-mx6-tinyrex-1.2.zip

I unchecked the "MXC Vivante GPU support" in kernel configuration then download the :

https://github.com/Freescale/kernel-module-imx-gpu-viv/archive/eeeb23c0fb1cee01318088d417025263479c4...

Compile it and then insmod the galcore module.

So the problems:

eglGetDisplay fail.

InitEgl fail!

solved.

Regards,

Ali

在原帖中查看解决方案

0 项奖励
回复
4 回复数
2,242 次查看
ali_sarlak
Contributor III

Finally the problem went away it was because of lack of suitable galcore driver in :

linux-fslc-3.14-1.0.x-mx6-tinyrex-1.2.zip

I unchecked the "MXC Vivante GPU support" in kernel configuration then download the :

https://github.com/Freescale/kernel-module-imx-gpu-viv/archive/eeeb23c0fb1cee01318088d417025263479c4...

Compile it and then insmod the galcore module.

So the problems:

eglGetDisplay fail.

InitEgl fail!

solved.

Regards,

Ali

0 项奖励
回复
2,241 次查看
igorpadykov
NXP Employee
NXP Employee

Hi Ali

according to Table 12-4. Cortex-A9 Core configuration

i.MX6DQ Reference Manual, core configuration does not include

fpu, only neon

http://cache.nxp.com/files/soft_dev_tools/doc/support_info/iMX6DQPRM.pdf

so seems gcc command line should not use "fpu***"  :

http://stackoverflow.com/questions/18785527/whichneon-vfp-vfp3-should-i-specify-for-the-mfpu-when-ev...

One can try SDK and BSPs with gpu demos from NXP i.MX6 product page

Board Support Packages (35)

L4.1.15_1.0.0_MX6QDLSOLO (REV L4.1.15_1.0.0)

http://www.nxp.com/products/microcontrollers-and-processors/arm-processors/i.mx-applications-process...

Regarding Rex examples, it may be recommended to post on support of this board,

as every board vendor customize BSPs for own boards and provides support for them.

Best regards

igor

-----------------------------------------------------------------------------------------------------------------------

Note: If this post answers your question, please click the Correct Answer button. Thank you!

-----------------------------------------------------------------------------------------------------------------------

2,241 次查看
ali_sarlak
Contributor III

Dear Igor,

Thank you for your prompt reply, I changed the compiler and arm-linux-gnueabi-gcc -v became:

Using built-in specs.

COLLECT_GCC=./arm-linux-gnueabi-gcc

COLLECT_LTO_WRAPPER=/home/super/Desktop/work/arm-linux-gnueabi/bin/../libexec/gcc/arm-linux-gnueabi/4.6.4/lto-wrapper

Target: arm-linux-gnueabi

Configured with: /home/super/Downloads/crosstool-ng-1.20.0/.build/src/gcc-linaro-4.6-2013.05/configure --build=i686-build_pc-linux-gnu --host=i686-build_pc-linux-gnu --target=arm-linux-gnueabi --prefix=/home/super/x-tools/arm-linux-gnueabi --with-sysroot=/home/super/x-tools/arm-linux-gnueabi/arm-linux-gnueabi/sysroot --enable-languages=c,c++ --with-arch=armv7-a --with-cpu=cortex-a9 --with-fpu=neon --with-float=softfp --with-pkgversion='crosstool-NG 1.20.0' --enable-__cxa_atexit --disable-libmudflap --disable-libgomp --disable-libssp --disable-libquadmath --disable-libquadmath-support --with-gmp=/home/super/Downloads/crosstool-ng-1.20.0/.build/arm-linux-gnueabi/buildtools --with-mpfr=/home/super/Downloads/crosstool-ng-1.20.0/.build/arm-linux-gnueabi/buildtools --with-mpc=/home/super/Downloads/crosstool-ng-1.20.0/.build/arm-linux-gnueabi/buildtools --with-ppl=/home/super/Downloads/crosstool-ng-1.20.0/.build/arm-linux-gnueabi/buildtools --with-cloog=/home/super/Downloads/crosstool-ng-1.20.0/.build/arm-linux-gnueabi/buildtools --with-libelf=/home/super/Downloads/crosstool-ng-1.20.0/.build/arm-linux-gnueabi/buildtools --with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm -L/home/super/Downloads/crosstool-ng-1.20.0/.build/arm-linux-gnueabi/buildtools/lib -lpwl' --enable-threads=posix --enable-target-optspace --disable-nls --disable-multilib --with-local-prefix=/home/super/x-tools/arm-linux-gnueabi/arm-linux-gnueabi/sysroot --enable-c99 --enable-long-long

Thread model: posix

gcc version 4.6.4 (crosstool-NG 1.20.0)

Still when I run tiger application it complains:

eglGetDisplay fail.

InitEGL fail!

And when I run :

/opt/viv_samples/cl11/UnitTest/test_vivante/initializers

ERROR: clGetPlatformIDs failed! ((unknown) from main.cpp:270)

My Linux version is :

Linux buildroot 3.14.58-yocto+g8aaaded #1 SMP PREEMPT Sun Mar 20 13:22:41 CET 2016 armv7l GNU/Linux

And Buildroot used:

imx-gpu-viv-5.0.11.p7.1-sfp

as graphic libraries for making rootfs.

What's wrong?

Regards,

Ali

0 项奖励
回复
2,241 次查看
igorpadykov
NXP Employee
NXP Employee

Hi Ali

I am not aware of L3.14.58 for i.MX, suggest to try:

Board Support Packages (29)

L3.14.52_1.1.0_MX6QDLSOLO (REV L3.14.52_1.1.0)

http://www.nxp.com/products/microcontrollers-and-processors/arm-processors/i.mx-applications-process...

~igor

0 项奖励
回复