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.

Using of hardware acceleration of DM8148 , when using QT5 for embedded using EGL interface.(EGLFS plugin)

Hello,

when we compile a qt5 program. On running it, it says Unable to initialise the EGL Display. Aborted.

due to which we are unable to use the hardware acceleration of the ASIC.

On browsing the net on qt5.0 , it says that it may require the vendor specific adaptation code for EGL and OpenGl ES 2.0 support.

as of now, we are using the non accelerated platform using linuxfb plugin.

But we want to use the EGLFS plugin to use the hardware acceleration.

Does it require some kind of adaptation code so as to run the qt5 embedded application using EGLFS plugin?

Thanks,

Sanchit Mehra

  • Hello,

    What you are using EZSDK for dm8168 or RDKs?

    BR
    Margarita
  • Hello Margarita,

    I am using Buildroot. Is there any buildroot package for it ?

    Thanks,
    Sanchit Mehra
  • Hello,

    Sanchit Mehra said:
    Is there any buildroot package for it ?

    I am not aware with buildroot.

    Since I know for dm814x there is not.

    BR
    Margarita

  • Hello,

    Can you suggest something, so that we would be able to run qt application with EGLFS plugin , using hardware acceleration >

    Thanks,
    Sanchit Mehra
  • Hi Sanchit,

    Did you manage working with QT 5 ?

    What is the indication in Qt that it works with hardware acceleration or not ? When you said that you work with ,linuxfb instead do you mean that all graphic is done in software ? How can you set between the hw acceleration and software ?

    Regards,

    Ran

  • Hi Ran,

    Yes, I achieved working with QT5 with hardware acceleration using eglfs.

    There were kernel modules that needs to be insmod to get the hardware accelerated graphics APIs.

    When I used the "linuxfb" plugin, the performance of drawing GUI was slow as it used the main CPU for drawing graphics.

    But when I used eglfs platform , which have hardware accelerated graphics API, the performance was faster as in this case , main cpu is offloaded.

    Thanks,

    Sanchit Mehra

  • Hi Sanchit,

    Thank you very much for the quick reply.

    One more if I may.

    Is Qt 5 with EGL  (which is used for 3D if I'm corret),  using /dev/fb0 ?

    Thanks,

    Ran

  • Hi Ran,

    yes, finally it uses /dev/fb0 framebuffer to write on. which is the default one.
    one can use QT_QPA_EGLFS_FB environment variable to override the framebuffer device.

    doc.qt.io/.../embedded-linux.html

    Thanks,
    Sanchit Mehra
  • Hi Sanchit,

    I have tried yout suggestion (it took some time... :) )

    But I get the following error:


    QIconvCodec::convertFromUnicode: using Latin-1 for conversion, iconv_open failed
    QML debugging is enabled. Only use this in a safe environment.
    QIconvCodec::convertToUnicode: using Latin-1 for conversion, iconv_open failed
    EGLFS: Failed to open /dev/fb2
    EGLFS: Can't continue without a display

    Do you know what might fix this  ?

    Thanks,

    Ran

  • Hi Sanchit,

    I made another tri.

    I changed

    old:

    insmod ./kermod/ti81xxfb.ko vram=0:48M,2:1M

    new:

    insmod ./kermod/ti81xxfb.ko vram=0:1,2:48M

    and run the application:

    export QT_QPA_EGLFS_FB=/dev/fb2

    ./Main -platform eglfs QT_QPA_EGLFS_FB=/dev/fb2

    .....

    root@dm814x:~/Naval# export QT_QPA_EGLFS_FB=/dev/fb2

    root@dm814x:~/Naval# ./Main -platform eglfs QT_QPA_EGLFS_FB=/dev/fb2

    QIconvCodec::convertFromUnicode: using Latin-1 for conversion, iconv_open failed

    QML debugging is enabled. Only use this in a safe environment.

    QIconvCodec::convertToUnicode: using Latin-1 for conversion, iconv_open failed

    Unable to query physical screen size, defaulting to 100 dpi.

    To override, set QT_QPA_EGLFS_PHYSICAL_WIDTH and QT_QPA_EGLFS_PHYSICAL_HEIGHT (in millimeters).

    ezBuilder::BuildEnvironment [] Success

    qrc:/qml/Resources/qml/UiMainWindow.qml:127: TypeError: Cannot read property 'szActiveAlert' of undefined

    .............ezBuilder::BuildInitializeSystem [...........] Success

    QObject: Cannot create children for a parent that is in a different thread.

    (Parent is UiMsgRtToGuiHandler(0x7bd1d8), parent's thread is QThread(0xa9db30), current thread is QThread(0xae8d8)

    QObject: Cannot create children for a parent that is in a different thread.

    (Parent is UiMsgAppToGuiHandler(0x7bc9a0), parent's thread is QThread(0xa9ded0), current thread is QThread(0xae8d8)

    ezBuilder::BuildRunSystem [...........] Success

    PeriodicMonitorDataCollection() COMM RESUME

    SetEnableDisableAllExportedDB(): SetEnableDisable(1) m_nNumberOfExportedCouples[4]

    MonitoringManager::HandleMonitorCommunicationResume [DE connected!]

    Gsdu Communication Timeout!

     

    Now, I now do not have any error on fb2,

    But - I only see the display in vout0/1 (in part of the display) - but nothing in SD output...

    Any idea ?

    Ran