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.

Processor sdk 01.00.00.03 without sgx

Other Parts Discussed in Thread: AM3354, AM3352, AM4376, AM4378

I am working on TI processor sdk 01.00.00.03 for AM3352 processor. The build process went fine like that in SDK 6.0 and 7.0. Since I am using AM 3352 without sgx hardware accelerator. I removed sgx tag from MACHINE_FEATURES in machine config file just like that I did in SDK 6.0 and SDK7.0. The booting process looks fine. However, the LCD is dark when starting MATRIX GUI application. I am supposed to see many demo icons on my LCD. When I put back the sgx tag and change my processor to AM3354 that has sgx hardware accelerator, the display looks fine. I can see many demo icons. My question is: how to make the rootfs work under AM3352 processor? It looks like a bug for this release.

  • Hi,

    I will forward this to the SW team.
  • Biser,

    It seems that the QT5 does not work on frambuffer correctly. Hopefully the following log helps you. My hardware does not have sgx hardware accelerator and I removed that from my receipt. It is fine in SDK 6/7. However, it is not the case of processor sdk.

    root@am335x-evm:~# /etc/init.d/matrix-gui-2.0 start
    /home/root
    Removing stale PID file /var/run/matrix-gui-2.0.pid.
    Starting Matrix GUI application.
    root@am335x-evm:~# /etc/init.d/matrix-gui-2.0 stop
    Stopping Matrix GUI applicationstart-stop-daemon: warning: killing process 2361: No such process
    refresh_screen: error while loading shared libraries: libGLESv2.so: cannot open shared object file: No such file or directory
    .
    root@am335x-evm:~#
  • Biser,
    I am wondering if your software team feedback anything yet. It will affect or AM3352 and AM4376 product line.
    -Eric
  • It has been two weeks and your software team still not able to answer my question. Will Processor SDK support SOC without sgx h/w accelerator and how?
    -Eric
  • Hi,

    The root cause for your problem is:
    "error while loading shared libraries: libGLESv2.so: cannot open shared object file: No such file or directory"

    The libGLESv2.so file was somehow damaged during the process of copying the filesystem on the rootfs partition of the sd card.
    I've experienced such problems in the past, and the solution is to format the card & use the create-sdcard.sh script to upload the binaries on the sd card.

    Best Regards,
    Yordan

  • Yordan,
    I don't think so. The root cause is that I removed the "sgx" tag from the MACHINE_FEATURES in machine configuration file at Yocto receipt because my processor has no sgx hardware acceleration. This is how AMSDK6 and AMSDK7 do, but not the case of Processor SDK. Without removed the sgx tag, your processor SDK supports well in SOC that has sgx acceleration (AM3354 or AM4378).
    When removed the sgx tag, the compilation is fine. The console is fine too when testing under AM3352 or AM4376. However, when you attached an LCD, the screen got blank and black. It's supposed to see many icons.
    I really doubt that your Processor SDK cannot support SOC with sgx acceleration. If you can, please kindly tell me how.
    -Eric
  • Obviously, the libGLESv2.so is not build without the sgx tag.
    This may be fine, because libGLESv2 is a library for accelerated graphic.
    However, the matrix GUI application is build & linked against libGLESv2.so.
    Try to build the matrix GUI application without libGLESv2.so.

    I do not understand why TI cannot help you. This is a straight forward problem.

    regards
    Wolfgang
  • It is also possible to build the full SDK with all modules included sgx. The /etc/init.d/pvr-init script will try to locate the SGX hardware, but will not find it and state that there is no SGX HW. This will simply result in booting without the pvr driver, but you will have all libraries needed by the Matrix GUI.
  • Wolfgang,

    That seems to be the right track. Do you know how to modify the receipt to workaround this?

    -Eric

  • Yordan,
    I tried your way before. The matrix gui will still link to the libGLESv2.so.
  • The QT5 plugin platform is set to EGLFS to use hardware (SGX) rendering in the standard release. You can try software rendering. There are two ways to do that.

    1. Using wayland  -

    • Follow the build instructions at http://processors.wiki.ti.com/index.php/Processor_SDK_Building_The_SDK
    • Remove the sgx in meta-ti/conf/machine/include/ti33x.inc.
    • Configure Qt5 to use Wayland instead of EGLFS - remove the line “DISTRO_FEATURES_remove_ti33x” in processor sdk branding file (meta-processor-sdk/conf/distro/include/branding-processor-sdk.inc)

    2. Software rendering by specifying the plugin platform to LINUXFB. There are below two ways to do that. For some reason view.showFullScreen() or view.showMaximized() deosn't work. A fixed size matrix for GP EVM will make full screen matrix display on LCD.

    • With each application: -platform ‘linuxfb’ - For example: /usr/share/qt5/examples/widgets/painting/affine/affine –platform ‘linuxfb’
    • Global enable: export QT_QPA_PLATFORM=linuxfb.

     

  • Well, I am wondering if you tried before answering the questions.
    I tried your method 1 (using wayland), it simply brought the text console into LCD. I still cannot see the matrix-gui on my LCD.

    root@smarct335x:/etc/init.d# ./matrix-gui-2.0 start
    /etc/init.d
    Removing stale PID file /var/run/matrix-gui-2.0.pid.
    Starting Matrix GUI application.
    root@smarct335x:/etc/init.d# ./matrix-gui-2.0 stop
    Stopping Matrix GUI applicationstart-stop-daemon: warning: killing process 2730: No such process

    I am going to try export the global variables the method 2 that you mentioned.
    -Eric
  • Your method 2 only shows on part of the screen. Plus, it has to be done under device rootfs. This is also not a formal Yocto way to do that. We would like to know how to make change the Yocto receipt to support your processor without sgx acceleration.
    -Eric