IMX6 Dual GPU problem

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

IMX6 Dual GPU problem

Jump to solution
2,442 Views
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?

Labels (3)
Tags (1)
0 Kudos
1 Solution
1,057 Views
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

View solution in original post

0 Kudos
4 Replies
1,058 Views
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 Kudos
1,057 Views
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!

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

1,057 Views
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 Kudos
1,057 Views
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 Kudos