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.

KMS support in Processor SDK Linux Automotive

Now our file system of processor SDK auto started Wayland default, and looks all programs in omapdrmtest use Wayland sink default. If customer want to go back to KMS, how do they change it? Do we still test KMS when deliver the new processor SDK auto release?

 

Best Regards.

   Marvin

  • Marvin,

    KMS is still tested via kmscube and gst-launch applications. If customer wants to use kmssink, they can specify it as part of video-sink= parameter while launching gst.

    If you want to use omapdrmtest with kms, add the following line in configure.ac and build again. This will default to kms.
    HAVE_WAYLAND="no"

    I think the better option is to provide user selectable option for display. This will be an enhancement for future versions.

    Regards,
    Anand
  • Hi Marvin,

    You can stop weston first with /etc/init.d/weston stop

    and then you can use KMS for omadramtest testcases.

    Thanks

    Ramprasad

  • Hi Anand,
    I add configure.ac HAVE_WAYLAND="no" , and edit HAVE_KMSCUBE="yes"
    then
    autoscan
    aclocal
    autoconf there is an error:
    - - - - - -
    configure.ac:131: warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body
    ../../lib/autoconf/lang.m4:193: AC_LANG_CONFTEST is expanded from...
    ../../lib/autoconf/general.m4:2590: _AC_COMPILE_IFELSE is expanded from...
    ../../lib/autoconf/general.m4:2606: AC_COMPILE_IFELSE is expanded from...
    configure.ac:100: LIBDRM_CC_TRY_FLAG is expanded from...
    ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
    ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
    ../../lib/autoconf/general.m4:2052: AC_CACHE_CHECK is expanded from...
    configure.ac:131: the top level
    configure.ac:33: error: possibly undefined macro: AC_PROG_LIBTOOL
    If this token and others are legitimate, please use m4_pattern_allow.
    See the Autoconf documentation.
    --------
    thanks
    kevin zd
  • Hi Anand
    I add configure.ac HAVE_WAYLAND="no" and edit HAVE_KMSCUBE="yes"
    Command:
    1.0.0-r14/git$
    autoscan
    aclocal
    autoconf
    there is an error:

    configure.ac:132: warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body
    ../../lib/autoconf/lang.m4:193: AC_LANG_CONFTEST is expanded from...
    ../../lib/autoconf/general.m4:2590: _AC_COMPILE_IFELSE is expanded from...
    ../../lib/autoconf/general.m4:2606: AC_COMPILE_IFELSE is expanded from...
    configure.ac:101: LIBDRM_CC_TRY_FLAG is expanded from...
    ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
    ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
    ../../lib/autoconf/general.m4:2052: AC_CACHE_CHECK is expanded from...
    configure.ac:132: the top level
    configure.ac:32: error: possibly undefined macro: AC_PROG_LIBTOOL
    If this token and others are legitimate, please use m4_pattern_allow.
    See the Autoconf documentation.

    thanks
    kevin
  • Hi Anand:
    (1)
    I add configure.sc HAVE_WAYLAND="no" and edit the item HAVE_KMSCUBE="yes"
    then reconfig
    1.0.0-r14/git$ autoscan
    ...
    1.0.0-r14/git$ aclocal
    ...
    1.0.0-r14/git$ autoconf

    configure.ac:132: warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body
    ../../lib/autoconf/lang.m4:193: AC_LANG_CONFTEST is expanded from...
    ../../lib/autoconf/general.m4:2590: _AC_COMPILE_IFELSE is expanded from...
    ../../lib/autoconf/general.m4:2606: AC_COMPILE_IFELSE is expanded from...
    configure.ac:101: LIBDRM_CC_TRY_FLAG is expanded from...
    ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
    ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
    ../../lib/autoconf/general.m4:2052: AC_CACHE_CHECK is expanded from...
    configure.ac:132: the top level
    configure.ac:32: error: possibly undefined macro: AC_PROG_LIBTOOL
    If this token and others are legitimate, please use m4_pattern_allow.
    See the Autoconf documentation.

    There is an error....can't make..

    (2)
    another question:
    I can't find define of the follow item.(EGL_xxxxx_TI)
    ./display-kmscube.c: EGL_GL_VIDEO_FOURCC_TI, buf->fourcc,
    ./display-kmscube.c: EGL_GL_VIDEO_WIDTH_TI, buf->width,
    ./display-kmscube.c: EGL_GL_VIDEO_HEIGHT_TI, buf->height,
    ./display-kmscube.c: EGL_GL_VIDEO_BYTE_SIZE_TI, omap_bo_size(buf->bo[0]),
    ./display-kmscube.c: EGL_GL_VIDEO_BYTE_STRIDE_TI, buf->pitches[0],
    ./display-kmscube.c: EGL_GL_VIDEO_YUV_FLAGS_TI, EGLIMAGE_FLAGS_YUV_CONFORMANT_RANGE | EGLIMAGE_FLAGS_YUV_BT601,
  • Hi Anand:
    (1)
    I add configure.sc HAVE_WAYLAND="no" and edit the item HAVE_KMSCUBE="yes"
    then reconfig
    1.0.0-r14/git$ autoscan
    ...
    1.0.0-r14/git$ aclocal
    ...
    1.0.0-r14/git$ autoconf

    configure.ac:132: warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body
    ../../lib/autoconf/lang.m4:193: AC_LANG_CONFTEST is expanded from...
    ../../lib/autoconf/general.m4:2590: _AC_COMPILE_IFELSE is expanded from...
    ../../lib/autoconf/general.m4:2606: AC_COMPILE_IFELSE is expanded from...
    configure.ac:101: LIBDRM_CC_TRY_FLAG is expanded from...
    ../../lib/m4sugar/m4sh.m4:639: AS_IF is expanded from...
    ../../lib/autoconf/general.m4:2031: AC_CACHE_VAL is expanded from...
    ../../lib/autoconf/general.m4:2052: AC_CACHE_CHECK is expanded from...
    configure.ac:132: the top level
    configure.ac:32: error: possibly undefined macro: AC_PROG_LIBTOOL
    If this token and others are legitimate, please use m4_pattern_allow.
    See the Autoconf documentation.

    There is an error....can't make..

    (2)
    another question:
    I can't find define of the follow item.(EGL_xxxxx_TI)
    ./display-kmscube.c: EGL_GL_VIDEO_FOURCC_TI, buf->fourcc,
    ./display-kmscube.c: EGL_GL_VIDEO_WIDTH_TI, buf->width,
    ./display-kmscube.c: EGL_GL_VIDEO_HEIGHT_TI, buf->height,
    ./display-kmscube.c: EGL_GL_VIDEO_BYTE_SIZE_TI, omap_bo_size(buf->bo[0]),
    ./display-kmscube.c: EGL_GL_VIDEO_BYTE_STRIDE_TI, buf->pitches[0],
    ./display-kmscube.c: EGL_GL_VIDEO_YUV_FLAGS_TI, EGLIMAGE_FLAGS_YUV_CONFORMANT_RANGE | EGLIMAGE_FLAGS_YUV_BT601,
  • The above query is asked here: e2e.ti.com/.../539443
    Will be tracked there.
  • Hi Marvin,

    The programs DO NOT choose the wayland backend by default.
    If you use '-w' switch, then it uses wayland backend.
    If you use '-s' switch, then it uses DRM bacend.

    You can run with the KMS/DRM with same binary (no need to rebuild)
    As pointed by Ramprasad, just close weston, and run the app with '-s' option.

    For your build error:
    Currently, KMSCUBE backend is not supported because of unavailability of EGLImage APIs.

    As said by Ramprasad,
  • hi Nikhil

     I don't know where use the '-w' '-s'. Can you give me a cmd line or more msg.
     and the test sample viddec3test haven't the options '--kmscube'.
     how can I test viddec3test, and our app is base viddec3test.

    the old sample  have the follow code in display_kmscube.c

    create_texture(struct display_kmscube *disp_kmsc, struct buffer *buf)
    {

    struct buffer_kmscube *buf_kmsc = to_buffer_kmscube(buf);
    // Create EGLImage and return.
    // TODO: cropping attributes when this will be supported.
    EGLint attr[] = {
    EGL_GL_VIDEO_FOURCC_TI, buf->fourcc,
    EGL_GL_VIDEO_WIDTH_TI, buf->width,
    EGL_GL_VIDEO_HEIGHT_TI, buf->height,
    EGL_GL_VIDEO_BYTE_SIZE_TI, omap_bo_size(buf->bo[0]),
    EGL_GL_VIDEO_BYTE_STRIDE_TI, buf->pitches[0],
    // TODO: pick proper YUV flags..
    EGL_GL_VIDEO_YUV_FLAGS_TI, EGLIMAGE_FLAGS_YUV_CONFORMANT_RANGE | EGLIMAGE_FLAGS_YUV_BT601,
    EGL_NONE
    };

    ........

    but now this is not used. Is there have another sample to instead?

     thanks

     kevin.zd

  • Hi,


    Please refer to Software developer guide http://processors.wiki.ti.com/index.php/Processor_SDK_Linux_Automotive_Software_Developers_Guide#Running_dmabuftest

    on the required info about using the omapdrmtest applications (e.g. dmabuftest / viddec3test)

    Also, --help will give you the help.

  • hi Nikhil:

    dmabuftest/viddec3test samples haven't used the EGL texture in this new SDK(ti-processor-sdk-linux-automotive_dra7xx-evm_03_00_00_03), but I want to use it.

    The func: create_texture() ~~ EGL_GL_VIDEO_FOURCC_TI ....
    had been delete from this SDK.
    how can direct use EGL & Texture in KMS.

    thanks!

    kevin.zd
  • My reply was to Marvin about KMS being supported on the SDK and apps being able to use it

    This thread was started as KMS support, which is present.

    The EGL API was turned off becuase it is not supported currently.

    - Nikhil D