Compile IMX6_GPU_SDK with L3.0.35_1.1.0 and L3.0.35_4.0.0

Document created by Isaac Ng Employee on Jun 18, 2013Last modified by Isaac Ng Employee on Mar 11, 2016
Version 7Show Document
  • View in full screen mode

There is GPU SDK for i.MX6D/Q/DL/S: IMX_GPU_SDK.  This is to share the experience when compiling the example code from the SDK with Linux BSP release: L3.0.35_1.1.0_121218 and  L3.0.35_4.0.0_130424 .

 

 

Minimal profile is using and have been verified on both i.MX6Q SDP and i.MX6DL SDP.

 

To start:

  • Please make sure “gpu-viv-bin-mx6q” has been selected in the Package list and compiled to your rootfs.
  • After finished the compilation of the rootfs, you should find some newly added libraries for GLES1.0, GLES2.0, OpenVG and EGL in <ltib>/rootfs/usr/lib
  • However, you should find libOpenVG.so is actually copied from libOepnVG_3D.so:

vmuser@ubuntu:~/ltib_src/ltib/rootfs/usr/lib$ ls -al libOpen*

-rwxr-xr-x 1 root root 115999 2013-06-06 18:31 libOpenCL.so

-rwxr-xr-x 1 root root 515174 2013-06-06 18:31 libOpenVG_355.so

-rwxr-xr-x 1 root root 272156 2013-06-06 18:31 libOpenVG_3D.so

-rwxr-xr-x 1 root root 272156 2013-06-06 18:31 libOpenVG.so

So, in this way, i.MX6D/Q will no use libOpenVG_355.so in the build.

 

  • Also, if you run NFS, the libOpenVG.so will change to symbolic link:

          For example, run on i.MX6Q SDP, it will link to /usr/lib/libOpenVG_355.so

               Clipboard04.jpg

 

          For example, run on i.MX6DL SDP, it will link to /usr/lib/libOpenVG_3D.so

               Clipboard05.jpg

 

  • Then, when you compile the OpenVG example code, it is becoming very confusing.  Thus, it needs to pay attention when doing the compilation.  For example, delete the symbolic link and make copy of the corresponding library:

 

For i.MX6D/Q, please do this:

$ sudo /bin/rm libOpenVG.so

$ sudo cp libOpenVG_355.so libOpenVG.so

 

 

For i.MX6S/DL, please do this:

$ sudo /bin/rm libOpenVG.so

$ sudo cp libOpenVG_3D.so libOpenVG.so

 

  • To compile the sample code in the GPU SDK, you could refer to iMXGraphicsSDK_OpenGLES2.0.pdf or iMXGraphicsSDK_OpenGLES1.1.pdf in ~/gpu_sdk_v1.00.tar/Documentation/Tutorials to set up the cross compilation environment; which is assuming the LTIB and the rootfs is ready.

 

$ export ROOTFS=/home/vmuser/ltib_src/ltib/rootfs

$ export CROSS_COMPILE=/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/arm-none-linux-gnueabi-

 

For OpenVG:

$ cd ~/gpu_sdk_v1.00/Samples/OpenVG

$ make -f Makefile.fbdev clean

$ make -f Makefile.fbdev

$ make -f Makefile.fbdev install

The executable will then be copied to this directory: ~/gpu_sdk_v1.00/Samples/OpenVG/bin/OpenVG_fbdev

 

For GLES2.0

$ cd ~/gpu_sdk_v1.00/Samples/ GLES2.0

$ make -f Makefile.fbdev clean

$ make -f Makefile.fbdev

$ make -f Makefile.fbdev install

The executable will then be copied to this directory: ~/gpu_sdk_v1.00/Samples/ GLES2.0/bin/GLES20_fbdev

 

For GLES1.1, please modify the Makefile.fbdev to remove the compilation of example codes "18_VertexBufferObjects" and "19_Beizer" that are not exist. Then,

$ cd ~/gpu_sdk_v1.00/Samples/ GLES1.1

$ make -f Makefile.fbdev clean

$ make -f Makefile.fbdev

$ make -f Makefile.fbdev install

The executable will then be copied to this directory: ~/gpu_sdk_v1.00/Samples/ GLES1.1/bin/GLES11_fbdev

 

  • Finally, you could copy the executable to the rootfs and test on i.MX6Q SDP/SDB or i.MX6DL SDP board.

 

 

NOTE: the newly added makefiles.tgz contains Makefile.x11 hacked from GLES2.0 example code to make OpenVG to compile and run on Ubuntu 11.10 rootfs.

 

 

1 person found this helpful

Attachments

Outcomes