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-AM62X: PROCESSOR-SDK-AM62X

Part Number: PROCESSOR-SDK-AM62X

Hello,

I try to build a tisdk image that include chromium browser. I add the meta-browser and its dependencies but the recipe chromium-ozone-wayland failed with these errors:

ERROR: Nothing PROVIDES 'virtual/libgl' (but /workspace/tisdk/sources/meta-browser/meta-chromium/recipes-browser/chromium/chromium-ozone-wayland_101.0.4951.54.bb DEPENDS on or otherwise requires it)
mesa-gl PROVIDES virtual/libgl but was skipped: PREFERRED_PROVIDER_virtual/libgl set to mesa, not mesa-gl
mesa-gl PROVIDES virtual/libgl but was skipped: PREFERRED_PROVIDER_virtual/libgl set to mesa, not mesa-gl
mesa PROVIDES virtual/libgl but was skipped: PREFERRED_PROVIDER_virtual/libgles1 set to ti-sgx-ddk-um, not mesa
mesa PROVIDES virtual/libgl but was skipped: PREFERRED_PROVIDER_virtual/libgles1 set to ti-img-rogue-umlibs, not mesa
NOTE: Runtime target 'chromium-ozone-wayland' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['chromium-ozone-wayland', 'virtual/libgl']
ERROR: Required build target 'tisdk-actia-base-image' has no buildable providers.
Missing or unbuildable dependency chain was: ['tisdk-actia-base-image', 'chromium-ozone-wayland', 'virtual/libgl']

Could you help me to solve this issue, please ?

Regards,

  • Hello Alexis,

    The yocto build owner is out of office for the next two weeks. In the meantime, please try looking around the forums to see if there are any other threads that seem useful.

    E.g., I did a Google Site search
    site:e2e.ti.com "chromium-ozone-wayland"
    and returned several threads like this one: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/892279/tda4vm-yocto-compilation-failed

    Regards,

    Nick

  • Hello,

    I didn't find any useful information on the web. The error is specific to the ti sdk configuration.

    I added

    - meta-clang (dunfell)

    - meta-browser (master)

    There is a depedency in the meta-browser recipe on mesa, so i had to change the am62xx settings in meta-arago/meta-arago-distro/conf/distro/include/arago-prefs.inc.

    I don't know if mesa support the current rogue gpu.

    # am62xx has a Rogue GPU core                                                                                 
    # PREFERRED_PROVIDER_virtual/egl_am62xx = "ti-img-rogue-umlibs"                                               
    # PREFERRED_PROVIDER_virtual/libgles1_am62xx = "ti-img-rogue-umlibs"                                          
    # PREFERRED_PROVIDER_virtual/libgles2_am62xx = "ti-img-rogue-umlibs"                                          
    # PREFERRED_PROVIDER_virtual/libgbm_am62xx = "ti-img-rogue-umlibs"                                            
    # PREFERRED_PROVIDER_virtual/gpudriver_am62xx = "ti-img-rogue-driver"                                         
                                                                                                                  
    PREFERRED_PROVIDER_virtual/egl_am62xx = "mesa"                                                                
    PREFERRED_PROVIDER_virtual/libgles1_am62xx = "mesa"                                                           
    PREFERRED_PROVIDER_virtual/libgles2_am62xx = "mesa"                                                           
    PREFERRED_PROVIDER_virtual/libgbm_am62xx = "mesa"                                                             
    PREFERRED_PROVIDER_virtual/gpudriver_am62xx = "mesa"

    Now I'm facing another issue with the toolchain, when compiling compiler-rt in in meta-clang.

    ERROR: Nothing PROVIDES 'binutils-cross-aarch64' (but /workspace/tisdk/sources/meta-clang/recipes-devtools/clang/clang-cross_git.bb DEPENDS on or otherwise requires it)
    binutils-cross-aarch64 was skipped: PREFERRED_PROVIDER_virtual/aarch64-none-linux-gnu-binutils set to external-arm-toolchain, not binutils-cross-aarch64
    ERROR: Required build target 'clang' has no buildable providers.
    Missing or unbuildable dependency chain was: ['clang', 'clang-cross-aarch64', 'binutils-cross-aarch64']

    If I replace the dependency to binutils-cross-aarch64 by external-arm-toolchain the error in clang log is:

    The output was:
    1
    /workspace/tisdk/build/arago-tmp-external-arm-glibc/hosttools/ld: unrecognised emulation mode: aarch64linux
    Supported emulations: elf_x86_64 elf32_x86_64 elf_i386 elf_iamcu i386linux elf_l1om elf_k1om i386pep i386pe
    clang-12: error: linker command failed with exit code 1 (use -v to see invocation)

    It seems it is not the right linked it is ld for x86 not aarch64 ?

    this issue is blocking because our previous sdk on another plateform has no issue with the meta-browser and meta-clang recipes, but it doesn't use an external toolchain.

    Regards,

  • Hello Alexis,

    I will not be able to provide any additional assistance. Let me check if our display owner knows anything about mesa support.

    Regards,

    Nick

  • Hello,

    Unfortunately, we have not enabled Chromium/meta-clang layers on dunfell. In summary, Python 2 was deprecated and all Yocto components related to Python 2 were removed on Dunfell branch. This included packages like Chromium/QtWebengine and the above decisions were taken by the open source community. I believe python 3 migration is completed in Yocto project Kirkstone but we haven't started our internal migration yet. 

    Regards,
    Krunal

  • Hello Krunal,

    We absolutly need a web browser in our product.

    Could you tell me what is the best way to integrate a browser with the TI SDK ?

    Regards,

    Alexis.

  • Hello Alexis,

    At the moment, we don't have Chromium browser enabled by default in our SDK. Our SW development team is looking into it as part of Kirkstone migration. Unfortunately, I don't have any timelines on when we would have the migration completed. 

    Regards,
    Krunal

  • Dear Krunal,

    Is there any alternative to chromium that can display html5 web page with the current SDK ?

    Regards,

    Alexis.

  • Hello Alexis,

    I believe Qt framework has browser based on QtWebkit and I believe they should work with current SDK. For example, the matrix-gui (html5 application) uses simple browser application from Qt. 

    Regards,
    Krunal

  • Hello Alexis,

    With regards to QtWebkit browser, please refer to the following link: https://code.qt.io/cgit/qt/qtwebkit-examples.git/tree/examples/webkitwidgets/browser

    It's very straightforward to compile the above browser using our SDK. Here are the instructions:
    1. Download the SDK
    2. Clone the browser project
    3. Change directory into the browser project
    4. Run the command "source <psdk_dir>/linux-devkit/environment-setup" (Will configure all the env variables)
    5. Run the command "qmake" followed by "make" (Will compile the app for aarch64 platform)
    6. Copy the example folder to the AM62x Filesystem
    7. On target, you could launch app with weston or without weston (browser --platform wayland or browser --platform eglfs)

    Inside our SDK, we use a similar approach to launch a HTML application. For example, we create an application[1] using PHP and launch it with a non-chromium basrd browser[2]. 
    [1] https://git.ti.com/cgit/matrix-gui-v2/matrix-gui-v2/tree/
    [2] https://git.ti.com/cgit/matrix-gui-v2/matrix_browser/?h=qwebview 
    [3] https://software-dl.ti.com/processor-sdk-linux/esd/docs/latest/linux/Examples_and_Demos_Matrix_User_Guide.html 

    Regards,
    Krunal

  • Hello Alexis,

    On my local setup, I was able to build the chromium-ozone-wayland package for AM62x. Here are the steps that I followed:

    1. git clone git://arago-project.org/git/projects/oe-layersetup.git tisdk
    2. cd tisdk
    3. Open the file configs/arago-dunfell-config.txt and uncomment line 6,7, and 17 (Ref. patch: https://git.ti.com/cgit/arago-project/oe-layersetup/commit/configs/arago-dunfell-config.txt?id=617a9b499ac21ec73f456e4bbe5aa0ee2356f2b4
    4. cd build
    5. . conf/setenv
    6. export TOOLCHAIN_PATH_ARMV7=$HOME/gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf
    7. export TOOLCHAIN_PATH_ARMV8=$HOME/gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu
    8. MACHINE=am62xx-evm bitbake chromium-ozone-wayland

    Also, my build failed at some point and I had to do the following "ulimit -Sn 4096".

    Regards,
    Krunal

  • Hello Krunal,

    The AM62x SDK tutorial tells to use the configuration located in configs/processor-sdk/processor-sdk-08.03.00.19-config.txt.

    The 2 files are not equal, most of the revision in configs/arago-dunfell-config.txt point on the HEAD, moreover the configs/processor-sdk/processor-sdk-08.03.00.19-config.txt file have more meta such as meta-processor-sdk.

    Should I merge the lines you refer in the configs/processor-sdk/processor-sdk-08.03.00.19-config.txt ?

    Should I bump all revision to the HEAD in the config file processor-sdk-08.03.00.19-config.txt ?

    Anyway I will try your methode, to validate that the chomium browser recipe in compile on my setup.

    Then I will install the package by opkg on the target to see if it's works.

    Let me know about the merge of the configs files ?

    Regards,

    Alexis.

  • Hello Krunal,

    The git repo git://arago-project.org/git/projects/oe-layersetup.git is not accessible, I used the following repo git.ti.com/.../oe-layersetup.git , is it correct ?

    Regards,

    Alexis.

  • Hello Krunal,

    I give a try with the 3 lines added to the configuration configs/processor-sdk/processor-sdk-08.03.00.19-config.txt.

    There is this kind of errors for several recipes :

    ERROR: base-files-3.0.14-r89.arago4 do_packagedata_setscene: QA Issue: Package version for package base-files-dev went backwards which would break package feeds

    How could I make the chromium browser build with this configuration.

    Regards,

    Alexis.

  • Hi Alexis,

    Apologies for the delayed response, instead of using the PSDK config, could you please test with the arago-dunfell-config.txt? I personally use the arago-dunfell-config.txt because it always points to the latest packages where as the PSDK config is just the snapshot of heads/configs used to build the PSDK8.3. 

    Regards,
    Krunal

  • Hi Krunal,

    I compile the chromium recipe with the arago-dunfell-config.txt, and it works.

    I also try to uncomment the 3 lines in the configs/processor-sdk/processor-sdk-08.03.00.19-config.txt and build the chromium recipe, but as explain I have some error.

    So I bump all the git revision to HEAD in the processor-sdk-08.03.00.19-config.txt file.

    Then the recipe was correctly built and has been install in the base image with wayland and weston recipe enabled.

    But I would like to refer a specific revision instead of HEAD in my config. Could you tell me what tags should be used instead of the HEAD revision ?

    I encounter an error with chromium recipe, that can't be launch using non-root user, what kind of configuration must I use to allow chromium to use wayland socket when executed as a non-root user.

    Regards,

    Alexis.

  • Hi Alexis,

    Could you tell me what tags should be used instead of the HEAD revision ?

    -> Let me internally check and get back to you. 

    I encounter an error with chromium recipe, that can't be launch using non-root user, what kind of configuration must I use to allow chromium to use wayland socket when executed as a non-root user.

    -> Is this something that the Chromium community could help you with? We didn't design the recipe and I am not sure how to execute it as a non-root user.

    Regards,
    Krunal