This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

SDK graphics demo - vpss driver

Guru 20755 points

Hello,

I am trying to ru SDK graphics in DM814x , but in HDMI I see only the top of the screen filled with graphics:

The thing is that everything (build/run) seems OK, without warnings or errors, so I am out of ideas...

I suspect that parameters to vpss driver might be wrong.

root@dm814x:/opt/dvr_rdk/ti814x# cd /etc/init.d/
root@dm814x:/etc/init.d# ./38xx-demo
/dev/mem opened.
Memory mapped at address 0x4007d000.
Value at address 0x48180F04 (0x4007df04): 0x1
Written 0x0; readback 0x0
/dev/mem opened.
Memory mapped at address 0x40143000.
Value at address 0x48180900 (0x40143900): 0x1
Written 0x2; readback 0x2
/dev/mem opened.
Memory mapped at address 0x400d6000.
Value at address 0x48180920 (0x400d6920): 0x70000
Written 0x2; readback 0x2
0x10205
release6.x
SGX Revision is 125...
installing 6.x SGX release user libraries

Installing PowerVR Consumer/Embedded DDK 'sgxddk_1.9@2188537' on target

File system installation root is /

Uninstalling existing version sgxddk_1.9@2188537
Uninstallation completed.
boot script rc.pvr -> /etc/init.d/rc.pvr
kernel module pvrsrvkm.ko -> /lib/modules/2.6.37/extra/pvrsrvkm.ko
kernel module omaplfb.ko -> /lib/modules/2.6.37/extra/omaplfb.ko
shared library libGLES_CM.so -> /usr/lib/libGLES_CM.so.1.9.2188537
shared library libusc.so -> /usr/lib/libusc.so.1.9.2188537
shared library libGLESv2.so -> /usr/lib/libGLESv2.so.1.9.2188537
shared library libglslcompiler.so -> /usr/lib/libglslcompiler.so.1.9.2188537
shared library libIMGegl.so -> /usr/lib/libIMGegl.so.1.9.2188537
shared library libEGL.so -> /usr/lib/libEGL.so.1.9.2188537
shared library libpvr2d.so -> /usr/lib/libpvr2d.so.1.9.2188537
shared library libpvrPVR2D_BLITWSEGL.so -> /usr/lib/libpvrPVR2D_BLITWSEGL.so.1.9.2188537
shared library libpvrPVR2D_FLIPWSEGL.so -> /usr/lib/libpvrPVR2D_FLIPWSEGL.so.1.9.2188537
shared library libpvrPVR2D_FRONTWSEGL.so -> /usr/lib/libpvrPVR2D_FRONTWSEGL.so.1.9.2188537
shared library libpvrPVR2D_LINUXFBWSEGL.so -> /usr/lib/libpvrPVR2D_LINUXFBWSEGL.so.1.9.2188537
shared library libpvrEWS_WSEGL.so -> /usr/lib/libpvrEWS_WSEGL.so.1.9.2188537
shared library libsrv_um.so -> /usr/lib/libsrv_um.so.1.9.2188537
shared library libsrv_init.so -> /usr/lib/libsrv_init.so.1.9.2188537
shared library libPVRScopeServices.so -> /usr/lib/libPVRScopeServices.so.1.9.2188537
shared library libews.so -> /usr/lib/libews.so.1.9.2188537
binary pvrsrvctl -> /usr/local/bin/pvrsrvctl
binary sgx_init_test -> /usr/local/bin/sgx_init_test
binary ews_server -> /usr/local/bin/ews_server
binary ews_server_es2 -> /usr/local/bin/ews_server_es2
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 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 eglinfo -> /usr/local/bin/eglinfo
binary ews_test_gles1 -> /usr/local/bin/ews_test_gles1
binary ews_test_gles2 -> /usr/local/bin/ews_test_gles2
shader ews_test_gles2_main.vert -> /usr/local/bin/ews_test_gles2_main.vert
shader ews_test_gles2_main.frag -> /usr/local/bin/ews_test_gles2_main.frag
shader ews_test_gles2_pp.vert -> /usr/local/bin/ews_test_gles2_pp.vert
shader ews_test_gles2_pp.frag -> /usr/local/bin/ews_test_gles2_pp.frag
binary ews_test_swrender -> /usr/local/bin/ews_test_swrender

Installation complete!
You may now reboot your target.

Loaded PowerVR consumer services.
root@dm814x:/etc/init.d# cd /opt/
dvr_rdk/ gfxlibraries/ gfxsdkdemos/
root@dm814x:/etc/init.d# cd /opt/gfxsdkdemos/ogles
root@dm814x:/opt/gfxsdkdemos/ogles# ./OGLESSkybox
Can't open keypad input device (/dev/input/event0)
PVRShell: EGL 1.4 initialized

I also tried to change load.sh script as following

old:

insmod ./kermod/vpss.ko i2c_mode=1 mode=hdmi:1080p-60 clksrc=dvo2:hdmi sbufaddr=${HDVPSS_SHARED_MEM}

new:

insmod ./kermod/vpss.ko i2c_mode=1 mode=hdmi:720p-60 clksrc=dvo2:hdmi sbufaddr=${HDVPSS_SHARED_MEM}

I than got half of screen filled up, but still not full screen.

Thank you very much for any idea,

Ran

  • Hi Ran,

    Do you have "matrix GUI" application on your filesystem ?

    /etc/init.d/matrix-gui-e start

    As stated after updating/completing the SGX libraries, have you rebooted the board and tried ?

    I think, you need to tune the bootargs.

    Need to install display driver as inbuilt and pass the display parameters through bootargs.

    Please refer to the following TI wiki.

    http://processors.wiki.ti.com/index.php/DM814X_AM387X_VPSS_Video_Driver_User_Guide_PSP_04.01.00.05

    http://processors.wiki.ti.com/index.php/DM814x_EZ_5.03_Software_Developers_Guide#How_to_change_the_display_resolution

  • Hi Titusrathinaraj,

     

    Thanks very much for assistance on this topic, it is most appreciated.

    >Do you have "matrix GUI" application on your filesystem ? /etc/init.d/matrix-gui-e start

    No, I am using dvrrdk, and I just run the following scripts:

    ./init.sh

    ./load.sh

    >As stated after updating/completing the SGX libraries, have you rebooted the board and tried ?

    No, If I try to reboot, it fail to start the demo at all as following:

    root@dm814x:/opt/gfxsdkdemos/ogles# ./OGLESSkybox
    Can't open keypad input device (/dev/input/event0)
    Exit message has been set to: "PVRShell: Unable to initialise EGL
    ".
    PVRShell: EGL Error (EGL_BAD_ALLOC)
    InitAPI failed!
    PVRShell: Unable to initialise EGL
    root@dm814x:/opt/gfxsdkdemos/ogles#

    When I do not reboot in between, I do get to start the demo (only with the problem of not filling the hdmi screen):


    root@dm814x:/opt/gfxsdkdemos/ogles# ./OGLESSkybox
    Can't open keypad input device (/dev/input/event0)
    PVRShell: EGL 1.4 initialized

    >I think, you need to tune the bootargs. Need to install display driver as inbuilt and pass the display parameters through bootargs.

    Do you think the bootargs explain the screen issue ? This are the bootargs I am using:

    bootargs=console=ttyO0,115200n8 ip=10.0.0.2 nfsroot=10.0.0.1:/mnt/DVR_NEW/DVRRDK_04.01.00.02/target/rfs_814x,nolock root=/dev/nfs rw rootdelay=15 earlyprintk notifyk.vpssm3_sva=0xBFD00000 mem=128M ddr_mem=512M vram=50M

    Thanks for any idea,

    Ran

  • Hi,

    After following the instruction in http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/716/t/300031 , from clean , it been solved. I suspect that the vram memory allocation have to do with vram memory allocation used with vpss driver, probably becuase of wrong settings it scaled the image to smaller one.
    only when using the following vram setting it scales to full screen:
     insmod  ./kernelmod/ti81xxfb.ko  vram=0:48M, 1:1M, 2:1M

    Thanks very much for all assistance,

    Ran

  • Sounds good.
    Thanks for your update.