You are on page 1of 14

Graphics SDK Quick installation and user guide - Texas I...

http://processors.wiki.ti.com/index.php/Graphics_SDK_Q...

Graphics SDK Quick installation and user guide


From Texas Instruments Embedded Processors Wiki
Graphics SDK Quick installation and user guide Translate this page to de - Deutsch

Translate Search

Contents
1 About Graphics SDK 2 Download Information for TI SGX Graphics SDK 3 Build and install instructions 3.1 Components that require installation onto the target 3.1.1 Kernel Modules 3.1.2 Graphics SDK - examples, headers 3.2 Install steps 3.3 Build steps 3.4 make command line options details 3.5 Sample usage 3.5.1 Non-Xorg build 3.5.2 Xorg build 4 Execution instructions 4.1 Step 1 : Bootargs setup/verication 4.2 Step 2 : soc demo script verication 4.3 Xorg Execution steps 4.4 Running Graphics SDK OpenGL ES1.x Demos 4.5 Running Graphics SDK OpenGL ES2.0 Demos 5 Appendix 5.1 How to build training course examples, openVG demo 5.2 How to check for SGX core revision 5.3 Integration with other frameworks 5.4 Using the PIXMAP surface for Drawing 5.5 Debugging SGX Issues

About Graphics SDK


TI Linux Graphics SDK is a single stop solution to get graphics drivers and OpenGLES1.1,2.0 and OpenVG demos running on all TI platforms. The supported list of TI devices with graphics core deatils are provided in table belowTI System on Chips, and SGX cores SGX Core SGX Core Revision SDK folder sux Max SGX Core Frequency (MHz) 1.2.1 1.2.5 1.2.5 1.2.5 1.2.5 es3.x es5.x es6.x es6.x es8.x 110 200 200 333 200 SGX530 SGX530 SGX530 SGX530

TI SOC Name AM37xx, DM37xx AM387x, C6A814x AM389x, C6A816x AM335x

OMAP35xx, AM35xx Rev.3.1 SGX530

Download Information for TI SGX Graphics SDK


The latest Linux Graphics SDK can be downloaded from the below link. The download does not require any registration. http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gfxsdk/latest/index_FDS.html

Build and install instructions


This section describes how to build and install Graphics SDK demos for a specic device.

Components that require installation onto the target


Kernel Modules omaplfb, pvrsrvkm, and buerclass_ti are the modules that need to be inserted at runtime. omaplfb is responsible for interfacing to the platform specic FrameBuer driver. pvrsrvkm is responsible for interfacing the user-side PVR services layer. Buerclass_ti is responsible for enabling a proprietary extension that allows streaming playback through SGX. Graphics SDK - examples, headers This component allows users to build Graphics applications using the provided binaries. GLES11/2.0/VG headers are provided by this component.

1 of 14

05.02.2012 19:56

Graphics SDK Quick installation and user guide - Texas I...


Install steps

http://processors.wiki.ti.com/index.php/Graphics_SDK_Q...

Graphics SDK installer supports both typical(complete) and custom installation(for advanced users). Install the graphics SDK by running the Graphics SDK installer(.bin) on the linux PC as ./Graphics_SDK_xx_xx_xx_xx.bin In GUI mode, installation is intuitive. Follow the instructions shown on screen and complete the installation. This will install the complete graphics SDK package by default. One can also selectively choose the required components for installation . For eg if one wants to install for 387x(TI814x) or 389x(TI816x) device only then one can select es6.x component only and unselect rest of the options. Also if one does not require the SDK demos , then unselecting the sdk option will serve the purpose. In command line (console mode), run the installer with --help option as ./Graphics_SDK_xx_xx_xx_xx.bin --help. This shows options as belowAvailable Options: --es3.x --es5.x --es6.x --es8.x --help --mode [ARG]

install es3.x (console mode only) # For OMAP35x/AM35x with SGX core 1.2.1 install es5.x (console mode only) # for AM37xx with SGX Core 1.2.5 install es6.x (console mode only) # For 387x(TI814x), 389x(TI816x) install es8.x (console mode only) # For AM335x display this information set the mode to run the installer in Available values: console or standard set the installation directory a file to read installer responses from a file to write installer responses to when the installer exits

--prefix [ARG] --response-file [ARG] --save-response-file [ARG]

--sdk --temp [ARG] --version

install sdk (console mode only) set the temporary directory used by this program display installer version information

Using the above options shown, the user can selectively install the required components only.

Build steps
Pre-Requisites: 1. 2. 3. 4. Ensure Ensure Ensure Ensure that that that that toolchain installation is complete the NFS target is setup the setup and build for u-boot is complete the setup and build for Linux Kernel is complete

Refer to respective u-boot and PSP user guide for more information to perform the above steps To rebuild the Graphics SDK demos, perform the following steps. 1. Change the directory to ~/Graphics_SDK_#_##_##_##. 2. Export the architecture to enviournment variables as shown below.
host $ export ARCH=arm

3. Edit the ~/Graphics_SDK_#_##_##_##/Rules.make le. Set GRAPHICS_INSTALL_DIR to the top-level graphics installation directory as follows
HOME=/home/<user_account> GRAPHICS_INSTALL_DIR=${HOME}/Graphics_SDK_#_##_##_##

Set the toolchain installation directory path to where you have installed the CodeSourcery tool-chain
CSTOOL_DIR = <your_toochain_installation_path> For example, in our case CSTOOL_DIR = /home/<user_account>/toolchain/arm-2009q1 CSTOOL_DIR = /home/<user_account>/toolchain/arm-2010q1 (For AM45x(Panda board))

Set the kernel installation directory path


KERNEL_INSTALL_DIR = <your_kernel_installation_directory_path> For example, in our case KERNEL_INSTALL_DIR = /home/<user_account>/workdir/opt/linux-##.##.##.##

Modify the TARGETFS_INSTALL_DIR to point to the correct location where the users target le system resides
TARGETFS_INSTALL_DIR=/home/<user_account>/workdir/filesys

4. While in the same directory that contains Rules.make, use the following commands to build the AM335x/AM35xx/AM37xx/OMAP35xx /387x/389x Graphics SDK demo applications The top level Graphics SDK Makele supports Graphics SDK demos to be built for both debug and release options. Execute the following command for usage options

2 of 14

05.02.2012 19:56

Graphics SDK Quick installation and user guide - Texas I...

http://processors.wiki.ti.com/index.php/Graphics_SDK_Q...

host $ make help

This will print the usage as follows:


$ make help Usage (for build): make BUILD={debug | release} OMAPES={3.x | 5.x | 6.x | 8.x} FBDEV={yes | no} SUPPORT_XORG= {1 | 0 } all|all_km Platform OMAPES ------------OMAP35x 3.x DM37x/AM37x 5.x 816x(389x)/814x(387x) 6.x AM335x(SGX 125 core) 8.x --> Specifying OMAPES is mandatory. BUILD=release and FBDEV=yes SUPPORT_XORG=0(not enabled) by default Usage (for install): make BUILD=(debug | release} OMAPES={3.x | 5.x | 6.x | 8.x} install --> See online Graphics Getting Started Guide for further details.

make command line options details


BUILD = {debug | release} - This option is to choose between debug or release build. Release build is for production and debug build is useful in debugging any issues with graphics SDK as it gives more detailed prints/messages on console. OMAPES={3.x | 5.x | 6.x | 8.x} - This option enables the TI device selection. The make help command provides the table showing the mapping between the OMAPES value and the device. FBDEV={yes | no} - This option helps in eliminating any Fbdev dependancy. It uses PIXMAP if Fbdev=no. SUPPORT_XORG= {1 | 0 } - This option helps to build with/without X11 support. If you require to run any X apps, then make sure to build with SUPPORT_XORG=1 all or all_km - When you use all, the complete graphics SDK demos including all OpenGL ES1.1, 2.0 demos are built. If you use all_km only the graphics driver kernel modules get built. install or install_km - After issuing make with all, you can use make install or if you had issued make with all_km, you can use install_km.

Sample usage
Non-Xorg build make BUILD=release OMAPES=8.x all_km - This command will build only Graphics kernel modules(pvrsrvkm.ko, omaplfb.ko) for AM335x. make BUILD=release OMAPES=8.x all - This command will build the complete graphics SDK for AM335x. make BUILD=release OMAPES=8.x install_km - This command will install only the graphics kernel modules(pvrsrvkm.ko, omaplfb.ko)to target le system as mentioned in Rules.make. make BUILD=release OMAPES=8.x install - This command will install the complete graphics SDK to target le system as mentioned in Rules.make. In the above set of commands,one can replace OMAPES values with values based on TI device in use(OMAPES to TI device mapping information can be obtained by issuing make help command). Xorg build make BUILD=release OMAPES=6.x SUPPORT_XORG=1 all_km - This command will build only Graphics kernel modules(pvrsrvkm.ko, drm.ko) for 387x/389x, TI816x/TI814x devices. make BUILD=release OMAPES=6.x SUPPORT_XORG=1 all - This command will build the complete graphics SDK for 387x/389x, TI816x/TI814x devices. make BUILD=release OMAPES=6.x SUPPORT_XORG=1 install_km - This command will install only the graphics kernel modules(pvrsrvkm.ko, drm.ko) to target le system as mentioned in Rules.make make BUILD=release OMAPES=6.x SUPPORT_XORG=1 install - This command will install the complete graphics SDK to target le system as mentioned in Rules.make In the above set of commands,one can replace OMAPES values with values based on TI device in use(OMAPES to TI device mapping information can be obtained by issuing make help command).

Execution instructions
Step 1 : Bootargs setup/verication
Kindly note that the bootargs are required to be set as below while running the Graphics SDK demos from NFS le 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 ti814xfb.vram=0:48M,1:1M,2:1M'

3 of 14

05.02.2012 19:56

Graphics SDK Quick installation and user guide - Texas I...

http://processors.wiki.ti.com/index.php/Graphics_SDK_Q...

For 387x PG 1.0 EVM with PSP 04.01.00.05 and syslink version 2.00.00.78 and above -

#setenv bootargs 'console=ttyO0,115200n8 noinitrd rw ethaddr=<eth address> ip=dhcp root=/dev/nfs nfsroot=<nfshost>:<rootpath>,nolock, mem=128M vram=50M ti814xfb.vram=0:48M,1:1M,2:1M notify

For 387x PG 2.1 EVM with PSP 04.01.00.05 and syslink version 2.00.00.78 and above -

#setenv bootargs 'console=ttyO0,115200n8 noinitrd rw ethaddr=<eth address> ip=dhcp root=/dev/nfs nfsroot=<nfshost>:<rootpath>,nolock, mem=128M vram=50M ti814xfb.vram=0:48M,1:1M,2:1M notify

For 389x(816x) with PSP 04.00.00.12 and syslink version 2.00.00.78 and above :

#setenv bootargs 'console=ttyO2,115200n8 noinitrd rw ethaddr=<eth address> ip=dhcp root=/dev/nfs nfsroot=<nfshost>:<rootpath>,nolock, mem=128M vram=24M ti816xfb.vram=0:24M notifyk.vpssm3_s

For AM45x(Panda board):


#setenv bootargs 'console=ttyO2,115200n8 mem=456M@0x80000000 mem=512M@0xA0000000 root=/dev/mmcblk0p2 rw vram="48M" omapfb.vram=0:24M'

For AM335xsetenv bootargs 'console=ttyO0,115200n8 root=/dev/nfs nfsroot=<nfshostipaddress>:<rootpath>,nolock rw mem=256M ip=dhcp earlyprintk=serial vram=50M'

Step 2 : soc demo script verication


The graphics SDK comes with a SOC specic startup script that takes care of installing the right set of graphics driver libraries and kernel modules. OMAP35x Execution instructions For OMAP35x/37x the graphics drivers are all installed by default. omap-demo script takes care of that. If not run by default, you can run it manually as /etc/init.d/omap-demo. AM335x Execution instructions Run the script /etc/init.d/335x-demo at Linux command prompt after the AM335x EVM boots up. 387x/389x Execution instructions For 387x/389x the demo script that installs graphics drivers is - /etc/init.d/38xx-demo. For 387x(TI814x), 389x (TI816x) devices, syslink, vpss, hdmi modules need to be inserted before running the demo script. These are part of syslink and HDVPSS release package. So follow the instructions after installing the HDVPSS release package on EVM as below For syslink version 2.00.00.78, Linux PSP version 4.00.00.12(TI816x/389x), Linux PSP version 4.01.00.05 (TI814x/387x) and above root@arago:/opt/built_04_01_00_05_psp#insmod syslink.ko SysLink version : 2.00.00.78 SysLink module created on Date:Jun 30 2011 Time:15:38:19 For 387x(TI814x) - PG 1.0 EVM root@arago:/opt/built_04_01_00_05_psp#./slaveloader startup VPSS-M3 ti814x_hdvpss_512M.xem3 Attached to slave procId 2. Loaded file ti814x_hdvpss.xem3 on slave procId 2. Started slave procId 2. For 387x(TI814x) - PG 2.1 EVM root@arago:/opt/built_04_01_00_05_psp#./slaveloader startup VPSS-M3 ti814x_hdvpss_1G.xem3 Attached to slave procId 2. Loaded file ti814x_hdvpss.xem3 on slave procId 2. Started slave procId 2.

For 389x(TI816x) root@arago:/opt/built_04_01_00_05_psp#./slaveloader startup VPSS-M3 ti816x_hdvpss.xem3 Attached to slave procId 2. Loaded file ti816x_hdvpss.xem3 on slave procId 2. Started slave procId 2. For 387x(TI814x) PG 1.0 EVM and 389x(TI816x) root@arago:/opt/built_04_01_00_05_psp#insmod vpss.ko For 387x(TI814x) PG 2.1 EVMinsmod vpss.ko sbufaddr=0xA0200000 root@arago:/opt/built_04_01_00_05_psp#insmod ti81xxhdmi.ko For 387x(TI814x)root@arago:/opt/built_04_01_00_05_psp#insmod ti81xxfb.ko vram=0:24M,1:1M,2:1M HDMI W1 rev 4.0 root@arago:/opt/built_04_01_00_05_psp# For 389x(TI816x)insmod ti81xxfb.ko vram=0:24M

root@arago:/opt/built_04_01_00_05_psp#/etc/init.d/38xx-demo /dev/mem opened. Memory mapped at address 0x4042a000. Value at address 0x48180F04 (0x4042af04): 0x1 Written 0x0; readback 0x0 /dev/mem opened. Memory mapped at address 0x4047e000. Value at address 0x48180900 (0x4047e900): 0x2 Written 0x2; readback 0x2

4 of 14

05.02.2012 19:56

Graphics SDK Quick installation and user guide - Texas I...

http://processors.wiki.ti.com/index.php/Graphics_SDK_Q...

/dev/mem opened. Memory mapped at address 0x4047b000. Value at address 0x48180920 (0x4047b920): 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.4117 on target File system installation root is / Uninstalling existing version 1.6.16.4117 Uninstallation completed. boot script rc.pvr -> /etc/init.d/rc.pvr kernel module pvrsrvkm.ko -> /lib/modules/2.6.37/kernel/drivers/char/pvrsrvkm.ko kernel module omaplfb.ko -> /lib/modules/2.6.37/kernel/drivers/char/omaplfb.ko shared library libGLES_CM.so -> /usr/lib/libGLES_CM.so.1.1.16.4117 shared library libusc.so -> /usr/lib/libusc.so.1.1.16.4117 shared library libGLESv2.so -> /usr/lib/libGLESv2.so.1.1.16.4117 shared library libglslcompiler.so -> /usr/lib/libglslcompiler.so.1.1.16.4117 shared library libOpenVG.so -> /usr/lib/libOpenVG.so.1.1.16.4117 shared library libOpenVGU.so -> /usr/lib/libOpenVGU.so.1.1.16.4117 shared library libIMGegl.so -> /usr/lib/libIMGegl.so.1.1.16.4117 shared library libEGL.so -> /usr/lib/libEGL.so.1.1.16.4117 shared library libpvr2d.so -> /usr/lib/libpvr2d.so.1.1.16.4117 shared library libpvrPVR2D_BLITWSEGL.so -> /usr/lib/libpvrPVR2D_BLITWSEGL.so.1.1.16.4117 shared library libpvrPVR2D_FLIPWSEGL.so -> /usr/lib/libpvrPVR2D_FLIPWSEGL.so.1.1.16.4117 shared library libpvrPVR2D_FRONTWSEGL.so -> /usr/lib/libpvrPVR2D_FRONTWSEGL.so.1.1.16.4117 shared library libpvrPVR2D_LINUXFBWSEGL.so -> /usr/lib/libpvrPVR2D_LINUXFBWSEGL.so.1.1.16.4117 shared library libpvrPVR2D_X11WSEGL.so -> /usr/lib/libpvrPVR2D_X11WSEGL.so.1.1.16.4117 shared library libsrv_um.so -> /usr/lib/libsrv_um.so.1.1.16.4117 shared library libsrv_init.so -> /usr/lib/libsrv_init.so.1.1.16.4117 shared library libPVRScopeServices.so -> /usr/lib/libPVRScopeServices.so.1.1.16.4117 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 binary xgles1_texture_stream -> /usr/local/bin/xgles1_texture_stream binary xgles2test1 -> /usr/local/bin/xgles2test1 binary xgles2_texture_stream -> /usr/local/bin/xgles2_texture_stream binary xovg_unit_test -> /usr/local/bin/xovg_unit_test Installation complete! You may now reboot your target. Loaded PowerVR consumer services. * If your graphics driver installtion is successful, you should see the message - "Loaded PowerVR consumer services" on console as above. * Also on issuing lsmod you should see pvrsrvkm, omaplfb modules inserted successfully for SUPPORT_XORG=0 build. * In case of SUPPORT_XORG=1 build, you should see pvrsrvkm, drm modules inserted successfully. Please refer to http://processors.wiki.ti.com/index.php/SGXDbg for more details.

root@arago:/opt/built_04_01_00_05_psp# cd /opt/gfxsdkdemos/ogles2 root@arago:/opt/gfxsdkdemos/ogles2# ls ChameleonScene.pod FilmTVScene.pod OGLES2ChameleonMan OGLES2Coverflow OGLES2FilmTV OGLES2PhantomMask OGLES2Shaders OGLES2Skybox2 OGLES2Water PhantomMask.pod Scene.pod WaterScene.pod sgxdumb.rgb

root@arago:/opt/gfxsdkdemos/ogles2# ./OGLES2Skybox2 Can't open keypad input device (/dev/input/event0) PVRShell: EGL 1.4 initialized root@arago:/opt/gfxsdkdemos/ogles2# lsmod Module omaplfb pvrsrvkm ti81xxfb ti81xxhdmi vpss syslink ipv6 Size 10450 153503 20395 12992 62051 1120983 209879 Used by 0 1 omaplfb 1 0 2 ti81xxfb,ti81xxhdmi 0 10

root@arago:/opt/gfxsdkdemos/ogles2#

For syslink verions below 2.00.00.78, Linux PSP versions 4.00.00.10(TI816x/389x) and 4.01.00.03(TI814x/387x) root@ti81xx-evm:cd /opt/HDVPSS_01_00_01_26 # insmod syslink.ko For 387x(814x) # ./procmgrapp 2 ti814x_hdvpss.xem3

5 of 14

05.02.2012 19:56

Graphics SDK Quick installation and user guide - Texas I...


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

http://processors.wiki.ti.com/index.php/Graphics_SDK_Q...

# 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. * If your graphics driver installtion is successful, you should see the message - "Loaded PowerVR consumer services" on console as above. * Also on issuing lsmod you should see pvrsrvkm, omaplfb modules inserted successfully for SUPPORT_XORG=0 build. * In case of SUPPORT_XORG=1 build, you should see pvrsrvkm, drm modules inserted successfully. Please refer to http://processors.wiki.ti.com/index.php/SGXDbg for more details.

# lsmod Module omaplfb

Size 10450

Used by 0

6 of 14

05.02.2012 19:56

Graphics SDK Quick installation and user guide - Texas I...


pvrsrvkm ti81xxfb TI81xx_hdmi vpss syslink 153189 20355 12394 58156 754578 1 omaplfb 1 0 1 ti81xxfb 17 vpss

http://processors.wiki.ti.com/index.php/Graphics_SDK_Q...

Then run any of the openGLES1.1, 2.0 demos. Example shown below cd /opt/gfxsdkdemos/ogles2 ./OGLES2Coverflow

AM45x(Panda board) Execution instructions For Panda board, create a SD card image by refering to instructions in the PSP user guide. Once the Panda board boots up with SD card, create a directory named gfxlibraries under /opt of Panda board. Install(copy) the graphics libraries(gfx_rel_es7.x, gfx_dbg_es7.x) under it and install(copy) gfxsdkdemos directory present at the graphics SDK installation root folder under /opt of the Panda board. Make sure powervr.ini is copied under /etc of panda board and rc.pvr under /etc/init.d of Panda board. For Xorg build, there are some prerequistes/steps. Please refer to the Xorg execution steps section for AM45x below. Copy the targetfs folder (can be found at graphics SDK installation root folder) to /opt of Panda board and run the omap4-demo script to install graphics drivers. Now cd to /opt/gfxsdkdemos/ogles2 or /opt/gfxsdkdemos/ogles and run any demo. For eg you can run the OGLES2 Skybox demo as ./OGLES2SkyBox2.

Xorg Execution steps


387x(TI814x), 389x (TI816x) This section is applicable only if you have built graphics SDK with SUPPORT_XORG=1 option. For SUPPORT_XORG=1 build, follow the same execution steps 1 and 2 as above. The rst time you boot up the board with SUPPORT_XORG=1 build or drivers, you might see some error message as below(WW) VGA arbiter: cannot open kernel arbiter, no multi-card support (EE) pvr(0): [drm] failed to set drm interface version. (EE) pvr(0): PVRPreInit: Failed to become DRM master. Backtrace: 0: /usr/local/XSGX/bin/X (xorg_backtrace+0x2c) [0x6bafc] 1: /usr/local/XSGX/bin/X (0x8000+0x6995c) [0x7195c] 2: /lib/libc.so.6 (__default_rt_sa_restorer_v2+0x0) [0x4023b630] 3: /usr/local/XSGX/lib/xorg/modules/drivers/pvr_drv.so (PVRFreeScreen+0x24) [0x404cf6a8] 4: /usr/local/XSGX/bin/X (xf86DeleteScreen+0x64) [0x79b38] 5: /usr/local/XSGX/bin/X (InitOutput+0xa80) [0x80ce0] 6: /usr/local/XSGX/bin/X (main+0x290) [0x2b008] 7: /lib/libc.so.6 (__libc_start_main+0x120) [0x40224fd4] Segmentation fault at address 0x1e0 Fatal server error: Caught signal 11 (Segmentation fault). Server aborting

This is because the drm module would not have been inserted before pvrsrvkm module since module dependancy would not have been updated properly. In this case issue the command depmod -a on linux command prompt on the EVM and run the 38xx-demo script(/etc /init.d/38xx-demo) again as shown below- In case the problem still exists, then reboot the board once after issuing depmod -a command. This should take care of updating module dependancies correctly and the board should now boot up ne without the above error messages.
root@arago:/opt/TI814X# depmod -a root@arago:/opt/TI814X# /etc/init.d/38xx-demo /dev/mem opened. Memory mapped at address 0x40456000. Value at address 0x48180F04 (0x40456f04): 0x0 Written 0x0; readback 0x0 /dev/mem opened. Memory mapped at address 0x400d5000. Value at address 0x48180900 (0x400d5900): 0x102 Written 0x2; readback 0x2 /dev/mem opened. Memory mapped at address 0x40406000. Value at address 0x48180920 (0x40406920): 0x2 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.4117 on target File system installation root is / Uninstalling existing version 1.6.16.4117 Uninstallation completed. boot script rc.pvr -> /etc/init.d/rc.pvr kernel module drm.ko -> /lib/modules/2.6.37/kernel/drivers/char/drm.ko kernel module pvrsrvkm.ko -> /lib/modules/2.6.37/kernel/drivers/char/pvrsrvkm.ko kernel module omaplfb.ko -> /lib/modules/2.6.37/kernel/drivers/char/omaplfb.ko shared library libGLES_CM.so -> /usr/lib/libGLES_CM.so.1.1.16.4117 shared library libusc.so -> /usr/lib/libusc.so.1.1.16.4117 shared library libGLESv2.so -> /usr/lib/libGLESv2.so.1.1.16.4117 shared library libglslcompiler.so -> /usr/lib/libglslcompiler.so.1.1.16.4117 shared library libOpenVG.so -> /usr/lib/libOpenVG.so.1.1.16.4117 shared library libOpenVGU.so -> /usr/lib/libOpenVGU.so.1.1.16.4117 shared library libIMGegl.so -> /usr/lib/libIMGegl.so.1.1.16.4117 shared library libEGL.so -> /usr/lib/libEGL.so.1.1.16.4117 shared library libpvr2d.so -> /usr/lib/libpvr2d.so.1.1.16.4117 shared library libpvrPVR2D_BLITWSEGL.so -> /usr/lib/libpvrPVR2D_BLITWSEGL.so.1.1.16.4117 shared library libpvrPVR2D_FLIPWSEGL.so -> /usr/lib/libpvrPVR2D_FLIPWSEGL.so.1.1.16.4117 shared library libpvrPVR2D_FRONTWSEGL.so -> /usr/lib/libpvrPVR2D_FRONTWSEGL.so.1.1.16.4117 shared library libpvrPVR2D_LINUXFBWSEGL.so -> /usr/lib/libpvrPVR2D_LINUXFBWSEGL.so.1.1.16.4117 shared library libpvrPVR2D_DRIWSEGL.so -> /usr/lib/libpvrPVR2D_DRIWSEGL.so.1.1.16.4117 shared library libsrv_um.so -> /usr/lib/libsrv_um.so.1.1.16.4117 shared library libsrv_init.so -> /usr/lib/libsrv_init.so.1.1.16.4117 shared library libPVRScopeServices.so -> /usr/lib/libPVRScopeServices.so.1.1.16.4117

7 of 14

05.02.2012 19:56

Graphics SDK Quick installation and user guide - Texas I...


binary binary binary binary binary binary binary binary binary binary binary shader shader shader binary binary binary binary binary binary binary binary binary pvrsrvinit -> /usr/local/bin/pvrsrvinit sgx_init_test -> /usr/local/bin/sgx_init_test services_test -> /usr/local/bin/services_test sgx_blit_test -> /usr/local/bin/sgx_blit_test sgx_clipblit_test -> /usr/local/bin/sgx_clipblit_test sgx_flip_test -> /usr/local/bin/sgx_flip_test sgx_render_flip_test -> /usr/local/bin/sgx_render_flip_test pvr2d_test -> /usr/local/bin/pvr2d_test gles1test1 -> /usr/local/bin/gles1test1 gles1_texture_stream -> /usr/local/bin/gles1_texture_stream gles2test1 -> /usr/local/bin/gles2test1 glsltest1_vertshader.txt -> /usr/local/bin/glsltest1_vertshader.txt glsltest1_fragshaderA.txt -> /usr/local/bin/glsltest1_fragshaderA.txt glsltest1_fragshaderB.txt -> /usr/local/bin/glsltest1_fragshaderB.txt gles2_texture_stream -> /usr/local/bin/gles2_texture_stream ovg_unit_test -> /usr/local/bin/ovg_unit_test eglinfo -> /usr/local/bin/eglinfo xgles1test1 -> /usr/local/bin/xgles1test1 xmultiegltest -> /usr/local/bin/xmultiegltest xgles1_texture_stream -> /usr/local/bin/xgles1_texture_stream xgles2test1 -> /usr/local/bin/xgles2test1 xgles2_texture_stream -> /usr/local/bin/xgles2_texture_stream xovg_unit_test -> /usr/local/bin/xovg_unit_test

http://processors.wiki.ti.com/index.php/Graphics_SDK_Q...

Installation complete! You may now reboot your target. BusyBox v1.13.2 (2009-12-02 18:47:48 EST) multi-call binary Usage: mknod [OPTIONS] NAME TYPE MAJOR MINOR Create a special file (block, character, or pipe) Options: -m TYPEs include: b: c or u: p:

Create the special file using the specified mode (default a=rw) Make a block device Make a character device Make a named pipe (MAJOR and MINOR are ignored)

chmod: /dev/pvrsrvkm: No such file or directory NET: Registered protocol family 10

X.Org X Server 1.7.5 Release Date: 2010-02-16 X Protocol Version 11, Revision 0 Build Operating System: Linux 2.6.23.1-42.fc8 i686 Current Operating System: Linux arago 2.6.37 #1 Thu Jun 30 15:25:53 IST 2011 armv7l Kernel command line: console=ttyO0,115200n8 root=/dev/nfs nfsroot=172.24.179.98:/groups/psp/nfs_prathap,nolock rw mem=128M vram=50M ti814xfb.vram=0:48M,1:1M,2:1M notifyk.vpssm3_sva=0x8DB000 Build Date: 30 May 2011 10:41:43AM Current version of pixman: 0.16.4 Before reporting problems, check http://wiki.x.org to make sure that you have the latest version. Markers: (--) probed, (**) from config file, (==) default setting, (++) from command line, (!!) notice, (II) informational, (WW) warning, (EE) error, (NI) not implemented, (??) unknown. (==) Log file: "/usr/local/XSGX/var/log/Xorg.0.log", Time: Wed Dec 2 20:13:25 2009 (++) Using config file: "/usr/local/XSGX/etc/xorg.conf" (==) No Layout section. Using the first Screen section. (**) |-->Screen "Screen" (0) (**) | |-->Monitor "<default monitor>" root@arago:/opt/TI814X# (**) | |-->Device "Video Device" (==) No monitor specified for screen "Screen". Using a default monitor configuration. (==) Not automatically adding devices (==) Not automatically enabling devices (WW) The directory "/usr/local/XSGX/share/fonts/X11/TTF/" does not exist. Entry deleted from font path. (WW) The directory "/usr/local/XSGX/share/fonts/X11/OTF" does not exist. Entry deleted from font path. (==) FontPath set to: /usr/local/XSGX/share/fonts/X11/misc/, /usr/local/XSGX/share/fonts/X11/Type1/, /usr/local/XSGX/share/fonts/X11/100dpi/, /usr/local/XSGX/share/fonts/X11/75dpi/ (==) ModulePath set to "/usr/local/XSGX/lib/xorg/modules" (==) |-->Input Device "Main Touch Screen" (==) |-->Input Device "Keyboard" (==) No Layout section. Using the first core pointer device. (==) No Layout section. Using the first core keyboard device. (--) using VT number 3 (WW) xf86OpenConsole: setpgid failed: Operation not permitted (II) Loading /usr/local/XSGX/lib/xorg/modules/extensions/libextmod.so (II) Module extmod: vendor="X.Org Foundation" compiled for 1.7.5, module version = 1.0.0 (II) Loading /usr/local/XSGX/lib/xorg/modules/extensions/libdbe.so (II) Module dbe: vendor="X.Org Foundation" compiled for 1.7.5, module version = 1.0.0 (II) Loading /usr/local/XSGX/lib/xorg/modules/extensions/libglx.so (II) Module glx: vendor="X.Org Foundation" compiled for 1.7.5, module version = 1.0.0 (==) AIGLX enabled (II) Loading /usr/local/XSGX/lib/xorg/modules/extensions/libdri.so (II) Module dri: vendor="X.Org Foundation" compiled for 1.7.5, module version = 1.0.0 (II) Loading /usr/local/XSGX/lib/xorg/modules/extensions/libdri2.so (II) Module dri2: vendor="X.Org Foundation" compiled for 1.7.5, module version = 1.1.0 (II) Loading /usr/local/XSGX/lib/xorg/modules/drivers/pvr_drv.so (II) Module PVR: vendor="X.Org Foundation" compiled for 1.7.5, module version = 1.6.4117 (II) Loading /usr/local/XSGX/lib/xorg/modules/input/evdev_drv.so (II) Module evdev: vendor="X.Org Foundation" compiled for 1.7.5, module version = 2.3.3 (II) pvr: Driver for PowerVR chipsets: PowerVR SGX (WW) Falling back to old probe method for pvr (WW) VGA arbiter: cannot open kernel arbiter, no multi-card support (II) pvr(0): Creating default Display subsection in Screen section "Screen" for depth/fbbpp 24/32 (==) pvr(0): Depth 24, (==) framebuffer bpp 32 (==) pvr(0): RGB weight 888 (==) pvr(0): Default visual is TrueColor (==) pvr(0): Using gamma correction (1.0, 1.0, 1.0) (--) pvr(0): Virtual size is 1920x1080 (pitch 1920)

8 of 14

05.02.2012 19:56

Graphics SDK Quick installation and user guide - Texas I...


(**) (==) (II) (II)

http://processors.wiki.ti.com/index.php/Graphics_SDK_Q...

pvr(0): Built-in mode "1920x1080" pvr(0): DPI set to (96, 96) Loading /usr/local/XSGX/lib/xorg/modules/libfb.so Module fb: vendor="X.Org Foundation" compiled for 1.7.5, module version = 1.0.0 (II) pvr(0): [pvr] Software copy threshold : 0B (II) pvr(0): [pvr] Software solid threshold : 0B (II) pvr(0): [pvr] Software composite threshold : 1024B (II) pvr(0): [pvr] Pixmap pool size: 1B (II) Loading /usr/local/XSGX/lib/xorg/modules/libexa.so (II) Module exa: vendor="X.Org Foundation" compiled for 1.7.5, module version = 2.5.0 PVRPreInit: done (--) Depth 24 pixmap format is 32 bpp PVRScreenInit (II) pvr(0): [DRI2] Setup complete (II) EXA(0): Driver allocated offscreen pixmaps (II) EXA(0): Driver registered support for the following operations: (II) Solid (II) Copy (II) Composite (RENDER acceleration) (==) pvr(0): Backing store disabled (==) pvr(0): Silken mouse enabled (==) pvr(0): DPMS enabled (==) pvr(0): Direct rendering enabled (EE) pvr(0): PVRDisplayCommandNoArgs: drmCommandWrite failed (-22) (EE) pvr(0): PVRDisplayScreenInitFinalize: PVRDisplayCommandNoArgs failed (-22) PVRScreenInit: done (==) RandR enabled (EE) AIGLX error: dlopen of /usr/local/XSGX/lib/dri/pvr_dri.so failed (/usr/local/XSGX/lib/dri/pvr_dri.so: cannot open shared object file: No such file or directory) (EE) AIGLX: reverting to software rendering (II) AIGLX: Screen 0 is not DRI capable (II) AIGLX: Loaded and initialized /usr/local/XSGX/lib/dri/swrast_dri.so (II) GLX: Initialized DRISWRAST GL provider for screen 0 (**) Main Touch Screen: always reports core events (**) Main Touch Screen: Device: "/dev/input/event1" (EE) Unable to open evdev device "/dev/input/event1". (EE) PreInit returned NULL for "Main Touch Screen" (**) Keyboard: always reports core events (**) Keyboard: Device: "/dev/input/event0" (EE) Unable to open evdev device "/dev/input/event0". (EE) PreInit returned NULL for "Keyboard" lsmod should show the graphics driver and drm modules have been inserted successfullyroot@arago:/usr/local/XSGX/bin# lsmod Module Size Used by pvrsrvkm 164838 2 drm 130248 3 pvrsrvkm ti81xxfb 20395 1 ti81xxhdmi 12992 0 vpss 62035 2 ti81xxfb,ti81xxhdmi syslink 777365 0 ps should show X running 1301 root 0 SW< [pvr_timer] 1307 root 0 SW< [pvr_workqueue] 1715 root 22736 S /usr/local/XSGX/bin/X -verbose -config /usr/local/XSG dmesg should show successful drm initialization root@arago:/opt/gfxlibraries/gfx_rel_es6.x# dmesg | grep -i drm [drm] Initialized drm 1.1.0 20060810 [drm] Initialized pvrsrvkm 1.6.4117 Mon July 18 IST 2011 for SGX on minor 0 Now this means the setup is proper and ready to run any X apps. Now set the LD_LIBRARY_PATH and DISPLAY as belowroot@arago:/usr# export LD_LIBRARY_PATH=/usr/local/XSGX/lib root@arago:/usr# export DISPLAY=:0

One can run the unit test application present under /opt/gfxlibraries/gfx_rel_es6.x as root@arago:/opt/gfxlibraries/gfx_rel_es6.x# ./xgles1test1 -f 1000 --------------------- started --------------------(II) pvr(0): [dri] PVRDRI2CreateBuffer: Drawable 0x240268 - Creating buffer (att 1, 540 x 540, f 0) at 0x240710 (II) pvr(0): [dri] PVRDRI2CreateBuffer: Drawable 0x240268 - Creating buffer (att 0, 540 x 540, f 0) at 0x240c38 This will show 2 quickly flipping trinagles. One can also run glxgears test from (/usr/local/XSGX/bin)root@arago:/usr/local/XSGX/bin# ./glxgears 185 frames in 5.0 seconds = 36.868 FPS 184 frames in 5.0 seconds = 36.707 FPS 184 frames in 5.0 seconds = 36.679 FPS

OMAP35x/AM35x/37xx/AM335x If one has built and installed the graphics SDK with SUPPORT_XORG=1 option, then the EVM will boot up with omap-demo script run by default and installing the required Xorg driver and le system. In case the demo script has not run, one can run it as /etc/init.d/omap-demo for OMAP devices. For AM335x run the demo script /etc/init.d/335x-demo. If there are problems in installation, issue depmod -a command on linux command prompt and reboot. Now the Xorg drivers should be installed correctly. To cross check whether system is ne(ready to run X apps) make sure lsmod command on EVM shows pvrsrvkm.ko, drm.ko inserted successfully and ps shows X process running. Issue commands export LD_LIBRARY_PATH=/usr/local/XSGX/lib and export DISPLAY=:0 on the EVM command prompt. Now the system is ready to run any X app. One can run the unit test application present under /usr/local/XSGX/bin/glxgears to conrm the system is ne. AM45x (Panda board) Make sure you have built the graphics SDK with SUPPORT_XORG=1 (for OMAPES=7.x). Once the EVM boots up, copy the gfxsdkdemos directory(Present under graphics SDK package installation) under /opt of Panda board. Create a directory named gfxlibraries under /opt and copy gfx_rel_es7.x folder here. Copy targetfs folder (present under graphics SDK package installtion) to /opt on Panda board. Copy dri related libraries, install script on Panda board as follows-

9 of 14

05.02.2012 19:56

Graphics SDK Quick installation and user guide - Texas I...

http://processors.wiki.ti.com/index.php/Graphics_SDK_Q...

root@omap4430-panda:/opt/gfxlibraries/gfx_rel_es7.x# cp libsrv_um_dri.so libsrv_um.so root@omap4430-panda:/opt/gfxlibraries/gfx_rel_es7.x# cp install_dri.sh install.sh root@omap4430-panda:/opt/gfxlibraries/gfx_rel_es7.x# cp rc_dri.pvr rc.pvr root@omap4430-panda:/opt/gfxlibraries/gfx_rel_es7.x# cp rc_dri.pvr /etc/init.d/rc.pvr root@omap4430-panda:/opt/targetfs# cp powervr_dri.ini /etc/powervr.ini Now run omap4-demo script as shown belowroot@omap4430-panda:/opt/targetfs# ./omap4-demo /dev/mem opened. Memory mapped at address 0x40021000. Value at address 0x4A307200 (0x40021200): 0x30003 Written 0x30003; readback 0x30003 /dev/mem opened. Memory mapped at address 0x40021000. Value at address 0x4A009220 (0x40021220): 0x40002 Written 0x70002; readback 0x70002 /dev/mem opened. Memory mapped at address 0x40021000. Value at address 0x4A004304 (0x40021304): 0xB4F0 Written 0xB4F0; readback 0xB4F0 /dev/mem opened. Memory mapped at address 0x40021000. Value at address 0x4A009204 (0x40021204): 0x74 Written 0x74; readback 0x74 /dev/mem opened. Memory mapped at address 0x40021000. Value at address 0x4A009430 (0x40021430): 0x2 Written 0x2; readback 0x2 release7.x SGX Revision is 120... installing 7.x SGX release user libraries Installing PowerVR Consumer/Embedded DDK 1.6.16.4117 on target File system installation root is / Uninstalling existing version 1.6.16.4117 Uninstallation completed. boot script rc.pvr -> /etc/init.d/rc.pvr kernel module drm.ko -> /lib/modules/2.6.35/kernel/drivers/char/drm.ko kernel module pvrsrvkm.ko -> /lib/modules/2.6.35/kernel/drivers/char/pvrsrvkm.ko kernel module omaplfb.ko -> /lib/modules/2.6.35/kernel/drivers/char/omaplfb.ko shared library libGLES_CM.so -> /usr/lib/libGLES_CM.so.1.1.16.4117 shared library libusc.so -> /usr/lib/libusc.so.1.1.16.4117 shared library libGLESv2.so -> /usr/lib/libGLESv2.so.1.1.16.4117 shared library libglslcompiler.so -> /usr/lib/libglslcompiler.so.1.1.16.4117 shared library libOpenVG.so -> /usr/lib/libOpenVG.so.1.1.16.4117 shared library libOpenVGU.so -> /usr/lib/libOpenVGU.so.1.1.16.4117 shared library libIMGegl.so -> /usr/lib/libIMGegl.so.1.1.16.4117 shared library libEGL.so -> /usr/lib/libEGL.so.1.1.16.4117 shared library libpvr2d.so -> /usr/lib/libpvr2d.so.1.1.16.4117 shared library libpvrPVR2D_BLITWSEGL.so -> /usr/lib/libpvrPVR2D_BLITWSEGL.so.1.1.16.4117 shared library libpvrPVR2D_FLIPWSEGL.so -> /usr/lib/libpvrPVR2D_FLIPWSEGL.so.1.1.16.4117 shared library libpvrPVR2D_FRONTWSEGL.so -> /usr/lib/libpvrPVR2D_FRONTWSEGL.so.1.1.16.4117 shared library libpvrPVR2D_LINUXFBWSEGL.so -> /usr/lib/libpvrPVR2D_LINUXFBWSEGL.so.1.1.16.4117 shared library libpvrPVR2D_DRIWSEGL.so -> /usr/lib/libpvrPVR2D_DRIWSEGL.so.1.1.16.4117 shared library libsrv_um.so -> /usr/lib/libsrv_um.so.1.1.16.4117 shared library libsrv_init.so -> /usr/lib/libsrv_init.so.1.1.16.4117 shared library libPVRScopeServices.so -> /usr/lib/libPVRScopeServices.so.1.1.16.4117 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 binary xgles1_texture_stream -> /usr/local/bin/xgles1_texture_stream binary xgles2test1 -> /usr/local/bin/xgles2test1 binary xgles2_texture_stream -> /usr/local/bin/xgles2_texture_stream binary xovg_unit_test -> /usr/local/bin/xovg_unit_test Installation complete! You may now reboot your target. BusyBox v1.13.2 (2011-02-25 16:46:47 CET) multi-call binary Usage: mknod [OPTIONS] NAME TYPE MAJOR MINOR Create a special file (block, character, or pipe) Options: -m TYPEs include: b: c or u: p:

Create the special file using the specified mode (default a=rw) Make a block device Make a character device Make a named pipe (MAJOR and MINOR are ignored)

chmod: /dev/pvrsrvkm: No such file or directory root@omap4430-panda:/opt/targetfs# _XSERVTransSocketOpenCOTSServer: Unable to open socket for inet6 _XSERVTransOpen: transport open failed for inet6/omap4430-panda:0 _XSERVTransMakeAllCOTSServerListeners: failed to open listener for inet6 X.Org X Server 1.7.5 Release Date: 2010-02-16 X Protocol Version 11, Revision 0 Build Operating System: Linux 2.6.23.1-42.fc8 i686 Current Operating System: Linux omap4430-panda 2.6.35 #6 SMP PREEMPT Fri Jun 24 14:34:45 IST 2011 armv7l Kernel command line: console=ttyO2,115200n8 vram=16M root=/dev/mmcblk0p2 rw rootfstype=ext3 rootwait Build Date: 30 May 2011 10:41:43AM Current version of pixman: 0.16.4 Before reporting problems, check http://wiki.x.org to make sure that you have the latest version.

10 of 14

05.02.2012 19:56

Graphics SDK Quick installation and user guide - Texas I...


Markers: (--) probed, (**) from config file, (==) default setting, (++) from command line, (!!) notice, (II) informational, (WW) warning, (EE) error, (NI) not implemented, (??) unknown. (==) Log file: "/usr/local/XSGX/var/log/Xorg.0.log", Time: Mon Jun 6 07:47:28 2011 (++) Using config file: "/usr/local/XSGX/etc/xorg.conf" (==) No Layout section. Using the first Screen section. (**) |-->Screen "Screen" (0) (**) | |-->Monitor "<default monitor>" (**) | |-->Device "Video Device" (==) No monitor specified for screen "Screen". Using a default monitor configuration. (==) Not automatically adding devices (==) Not automatically enabling devices (WW) The directory "/usr/local/XSGX/share/fonts/X11/TTF/" does not exist. Entry deleted from font path. (WW) The directory "/usr/local/XSGX/share/fonts/X11/OTF" does not exist. Entry deleted from font path. (==) FontPath set to: /usr/local/XSGX/share/fonts/X11/misc/, /usr/local/XSGX/share/fonts/X11/Type1/, /usr/local/XSGX/share/fonts/X11/100dpi/, /usr/local/XSGX/share/fonts/X11/75dpi/ (==) ModulePath set to "/usr/local/XSGX/lib/xorg/modules" (==) |-->Input Device "Main Touch Screen" (==) |-->Input Device "Keyboard" (==) No Layout section. Using the first core pointer device. (==) No Layout section. Using the first core keyboard device. (--) using VT number 2

http://processors.wiki.ti.com/index.php/Graphics_SDK_Q...

(WW) xf86OpenConsole: setpgid failed: Operation not permitted (II) Loading /usr/local/XSGX/lib/xorg/modules/extensions/libextmod.so (II) Module extmod: vendor="X.Org Foundation" compiled for 1.7.5, module version = 1.0.0 (II) Loading /usr/local/XSGX/lib/xorg/modules/extensions/libdbe.so (II) Module dbe: vendor="X.Org Foundation" compiled for 1.7.5, module version = 1.0.0 (II) Loading /usr/local/XSGX/lib/xorg/modules/extensions/libglx.so (II) Module glx: vendor="X.Org Foundation" compiled for 1.7.5, module version = 1.0.0 (==) AIGLX enabled (II) Loading /usr/local/XSGX/lib/xorg/modules/extensions/libdri.so (II) Module dri: vendor="X.Org Foundation" compiled for 1.7.5, module version = 1.0.0 (II) Loading /usr/local/XSGX/lib/xorg/modules/extensions/libdri2.so (II) Module dri2: vendor="X.Org Foundation" compiled for 1.7.5, module version = 1.1.0 (II) Loading /usr/local/XSGX/lib/xorg/modules/drivers/pvr_drv.so (II) Module PVR: vendor="X.Org Foundation" compiled for 1.7.5, module version = 1.6.4117 (II) Loading /usr/local/XSGX/lib/xorg/modules/input/evdev_drv.so (II) Module evdev: vendor="X.Org Foundation" compiled for 1.7.5, module version = 2.3.3 (II) pvr: Driver for PowerVR chipsets: PowerVR SGX (WW) Falling back to old probe method for pvr (WW) VGA arbiter: cannot open kernel arbiter, no multi-card support (II) pvr(0): Creating default Display subsection in Screen section "Screen" for depth/fbbpp 24/32 (==) pvr(0): Depth 24, (==) framebuffer bpp 32 (==) pvr(0): RGB weight 888 (==) pvr(0): Default visual is TrueColor (==) pvr(0): Using gamma correction (1.0, 1.0, 1.0) (--) pvr(0): Virtual size is 1920x1080 (pitch 1920) (**) pvr(0): Built-in mode "1920x1080" (==) pvr(0): DPI set to (96, 96) (II) Loading /usr/local/XSGX/lib/xorg/modules/libfb.so (II) Module fb: vendor="X.Org Foundation" compiled for 1.7.5, module version = 1.0.0 (II) pvr(0): [pvr] Software copy threshold : 0B (II) pvr(0): [pvr] Software solid threshold : 0B (II) pvr(0): [pvr] Software composite threshold : 1024B (II) pvr(0): [pvr] Pixmap pool size: 1B (II) Loading /usr/local/XSGX/lib/xorg/modules/libexa.so (II) Module exa: vendor="X.Org Foundation" compiled for 1.7.5, module version = 2.5.0 PVRPreInit: done (--) Depth 24 pixmap format is 32 bpp PVRScreenInit (II) pvr(0): [DRI2] Setup complete (II) EXA(0): Driver allocated offscreen pixmaps (II) EXA(0): Driver registered support for the following operations: (II) Solid (II) Copy (II) Composite (RENDER acceleration) (==) pvr(0): Backing store disabled (==) pvr(0): Silken mouse enabled (==) pvr(0): DPMS enabled (==) pvr(0): Direct rendering enabled (EE) pvr(0): PVRDisplayCommandNoArgs: drmCommandWrite failed (-22) (EE) pvr(0): PVRDisplayScreenInitFinalize: PVRDisplayCommandNoArgs failed (-22) PVRScreenInit: done (==) RandR enabled (EE) AIGLX error: dlopen of /usr/local/XSGX/lib/dri/pvr_dri.so failed (/usr/local/XSGX/lib/dri/pvr_dri.so: cannot open shared object file: No such file or directory) (EE) AIGLX: reverting to software rendering (II) AIGLX: Screen 0 is not DRI capable (II) AIGLX: Loaded and initialized /usr/local/XSGX/lib/dri/swrast_dri.so (II) GLX: Initialized DRISWRAST GL provider for screen 0 (**) Main Touch Screen: always reports core events (**) Main Touch Screen: Device: "/dev/input/event1" (EE) Unable to open evdev device "/dev/input/event1". (EE) PreInit returned NULL for "Main Touch Screen" (**) Keyboard: always reports core events (**) Keyboard: Device: "/dev/input/event0" (WW) Keyboard: Don't know how to use device (EE) PreInit returned NULL for "Keyboard" * To check if system is fine/ready to run X apps, make sure you see the above log on running the omap4-demo script. * Also check lsmod shows the output as belowroot@omap4430-panda:/opt/targetfs# lsmod Module Size Used by pvrsrvkm 165296 2 drm 128254 3 pvrsrvkm * Also check if X is running - issue ps -eaf command on Panda board and make sure X is running root 2136 1 1 07:47 tty2 00:00:05 /usr/local/XSGX/bin/X -verbose If its not running then drm module might not have inserted properly. In this case issue depmod -a command on Panda board Linux command prompt and reboot the board. Once the board comes up,

11 of 14

05.02.2012 19:56

Graphics SDK Quick installation and user guide - Texas I...

http://processors.wiki.ti.com/index.php/Graphics_SDK_Q...

* Now issue following commands export LD_LIBRARY_PATH=/usr/local/XSGX/lib export DISPLAY=:0 * Now the system is ready to run any X-app. One can run unit test application as shown root@omap4430-panda:/opt/targetfs# /usr/local/XSGX/bin/glxgears 193 frames in 5.0 seconds = 38.411 FPS 192 frames in 5.0 seconds = 38.355 FPS 193 frames in 5.0 seconds = 38.428 FPS

NOTE - The Xorg le system used is available as part of the graphics SDK installation(targetfs/XSGX folder) and will be installed onto /usr/local/XSGX of the target le system by default(the path of which would have been provided in Rules.make). The Xorg server version that has been used/validated as part of this graphics SDK release is 1.7.5 and it has been validated with enlightenment window manager only (downloaded/used from Narcissus angstrom distribution in April).

Running Graphics SDK OpenGL ES1.x Demos


To run OpenGL ES1.x demos, perform the following steps:
target $ cd /opt/gfxsdkdemos/ogles target $ ./OGLESSkyBox

This will execute the OGLESSkyBox 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 Graphics_SDK_#_##_##_##\GFX_Linux_SDK\OGLES\SDKPackage

Running Graphics SDK OpenGL ES2.0 Demos


To run OpenGLES2.0 demos, perform the following steps:
target $ cd /opt/gfxsdkdemos/ogles2 target $ ./OGLES2Coverflow

This will execute the OGLES2Coverow 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 Graphics_SDK_#_##_##_##\GFX_Linux_SDK\OGLES2\SDKPackage

Appendix
How to build training course examples, openVG demo
By default openGL ES1.1 and 2.0 demos are built when you do a build of standalone graphics SDK release. If you want to build any other training course example or openVG demo then you should set the PLATFORM, LIBDIR variables. Its LinuxOMAP3 for all devices. How to build training course examples, OpenVG demo Set and export the variable LIBDIR. It should point to the path mentioned below. For eg for openGL ES2.0, path is as as belowexport LIBDIR=GFX_INSTALLATION_ROOT/GFX_Linux_SDK/OGLES2/SDKPackage/Builds/OGLES2/LinuxOMAP3/lib where GFX_INSTALLATION_ROOT is the path name where you have installed graphics SDK. Replace all instances of OGLES2 with OGLES if you are building an openGL ES1.1 app/example. Set and export the variable PLATFORM as export PLATFORM = LinuxOMAP3. cd to app directoty having makele. For eg to build rst example in training course cd to ./GFX_Linux_SDK/OGLES/SDKPackage/TrainingCourse/01_Initialization/OGLES/Build/LinuxOMAP3 for OpenGLES1.1 Issue make Common=1 for openGLES1.1 apps and build will be done. If its openGLES 2.0 or openVG, issue just make without any arguments. The application executable will be placed under - ./GFX_Linux_SDK/OGLES/SDKPackage/TrainingCourse/01_Initialization/OGLES /Build/LinuxOMAP3/ReleaseRaw.

How to check for SGX core revision


Perform the following commands on the target (ex. via terminal) with an utility like devmem2. This section is applicable for OMAP35x/AM35x/37xx and 387x/389x devices only.

12 of 14

05.02.2012 19:56

Graphics SDK Quick installation and user guide - Texas I...

http://processors.wiki.ti.com/index.php/Graphics_SDK_Q...

For OMAP35x/AM35x/37xx family of chipsets ./devmem2 0x48004B48 w 0x2 ./devmem2 0x48004B10 w 0x1 ./devmem2 0x48004B00 w 0x2 ./devmem2 0x50000014 > sgxrevision.txt

For 38xx(387x,389x) ./devmem2 0x48180F04 w 0x0 ./devmem2 0x48180900 w 0x2 ./devmem2 0x48180920 w 0x2 ./devmem2 0x56000014 > /etc/init.d/sgxrevision.txt

Depending on the value read out in the last step, OMAPES is determined for the build. If value == 0x10205 Use OMAPES=5.x If value == 0x10201 Use OMAPES=3.x If value == 0x10003 Use OMAPES=2.x Once you know the OMAPES version for your device, then please follow the steps as shown in Build and install section above or issue make help for exact syntax.

Integration with other frameworks


Framework Integration Information Sl. No 1 2 3 4 5 6 Framework Integration Link Comments

[| "Building Qt" link (http://processors.wiki.ti.com/index.php Covers aspects of building Qt framework in such a way as to /Building_Qt) ] integrate SGX driver as a Qt plugin. [| "Meego Integration" link (http://www.mail-archive.com /meego-dev@meego.com/msg04524.html) ] [| OE powervr tree (http://cgit.openembedded.org/cgit.cgi /openembedded/tree/recipes/powervr-drivers) ] [| WinCE Graphics wiki (http://processors.wiki.ti.com /index.php/WinCE-TIBSP_3D_Graphics) ] [| Flash10 Graphics Package (http://processors.wiki.ti.com /index.php/TI_Flash10_Graphics_Framework) ] covers aspects of how to use the latest OMAP3 Graphics SDK with Meego on 2.6 kernel, using standard rootfs from Beagleboard. This works on both Beagleboard and OMAP3 EVM Has the OpenEmbedded recipes for the SGX drivers, and is the basis for integration into Qt/e/X built from OE distribution. Has information on WinCE PowerVR SDK for TI processor family Page has information on Flash10 Graphics plugin that uses OpenGLES2 and other Graphics acceleration packages

[| BeagleBox Graphics Driver Integration (http://www.graphics-muse.org/bugs/index.php?do=details& Has steps on building Graphics Drivers with BeagleBox task_id=19) ]

Using the PIXMAP surface for Drawing


Using Pixmap needs CMEM module to be inserted. CMEM is part of Linuxutils and can be downloaded from the appropriate DVSDK packages. Buers can be exchanged with the SGX rendering system using specic pixmap structure format, and is described in SGXPERF example code (Refer TEST8) at, https://gforge.ti.com/gf/project/gleslayer/scmsvn/?action=browse&path=%2Ftrunk%2FPackages%2FOMAP3_Graphics_SDK%2F

Debugging SGX Issues


[| "SGXDbg" link (http://processors.wiki.ti.com/index.php/SGXDbg) ] provides step-by-step instructions for debugging SGX driver issues. For technical support please post your questions at http://e2e.ti.com. Please post only comments about the article Graphics SDK Quick installation and user guide here.

13 of 14

05.02.2012 19:56

Graphics SDK Quick installation and user guide - Texas I...

http://processors.wiki.ti.com/index.php/Graphics_SDK_Q...

Links
ARM Microcontroller MCU (http://www.ti.com /lsds/ti /microcontroller /arm_stellaris /overview.page) ARM Processor (http://www.ti.com /lsds/ti /dsp/arm.page) Digital Media Processor (http://www.ti.com /lsds/ti /dsp/platform /davinci /device.page) Digital Signal Processing (http://www.ti.com /lsds/ti /dsp/home.page) Microcontroller MCU (http://www.ti.com /lsds/ti /microcontroller /home.page) Multi Core Processor (http://www.ti.com /lsds/ti /dsp/platform /c6000-multicore /device.page)

Ultra Low Power DSP (http://www.ti.com/lsds/ti /dsp/platform/c5000 /device.page)

8 bit Microcontroller MCU (http://www.ti.com/lsds/ti /microcontroller/16-bit_msp430 /8-bit_value_line.page)

16 bit Microcontroller MCU (http://www.ti.com/lsds/ti /microcontroller /16-bit_msp430 /overview.page)

32 bit Microcontroller MCU (http://www.ti.com/lsds/ti /microcontroller /32-bit_c2000 /overview.page)

Retrieved from "http://processors.wiki.ti.com/index.php/Graphics_SDK_Quick_installation_and_user_guide" Categories: OMAP35x Graphics SDK 3 | OpenGL ES | Graphics | SGX Leave a Comment This page was last modied on 30 January 2012, at 06:13. This page has been accessed 9,558 times. Content is available under Creative Commons Attribution-Share Alike 3.0 license. Privacy policy About Texas Instruments Embedded Processors Wiki Disclaimers

14 of 14

05.02.2012 19:56

You might also like