NOTICE: The Processors Wiki will End-of-Life on January 15, 2021. It is recommended to download any files or other content you may need that are hosted on processors.wiki.ti.com. The site is now set to read only.
GSG: AM35x and OMAP35x Executing the Graphics SDK Demos
Content is no longer maintained and is being kept for reference only!
^ Up to main OMAP35x Graphics SDK Getting Started Guide Table of Contents
This section explains how to run the graphics demos provided with the OMAP35x Graphics SDK.
Contents
Building and Setting Up NFS based target file system[edit]
Refer Rebuilding Software:Installing_the_NFS_Target_File_System_with_Graphics_SDK_Demos for setting up the NFS target file system for executing the Graphics SDK Demos
Default Boot Parameter Settings[edit]
The boot parameter settings for OMAP35x EVM are similar to the settings as described in the OMAP35x EVM Getting Started Guide. Use the bootargs as mentioned below to execute the Graphics SDK demos. This is different from the bootargs used for running the OMAP3530 DVSDK demos and does not enable rotation and the memory available for linux operating system is 128MB or 256MB depending on the LPDDR part used in the processor board.
Please refer OMAP35x-PSP-SDK-##.##.##.##/docs/omap3517 for Default boot settings on AM35x EVM
Boot parameter settings for NFS[edit]
Kindly note that the bootargs are required to be set as below while running the Graphics SDK demos from NFS file system.
Also note that the console argument which is part of bootargs may change based on the Linux kernel(PSP) version in use.
So please refer to the respective Linux PSP user guide to get the exact settings for bootargs console argument. The rest of bootargs should be provided as shown below
For AM35x:
#setenv bootargs 'console=ttyS2,115200n8 noinitrd rw ethaddr=<eth address> ip=dhcp root=/dev/nfs nfsroot=<nfshost>:<rootpath>,nolock, mem=256M vram=10M omapfb.vram=0:4M,1:3M,2:3M'
For OMAP35x:
# setenv bootargs console=ttyS0,115200n8 noinitrd rw ip=dhcp root=/dev/nfs nfsroot=<nfshost>:<rootpath>,nolock mem=128M vram=8M omapfb.vram=0:8M
For 387x(814x):
#setenv bootargs 'console=ttyO0,115200n8 noinitrd rw ethaddr=<eth address> ip=dhcp root=/dev/nfs nfsroot=<nfshost>:<rootpath>,nolock, mem=128M vram=50M ti816xfb.vram=0:48M,1:1M,2:1M'
For 389x(816x):
#setenv bootargs 'console=ttyO2,115200n8 noinitrd rw ethaddr=<eth address> ip=dhcp root=/dev/nfs nfsroot=<nfshost>:<rootpath>,nolock, mem=128M vram=50M ti816xfb.vram=0:48M,1:1M,2:1M'
NOTE: Make sure that the size of the frame buffer is greater than 4MB. If not add omapfb.vram=”0:4M” to bootargs.
Running the Standalone Demos[edit]
Currently the demos do not start automatically on EVM power on. They need to be executed from the command line.
Running the Demos from Command Line[edit]
You can run the AM35x/OMAP35x Graphics SDK demo applications from the Linux shell in a terminal window connected to the EVM board’s serial port.
Before running your graphics SDK demo application from the command line, it is necessary to install the appropriate SGX user libraries as well as kernel modules, based on the AM35x/OMAP35x silicon version used in EVM and the debug or release version of the build being used. This is done by default, on DVEVM power up, when using the NFS based target file system built using the steps mentioned here.
In case the omap-demo script is not executed, kindly execute the following commands, after linux boot
target $ cd /etc/init.d target $ ./omap-demo
Procedure for 387x(814x) and 389x(816x)
Follow the steps as shown below after getting the linux command prompt on the target -
root@ti81xx-evm:cd /opt/HDVPSS_01_00_01_26 # insmod syslink.ko For 387x(814x) - # ./procmgrapp 2 ti814x_hdvpss.xem3 Press ctrl-z. For 389x(816x)- # ./procmgrapp 2 ti816x_hdvpss.xem3 Press ctrl-z. For 387x(TI814x) # insmod vpss.ko sbufaddr=0xCFE00000 mode=hdmi:1080p-60 For 389x(TI816x) insmod vpss.ko sbufaddr=0xB2C00000 mode=hdmi:1080p-60 For C6A814X/C6A816x # insmod vpss.ko mode=hdmi:1080p-60 # insmod TI81xx_hdmi.ko hdmi_mode=2 # insmod ti81xxfb.ko vram=0:24M,1:1M,2:1M Now run the 38xx demo script as shown below- # /etc/init.d/38xx-demo. On a successful run of the script, you will get messages(logs) on console as below- # /etc/init.d/38xx-demo /dev/mem opened. Memory mapped at address 0x404b8000. Value at address 0x48180F04 (0x404b8f04): 0x1 Written 0x0; readback 0x0 /dev/mem opened. Memory mapped at address 0x400df000. Value at address 0x48180900 (0x400df900): 0x2 Written 0x2; readback 0x2 /dev/mem opened. Memory mapped at address 0x404ce000. Value at address 0x48180920 (0x404ce920): 0x70000 Written 0x2; readback 0x2 0x10205 release6.x SGX Revision is 125... installing 6.x SGX release user libraries Installing PowerVR Consumer/Embedded DDK 1.6.16.3977 on target File system installation root is / Uninstalling existing version 1.6.16.3977 Uninstallation completed. boot script rc.pvr -> /etc/init.d/rc.pvr kernel module pvrsrvkm.ko -> /lib/modules/2.6.34/kernel/drivers/char/pvrsrvk m.ko kernel module omaplfb.ko -> /lib/modules/2.6.34/kernel/drivers/char/omaplfb. ko shared library libGLES_CM.so -> /usr/lib/libGLES_CM.so.1.1.16.3977 shared library libusc.so -> /usr/lib/libusc.so.1.1.16.3977 shared library libGLESv2.so -> /usr/lib/libGLESv2.so.1.1.16.3977 shared library libglslcompiler.so -> /usr/lib/libglslcompiler.so.1.1.16.3977 shared library libOpenVG.so -> /usr/lib/libOpenVG.so.1.1.16.3977 shared library libOpenVGU.so -> /usr/lib/libOpenVGU.so.1.1.16.3977 shared library libIMGegl.so -> /usr/lib/libIMGegl.so.1.1.16.3977 shared library libEGL.so -> /usr/lib/libEGL.so.1.1.16.3977 shared library libpvr2d.so -> /usr/lib/libpvr2d.so.1.1.16.3977 shared library libpvrPVR2D_BLITWSEGL.so -> /usr/lib/libpvrPVR2D_BLITWSEGL.so.1.1 .16.3977 shared library libpvrPVR2D_FLIPWSEGL.so -> /usr/lib/libpvrPVR2D_FLIPWSEGL.so.1.1 .16.3977 shared library libpvrPVR2D_FRONTWSEGL.so -> /usr/lib/libpvrPVR2D_FRONTWSEGL.so.1 .1.16.3977 shared library libpvrPVR2D_LINUXFBWSEGL.so -> /usr/lib/libpvrPVR2D_LINUXFBWSEGL. so.1.1.16.3977 shared library libpvrPVR2D_X11WSEGL.so -> /usr/lib/libpvrPVR2D_X11WSEGL.so.1.1.1 6.3977 shared library libsrv_um.so -> /usr/lib/libsrv_um.so.1.1.16.3977 shared library libsrv_init.so -> /usr/lib/libsrv_init.so.1.1.16.3977 shared library libPVRScopeServices.so -> /usr/lib/libPVRScopeServices.so.1.1.16. 3977 binary pvrsrvinit -> /usr/local/bin/pvrsrvinit binary sgx_init_test -> /usr/local/bin/sgx_init_test binary services_test -> /usr/local/bin/services_test binary sgx_blit_test -> /usr/local/bin/sgx_blit_test binary sgx_clipblit_test -> /usr/local/bin/sgx_clipblit_test binary sgx_flip_test -> /usr/local/bin/sgx_flip_test binary sgx_render_flip_test -> /usr/local/bin/sgx_render_flip_test binary pvr2d_test -> /usr/local/bin/pvr2d_test binary gles1test1 -> /usr/local/bin/gles1test1 binary gles1_texture_stream -> /usr/local/bin/gles1_texture_stream binary gles2test1 -> /usr/local/bin/gles2test1 shader glsltest1_vertshader.txt -> /usr/local/bin/glsltest1_vertshader.txt shader glsltest1_fragshaderA.txt -> /usr/local/bin/glsltest1_fragshaderA.txt shader glsltest1_fragshaderB.txt -> /usr/local/bin/glsltest1_fragshaderB.txt binary gles2_texture_stream -> /usr/local/bin/gles2_texture_stream binary ovg_unit_test -> /usr/local/bin/ovg_unit_test binary eglinfo -> /usr/local/bin/eglinfo binary xgles1test1 -> /usr/local/bin/xgles1test1 binary xmultiegltest -> /usr/local/bin/xmultiegltest Installation complete! You may now reboot your target. Module pvrsrvkm failed to load. Retrying. Running /sbin/depmod Module bc_example failed to load. Retrying. Continuing to load PowerVR services Loaded PowerVR consumer services. # lsmod Module Size Used by omaplfb 10450 0 pvrsrvkm 153189 1 omaplfb ti81xxfb 20355 1 TI81xx_hdmi 12394 0 vpss 58156 1 ti81xxfb syslink 754578 17 vpss Then run any of the openGLES1.1, 2.0 demos. Example shown below - cd /opt/gfxsdkdemos/ogles2 ./OGLES2Coverflow
This will install all the necessary SGX user modules and kernel modules as well as performs the necessary initializations. Executing omap-demo in turn calls the appropriate install.sh on the target, based on the silicon version and the build type (debug or release version) used. This will also execute the rc.pvr script to load kernel modules and initialize the relevant SGX modules.
Running Graphics SDK Sample Applications[edit]
These are standard Graphics SDK tests that are used to check the basic functionality of the graphics drivers. To run standard graphics SDK tests, perform the following steps:
target $ cd /usr/local/bin target $ ./gles1test1 –t target $ ./gles2test1 –t target $ ./ovg_unit_test –t
To stop the above graphics SDK tests, press ctrl+c
Execute the ES1 texture stream test using the command given below. To stop gles1_texture_stream test, press ‘q’
target $ ./gles1_texture_stream
Execute the following commands given below to test the SGX feature tests. These tests end on their own except for the sgx_render_flip_test. In this case, press ctrl+c to stop the test.
target $ ./sgx_blit_test target $ ./sgx_flip_test target $ ./sgx_render_flip_test target $ ./sgx_render_test
Running Graphics SDK OpenGL ES1.x Demos[edit]
To run OpenGL ES1.x demos, perform the following steps:
target $ cd /opt/gfxsdkdemos/ogles target $ ./OGLESFur
This will execute the OGLESFur demo. Press ‘q’ on the host machine console window (TeraTerm or HyperTerminal or Minicom) to stop the demo.
Similarly, the user could execute other OpenGL ES1.x demos.
For more information and command line options on the demos, refer to the OpenGL ES1.x SDK user guide available under OMAP35x_Graphics_SDK_#_##_##_##\GFX_Linux_SDK\OGLES\SDKPackage
Running Graphics SDK OpenGL ES2.0 Demos[edit]
To run OpenGLES2.0 demos, perform the following steps:
target $ cd /opt/gfxsdkdemos/ogles2 target $ ./OGLES2Coverflow
This will execute the OGLES2Coverflow demo. Press ‘q’ on the host machine console window (TeraTerm or HyperTerminal or Minicom) to stop the demo.
Similarly, the user could execute other OpenGL ES2.0 demos.
For more information and command line options on the demos, refer to the OpenGL ES2.x SDK user guide available under OMAP35x_Graphics_SDK_#_##_##_##\GFX_Linux_SDK\OGLES2\SDKPackage