Upgrading Graphics SDK in EZSDK

From Texas Instruments Wiki
Jump to: navigation, search

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>

Introduction

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.1.6.16.3977
cd /usr/lib
ln -s $i.1.6.16.3977 $i
ln -s $i.1.6.16.3977 $i.1
ln -s $i.1.6.16.3977 $i.1.6
cd -
done
target # for i in *.so
do 
cp $i /usr/lib/ES6.0/$i.1.6.16.3977
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 1.6.16.3977 (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.

The current version is 5.05.02.00. The supported platforms are DM816x and DM814x.

EZSDK Support