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.

TDA2PXEVM: OpenGL ES Error in SgxFrmecpy Link

Part Number: TDA2PXEVM
Other Parts Discussed in Thread: PGA460

Hello All,

I am currently working on TDA2PXEVM Linux platform. I want to understand OpenGL ES 2.0 supported on TI EVMs. For that I implemented the following usecase with inbuilt links' functionality,

 

NullSource (A15) -> Decode -> VPE -> Sync (A15) -> SgxFrmcpy (A15)

//display on M4
Sync -> SgxFrmcpy

//
SgxFrmcpy -> Display_M4 (IPU1_0)

//
// Graphics overlay display
//
GrpxSrc -> Display_Grpx

 


But while running the usecase on EVM I'm facing the following error,

[HOST] [HOST ] Single Camera Usecases
[HOST] [HOST ] ------------------------
[HOST] [HOST ] 1: 1CH VIP capture + SGX Copy + DISPLAY
[HOST] [HOST ] 2: 1CH VIP capture + Encode + Decode + SGX Copy + DISPLAY
[HOST] [HOST ] 3: 1CH VIP capture + Alg FrameCopy (EVE1) + SGX Copy + DISPLAY - (TDA2xx ONLY)
[HOST] [HOST ] 5: NullSrc + Decode + Display (Only 1920x1080 H264/MJPEG Video Input Bit-Stream Supported)
[HOST] [HOST ] 6: 1CH VIP capture + Alg Frame Copy (A15) + SGX Copy + DISPLAY
[HOST] [HOST ] 7: 1CH VIP + Alg Frame Copy (A15) + Connetor Links (Dup, Merge, Select, Gate on A15) + SGX Copy + DISPLAY
[HOST] [HOST ] a: NullSrc + Sgx + Display
[HOST] [HOST ]
[HOST] [HOST ] x: Exit
[HOST] [HOST ]
[HOST] [HOST ] Enter Choice:
[HOST] [HOST ]
a
[HOST] [HOST ] 50.604465 s:
PVR:(Error): WSEGL_InitialiseDisplay: Failed to create output [0, ]
[HOST] [HOST ] 60.678490 s:
[HOST] [HOST ]
[HOST] [HOST ] =========================================
[HOST] [HOST ] Chains Run-time Codec Type Selection Menu
[HOST] [HOST ] =========================================
[HOST] [HOST ]
[HOST] [HOST ] Enter '0' for MJPEG
[HOST] [HOST ]
[HOST] [HOST ] Enter '1' for H.264
[HOST] [HOST ]
[HOST] [HOST ] Enter Choice:

 

Please provide inputs so as to overcome this problem. Please note that I don't have any experience in working with OpenGL.

 

Regards,

Shantanu Joshi

  • Hi Shantanu,

    What is the visionSDK version used here? Is it v3.07 or v3.08?

    Please execute the command "make showconfig" from vision_sdk/build and share the console log.

    Please also share dmesg log.

    You don't have to change anything here for OPENGL2.

    Are you seeing the error for for all usecases(from 1 to 7)?  

    Thanks

    RamPrasad

  • Hello RamPrasad,

    I am using visionSDK 3.7


    Sharing the "make showconfig" console log,

    make -C /home/linux/Desktop/VSDK_LINUX_3_7/vision_sdk/apps/configs -f build_makeconfig.mk showconfig
    make[1]: Entering directory '/home/linux/Desktop/VSDK_LINUX_3_7/vision_sdk/apps/configs'
    #
    # Build Config is [ tda2px_evm_linux_all ]
    # Build Config file is @ /home/linux/Desktop/VSDK_LINUX_3_7/vision_sdk/configs/tda2px_evm_linux_all/cfg.mk
    # Build Config .h file is @ /home/linux/Desktop/VSDK_LINUX_3_7/vision_sdk/links_fw/include/config/apps/tda2px_evm_linux_all/system_cfg.h
    # Build CPUs is @ ipu2 a15_0 dsp1 dsp2 eve1 eve2
    #
    # CPUs included in application,
    # PROC_IPU1_0_INCLUDE=no
    # PROC_IPU1_1_INCLUDE=no
    # PROC_IPU2_INCLUDE=yes
    # PROC_DSP1_INCLUDE=yes
    # PROC_DSP2_INCLUDE=yes
    # PROC_EVE1_INCLUDE=yes
    # PROC_EVE2_INCLUDE=yes
    # PROC_EVE3_INCLUDE=no
    # PROC_EVE4_INCLUDE=no
    # PROC_A15_0_INCLUDE=yes
    #
    # Platform config,
    # VSDK_BOARD_TYPE=TDA2PX_EVM [options: TDA2XX_EVM TDA2EX_EVM TDA3XX_EVM TDA3XX_RVP TDA2XX_RVP]
    # PLATFORM=tda2px-evm
    # DUAL_A15_SMP_BIOS=no
    # IPU1_SMP_BIOS=no
    # DDR_MEM=DDR_MEM_1024M [options: DDR_MEM_128M DDR_MEM_512M DDR_MEM_1024M]
    # EMIFMODE=SINGLE_EMIF_512MB [options: SINGLE_EMIF_512MB SINGLE_EMIF_1GB ref build_pdk.mk]
    # NDK_PROC_TO_USE=none [options: a15_0 ipu1_0 ipu1_1 ipu2 none]
    # NSP_TFDTP_INCLUDE=no [options: yes no]
    # TDA2EX_ETHSRV_BOARD=no [options: yes no]
    # FATFS_PROC_TO_USE=none [options: ipu1_0 none]
    # RADAR_BOARD=none [options: TDA3XX_AR12_ALPS TDA3XX_AR12_VIB_DAB_BOOSTER TDA3XX_RADAR_RVP none]
    #
    # Build config,
    # BUILD_OS=Linux [options: Windows_NT Linux]
    # BUILD_DEPENDENCY_ALWAYS=no
    # BUILD_ALGORITHMS=no
    # BUILD_INFOADAS=no
    # PROFILE=release [options: debug release]
    # KW_BUILD=no
    # CPLUSPLUS_BUILD=no
    # IPU_PRIMARY_CORE=ipu2 [options: ipu1_0 ipu2]
    # IPU_SECONDARY_CORE=ipu1_0 [options: ipu1_0 ipu2]
    # A15_TARGET_OS=Linux [options: Bios Linux Qnx]
    # BSP_STW_PACKAGE_SELECT=all [options: all vps-iss-dss-only vps-vip-vpe]
    #
    # Safety Module config,
    # RTI_INCLUDE=no
    # ECC_FFI_INCLUDE=no
    # DCC_ESM_INCLUDE=no
    #
    # Video Module config,
    # IVAHD_INCLUDE=yes
    # VPE_INCLUDE=yes
    # CAL_INCLUDE=yes
    # ISS_INCLUDE=yes
    # ISS_ENABLE_DEBUG_TAPS=no
    # WDR_LDC_INCLUDE=no
    # DSS_INCLUDE=yes
    #
    # Open Compute config,
    # OPENCL_INCLUDE=no
    # TARGET_ROOTDIR=/home/linux/Desktop/VSDK_LINUX_3_7/vision_sdk/../ti_components/os_tools/linux/targetfs
    # ENABLE_OPENCV=no
    # ENABLE_OPENCV_TESTS=no
    # OPENVX_INCLUDE=no
    #
    # Log config,
    # ENABLE_UART_LOG=yes
    # ENABLE_NETWORK_LOG=no
    # ENABLE_CCS_LOG=no
    # CIO_REDIRECT=yes
    #
    # IPC config,
    # WORKQ_INCLUDE=no
    # IPC_LIB_INCLUDE=no
    #
    # AUTOSAR_APP=no
    #
    # Surround View config,
    # SRV_FAST_BOOT_INCLUDE=no
    #
    # Other Module config,
    # AVB_INCLUDE=no
    # DCAN_INCLUDE=no
    # RADAR_ONLY=no
    # RADAR_STUDIO=no
    # CPU_IDLE_ENABLED=yes
    # FAST_BOOT_INCLUDE=no
    # DATA_VIS_INCLUDE=no
    # HS_DEVICE=no
    # ULTRASONIC_INCLUDE=yes
    # PGA450=no
    # PGA460=yes
    # ENABLE_ALL_DEPTH=yes
    #
    # Linux config,
    # DEFAULT_UBOOT_CONFIG=dra7xx_evm_vision_config
    # DEFAULT_KERNEL_CONFIG=ti_sdk_dra7x_release_defconfig
    # DEFAULT_DTB=dra76-evm-infoadas.dtb
    # CMEM_INCLUDE=yes
    # IPUMM_INCLUDE=no
    # IPU1_EVELOADER_INCLUDE=yes
    # ROBUST_RVC_INCLUDE=no
    # BUILD_ADAM_CAR=no
    #
    # Alg plugins included in build,
    # ALG_autocalibration ALG_dmaSwMs ALG_framecopy ALG_sceneobstruction ALG_surroundview ALG_iss_aewb
    #
    # Use-cases included in build,
    # UC_iss_capture_isp_simcop_display UC_srv_calibration UC_lvds_vip_multi_cam_3d_srv UC_csi2Cal_multi_cam_3d_srv UC_csi2Cal_multi_cam_view UC_lvds_vip_multi_cam_view_sgx_display UC_null_src_decode_display UC_vip_single_cam_connectorLinksA15_sgx_display UC_vip_single_cam_enc_dec_sgx_display UC_vip_single_cam_framecopy_sgx_display UC_vip_single_cam_framecopyEve_sgx_display UC_vip_single_cam_sgx_display UC_iss_multi_cam_isp_sgx_3d_srv_display UC_iss_multi_cam_isp_sgx_2mp_3d_srv UC_iss_multi_cam_isp_sgx_2mp_3d_srv_adaptive UC_null_src_decode_sgx_display
    #
    make -s -fbuild_makeconfig.mk check_cpu_include
    make[2]: Entering directory '/home/linux/Desktop/VSDK_LINUX_3_7/vision_sdk/apps/configs'
    #
    # CPUs that are NOT required but included in config [ tda2px_evm_linux_all ],
    #
    # WARNING: DSP2 can be excluded from application
    # WARNING: EVE2 can be excluded from application
    #
    # CPUs that are required but not included in config [ tda2px_evm_linux_all ],
    #
    # ERROR: IPU1_0 MUST be included in application
    #
    # Edit /home/linux/Desktop/VSDK_LINUX_3_7/vision_sdk/apps/configs/tda2px_evm_linux_all/cfg.mk to include or exclude CPUs in an application
    #
    make[2]: Leaving directory '/home/linux/Desktop/VSDK_LINUX_3_7/vision_sdk/apps/configs'
    make[1]: Leaving directory '/home/linux/Desktop/VSDK_LINUX_3_7/vision_sdk/apps/configs'

     


     

    All other usecases require camera for execution, currently I don't have any camera available with me. That's why I haven't check other usecases. Usecase on number 5 is checked. It is working fine.

    Regards,

    Shantanu Joshi

  • Hi Shantanu,

    I am guessing there is some issue with your usecase option 'a'. It says NullSrc + Sgx + Display but asking for codec formats.

    If you don't have a camera, to check OPENGL works or not, enable UC_disp_dist_src_display for TDA2PX configuration. This is by default only added to TDA2XX configuration but should work on TDA2PX also without any issue.

    Enabling UC_disp_dist_src_display will create option 8 in single channel camera usecase and pressing 8, you can see weston background on your HDMI.

    Thanks

    RamPrasad

  • Hi RamPrasad,

    Please ignore the name given to the usecase. It will be changed afterwards. I have provided the video input situated in sdCard to nullsrc link. Just I wanted to implement the opengl using sgxFrmcpy alongwith the nullsrc link.

    Besides I will check UC_disp_dist_src_display as well.

    Regards,

    Shantanu

  • Hi RamPrasad,

    I have checked UC_disp_dist_src_display usecase but it will not help me as my purpose in this activity is to give opengl support via sgxFrmcpy so that in later part of this activity I can be able to add my execution of opengl via sgxFrmcpy.

    Can you please help me in overcoming the error which I have been facing.

    Regards,

    Shantanu

  • Hi Shanthanu,

    Can you try with this usecase

    NullSource (A15) -> Decode -> VPE -> Sync (A15) -> SgxFrmcpy (A15)->Display

     

    i,e add DISPLAY link after SGxFrmcpy. 

    I analyzed the error "Failed to create output" in our SGX modules. This error tells there is no valid display modes.

    Please check if above usecase works.

    RamPrasad

  • Hello RamPrasad,

    Thank you for the inputs. Actually, error has been resolved already. It was coming due to some previously build linux platform specific files as I was trying to implement opengl functionality without sgxfrmcpy link through my usecase.

    But now when I clean and rebuild the linux as well as binary the error is not coming and Usecase is working fine now.

    Regards,

    Shantanu Joshi