Upgrading Graphics SDK in EZSDK
Note! This document gives instructions on how to upgrade Graphics SDK 4.00.00.01 to Graphics SDK 4.03.00.02. These instructions are specific to EZSDK 5.00.00.56 release.
Note! EZSDK 5.02.01.59 onwards, the full Graphics SDK is not available inside the EZSDK directory and hence the instructions on updating the EZSDK Makefile and rebuilding the Graphics SDK Drivers, Libraries and Demos no longer apply. Instead please download the Graphics SDK from http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gfxsdk/latest/index_FDS.html and build the SGX Drivers, and Demos as per the documentation inside the Graphics SDK itself. Note that you can still use the instructions below on upgrading the filesystem in release 5.02.01.59 as well.
Throughout this document there will be commands spelled out to execute. Some are to be executed on the Linux development host, some on the Linux target and some on the u-boot (bootloader) prompt. They are distinguished by different command prompts as follows:
host $ <this command is to be executed on the host> target # <this command is to be executed on the target> u-boot :> <this command is to be executed on the u-boot prompt>
The EZSDK 5.00.00.56 contains Graphics SDK version 4.00.00.01. A newer version of Graphics SDK - 4.03.00.02 is now available that fixes several issues with SGX libraries including SGX lockup problems. For more information please refer the Graphics SDK Release Notes. Hence, if your application is using 4.00.00.01 and you are experiencing SGX lockup issues, then you could upgrade to Graphics SDK 4.03.00.02. This document provides steps that show how to upgrade the EZSDK installation and target filesystem.
Note! These instructions assume that you have set the $EZSDK environmental variable to point to your installation. To see how to set this variable, please refer the EZSDK Software Developer's Guide that's present in your docs directory.
Note! These instructions require you run a number of commands on your host. Please ensure that all steps are followed closely.
Installing Graphics SDK 4.03.00.02
Graphics SDK 4.03.00.02 is no longer available for download but 4.04.00.02 is from http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gfxsdk/latest/index_FDS.html. You can download the release from the URL on your host by running the following command on your host.
host $ cd $EZSDK host $ wget http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gfxsdk/latest//exports/Graphics_SDK_setuplinux_4_03_00_02.bin
Note! In case you are behind a firewall, you may need to setup your network proxy.
Run the Graphics SDK installer and install it into your EZSDK installation directory.
host $ chmod +x Graphics_SDK_setuplinux_4_03_00_02.bin host $ ./Graphics_SDK_setuplinux_4_03_00_02.bin
Note! Please ensure that you override the default location that Graphics SDK will install to. You will need to explicitly mention the location of the EZSDK installation.
You should now see a directory named Graphics_SDK_4_03_00_02 present inside your EZSDK installation. You can check for the same by running the following command
host $ ls $EZSDK
Updating EZSDK Makefiles
The Rules.make in your EZSDK toplevel directory needs to be updated to point to the new installation of Graphics SDK.
host $ cp $EZSDK/Rules.make $EZSDK/Rules.make.pristine host $ sed -i s/omap35x_graphics_sdk_4.00.00.01/Graphics_SDK_4_03_00_02/g $EZSDK/Rules.make
The toplevel Makefile needs to be updated.
host $ cp $EZSDK/Makefile $EZSDK/Makefile.pristine host $ sed -i s/gfx_rel_es3.x/gfx_rel_es6.x/g $EZSDK/Makefile
Rebuilding Graphics SDK Kernel Modules and Demos
The Graphics SDK is dependent on the linux kernel and syslink. As a result, these need to be built before you build the graphics SDK. To build the linux kernel, please run the following command.
host $ cd $EZSDK host $ make linux
Next, the syslink HLOS software needs to be built. Please run the following command to build the syslink linux kernel module and libraries.
host $ make syslink_hlos
The linux defconfig does not enable the fbdev kernel module by default. The following steps need to followed to enable and build the fbdev module. The path to Codesourcery toolchain needs to be present in your path first.
host $ export PATH=$PATH:<PATH to Codesourcery Installation>/bin
You can check if the PATH is set correctly by running the following command
host $ arm-none-linux-gnueabi-gcc -dumpversion 4.3.3
Now, you will need to run menuconfig for the linux kernel and enable the FBDev driver as a module (M).
host $ cd $EZSDK/psp/linux-2.6.34-psp04.00.00.07 host $ make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- menuconfig
Select Device Drivers Select graphics support Select TI81XX Video Processing Subsystem (EXPERIMENTAL) Select the VPSS configuration. Select TI81XX frame buffer support (EXPERIMENTAL)
Now, you will need to rebuild the linux modules by running the following commands
host $ export IPCDIR=$EZSDK/ipc_1_22_00_10_eng/packages host $ export SYSLINK_ROOT=$EZSDK/syslink_02_00_00_56 host $ make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- \ KBUILD_EXTRA_SYMBOLS=$EZSDK/syslink_02_00_00_56/ti/syslink/utils/hlos/knl/Linux/Module.symvers modules
For more information on how to build the FBDev driver, please refer the VPSS Video Driver UserGuide present in $EZSDK/psp/docs directory.
You are now ready to build the Graphics SDK Kernel Modules and Demos. Please execute the following command to build the Graphics SDK.
host $ cd $EZSDK host $ make opengldemos
Installing the Graphics SDK on your Target Filesystem
Once the graphics SDK build is complete, you can install the graphics SDK kernel modules, user libraries and demo application to the target filesystem. Run the following command to copy the necessary files.
host $ cd $EZSDK host $ make opengldemos_install
This will copy the graphics SDK kernel modules, libraries and demos to <targetfs>/home/root/c6a816x-evm/opengl-demos
You will now need to replace the older kernel modules from the filesystem. These instructions need to be run on your target. Boot the C6A816x EVM and log on to the target. First stop the PowerVR drivers.
target # /etc/init.d/pvr-init stop
Next, copy the kernel modules to the lib directory so that it can be found by the initialization scripts.
target # cd /lib/modules/2.6.34/kernel/drivers/gpu/ target # for i in *.ko do cp $i $i.pristine done
target # cd /home/root/c6a816x-evm/opengl-demos/ target # cp -f *.ko /lib/modules/2.6.34/kernel/drivers/gpu/
Replace the older SGX libraries.
target # cd /home/root/c6a816x-evm/opengl-demos/opt/gfxlibraries/gfx_rel_es6.x target # for i in *.so do rm /usr/lib/$i rm /usr/lib/$i.1 rm /usr/lib/$i.1.4 cp $i /usr/lib/$i.22.214.171.12477 cd /usr/lib ln -s $i.126.96.36.19977 $i ln -s $i.188.8.131.5277 $i.1 ln -s $i.184.108.40.20677 $i.1.6 cd - done
target # for i in *.so do cp $i /usr/lib/ES6.0/$i.220.127.116.1177 done
target # cp pvrsrvinit /usr/bin target # cp pvrsrvinit /usr/bin/ES6.0 target # cp pvr2d_test /usr/bin target # cp pvr2d_test /usr/bin/ES6.0 target # cp pdump /usr/bin target # cp pdump /usr/bin/ES6.0
Now that the kernel modules and libraries are copied, please sync the filesystem.
target # sync
The SGX core can now be initialized.
target # /etc/init.d/pvr-init start
You can now verify that the installation has been upgraded by checking the version of pvr.
target # cat /proc/pvr/version Version 18.104.22.16877 (release) ~/ti-ezsdk_c6a816x-evm_5_00_00_56/Graphics_SDK_4_03_00_02/GFX_Linux_KM System Version String: SGX revision = 1.2.5
You can now run the graphics SDK demos.
target # cd ~/c6a816x-evm/opengl-demos/opt/gfxsdkdemos/ogles target # ./OGLESSkybox
To stop the demo, please press 'q'.
Download the Latest EZSDK
The latest EZSDK is available for download from http://software-dl.ti.com/dsps/dsps_public_sw/ezsdk/latest/index_FDS.html.