Running OpenGL ES 2.0 Samples on the Neo

Discussion in 'UDOO NEO' started by AngusGalloway, Nov 30, 2015.

  1. AngusGalloway

    AngusGalloway New Member

    Joined:
    Apr 24, 2015
    Messages:
    9
    Likes Received:
    1
    I'm having issues getting GLES2.0 samples to run on the Neo as demonstrated here: http://www.udoo.org/udoobuntu-2-for-udoo-neo-we-got-it/

    I first downloaded (fsl-gpu-sdk-2.2.tgz) from http://www.freescale.com/products/a...-m4-cores:i.MX6SX?fpsp=1&tab=Design_Tools_Tab

    I ran the binary installer and followed the steps in 'Doc/Setup_guide_ubuntu14.04.txt'

    sudo apt-get install build-essential libxrandr-dev
    sudo apt-get install libgles2-mesa-dev
    sudo apt-get install libopenvg1-mesa-dev
    sudo apt-get install libdevil-dev

    source prepare.sh
    FSL_GRAPHICS_SDK=/home/udooer/Downloads/fsl-gpu-sdk-2.2

    build.sh finishes without problems.
    Then, executing
    > DemoApps/GLES2/S01_SimpleTriangle/S01_SimpleTriangle
    (board connected to 1080p HDMI display)

    Output:
    WARNING: Window Size/Position values not set, setting them to Full Resolution of Primary CRT
    ERROR: demo setup failed with: eglCreateContext(m_hDisplay, m_hConfig, EGL_NO_CONTEXT, contextAttribList) failed with error code 12293 at source/FslDemoHostEGL/EGLDemoHost.cpp(578)

    EGL error code 12293 is 0x3005 and corresponds to EGL_BAD_CONFIG.

    The i.MX6 Graphics SDK (gpu_sdk_v1.00.tar.gz) has similar samples which are done in c instead of c++.

    I then edited Makefile.x11 so that the code compiled:
    • change TARGET_PATH_LIB to /usr/lib/arm-linux-gnueabihf/vivante
    • change TAGET_PATH_INCLUDE to /usr/include/arm-linux-gnueabihf
    • change -mfloat-abi=softfp to hard
    running 01_SimpleTriangle in the v1.00 SDK fails in an assert with an identical error. I have tried changing some of the attrib list in the c implementation, but keep getting the same error.

    Also, chromium is not using WebGL, I have attached the text output of chome://gpu.

    Running glxinfo:

    name of display: :0.0
    display: :0 screen: 0
    direct rendering: Yes
    server glx vendor string: SGI
    server glx version string: 1.4
    server glx extensions:
    GLX_ARB_multisample, GLX_EXT_import_context, GLX_EXT_texture_from_pixmap,
    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_copy_sub_buffer,
    GLX_OML_swap_method, GLX_SGIS_multisample, GLX_SGIX_fbconfig,
    GLX_SGIX_pbuffer, GLX_SGI_make_current_read
    client glx vendor string: Vivante Corp
    client glx version string: 1.4
    client glx extensions:
    GLX_ARB_get_proc_address, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer,
    GLX_SGI_make_current_read
    GLX version: 1.4
    GLX extensions:
    GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_SGI_make_current_read
    OpenGL vendor string: Vivante Corporation
    OpenGL renderer string: Vivante GC400
    OpenGL version string: 2.1 2.0.1
    OpenGL shading language version string: 1.20
    OpenGL extensions:
    GL_ARB_depth_texture, GL_ARB_fragment_program_shadow,

    ...

    WGL_ARB_extensions_string, WGL_EXT_extensions_string,
    WGL_EXT_swap_control

    16 GLX Visuals
    visual x bf lv rg d st colorbuffer sr ax dp st accumbuffer ms cav
    id dep cl sp sz l ci b ro r g b a F gb bf th cl r g b a ns b eat
    ----------------------------------------------------------------------------
    0x021 24 tc 0 32 0 r y . 8 8 8 8 . . 0 24 8 0 0 0 0 0 0 None
    0x0b5 24 tc 0 32 0 r . . 8 8 8 8 . . 0 0 0 0 0 0 0 0 0 None

    ...

    0x0e1 24 dc 0 32 0 r y . 8 8 8 8 . . 0 24 8 0 0 0 0 0 0 None
    0x0e2 24 dc 0 32 0 r y . 8 8 8 8 . . 0 24 8 16 16 16 16 0 0 None

    16 GLXFBConfigs:
    visual x bf lv rg d st colorbuffer sr ax dp st accumbuffer ms cav
    id dep cl sp sz l ci b ro r g b a F gb bf th cl r g b a ns b eat
    ----------------------------------------------------------------------------
    0x065 24 tc 0 32 0 r . . 8 8 8 8 . . 0 0 0 0 0 0 0 0 0 None
    0x066 24 tc 0 32 0 r . . 8 8 8 8 . . 0 0 0 16 16 16 16 0 0 Slow

    Would someone from Udoo mind sharing how they got the samples to compile?

    Thanks,
    Angus
     

    Attached Files:

  2. Francesco

    Francesco Active Member

    Joined:
    Jun 23, 2015
    Messages:
    220
    Likes Received:
    110
    We are providing those sample applications already built in a deb package. Just type
    sudo apt-get install imx-gpu-viv-9t6-test

    You will find the samples inside /opt/.
     
  3. AngusGalloway

    AngusGalloway New Member

    Joined:
    Apr 24, 2015
    Messages:
    9
    Likes Received:
    1
    Thanks Franceso, the GLES1.1 samples run fine, but the GLES2.0 do not. Is is intended for now?
     
  4. AngusGalloway

    AngusGalloway New Member

    Joined:
    Apr 24, 2015
    Messages:
    9
    Likes Received:
    1
    Nevermind, looks like having libgles2-mesa-dev installed causes the es20 examples to break. I made a fresh image, ran apt-get update, upgrade, only installed package you suggested and everything works fine.

    Any idea why this is the case? Also still having the EGL_BAD_CONFIG assert fail in the examples. I'll be able to test more after exams.
     
    Last edited: Dec 3, 2015

Share This Page