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.

AM62A7: Chromium/weston terminal performance issues

Part Number: AM62A7

Dear Team,

We are testing chromium web browser to run some webapps in AM62A7 based custom board with SDK 9.0.0 tisdk-edgeai filesystem

We are seeing some lag when scrolling, searching and opening websites in chromium also when opening weston-terminal similar lag is seen.

Is there a way to decrease lag and increase responsiveness of chromium?

Regards,

Vinay

  • Hi Vinay,

    I am not sure I understand your performance expectations. On AM62A, we do not have GPU and all acceleration is CPU based. Additionally, Chromium is massive and takes up a lot of  compute resources so I am not sure what's your HMI usecase given you are using a non-gpu based SoC. 

    Another experiment to try would be to use llvmpipe instead of mesa softpipe. Here are the changes required:
     

    meta-arago/
     diff --git a/meta-arago-distro/conf/distro/arago.conf b/meta-arago-distro/conf/distro/arago.conf
     index 48f053bb..ffa10cfa 100644
     --- a/meta-arago-distro/conf/distro/arago.conf
     +++ b/meta-arago-distro/conf/distro/arago.conf
     @@ -102,6 +102,10 @@ PACKAGECONFIG:append:pn-piglit = " \
      PACKAGECONFIG:pn-opengl-es-cts = "${@bb.utils.contains("DISTRO_FEATURES", "wayland", "wayland", "surfaceless", d)}"
      PACKAGECONFIG:pn-vulkan-cts = "${@bb.utils.contains("DISTRO_FEATURES", "wayland", "wayland", "surfaceless", d)}"
    
     +# Use llvmpipe for better performance with software rendering
     +PACKAGECONFIG:append:pn-mesa = "gallium-llvm"
     +PACKAGECONFIG:append:pn-mesa-pvr = "gallium-llvm"
     +
      # Enable encryption support in open62541
      PACKAGECONFIG:append:pn-open62541 = " encrypt"
    
     diff --git a/meta-arago-distro/conf/layer.conf b/meta-arago-distro/conf/layer.conf
     index 5de46fc9..02d5beaa 100644
     --- a/meta-arago-distro/conf/layer.conf
     +++ b/meta-arago-distro/conf/layer.conf
     @@ -19,6 +19,7 @@ LAYERDEPENDS_meta-arago-distro = " \
          meta-python \
          qt5-layer \
          meta-arago-extras \
     +   clang-layer \
      "
    
      LAYERRECOMMENDS_meta-arago-distro = " \
    meta-arm/
    meta-browser/
    meta-clang/
    meta-openembedded/
    meta-qt5/
    meta-ti/
     diff --git a/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr_22.3.5.bb b/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr_22.3.5.bb
     index 0de3cb94..85a2965f 100644
     --- a/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr_22.3.5.bb
     +++ b/meta-ti-bsp/recipes-graphics/mesa/mesa-pvr_22.3.5.bb
     @@ -55,3 +55,14 @@ FILES:${PN}-dev += "${datadir}/mesa/wayland-drm.xml"
      FILES:mesa-vulkan-drivers += "${libdir}/libpvr_mesa_wsi.so"
    
      RRECOMMENDS:mesa-megadriver:append:class-target = " ${@d.getVar('PREFERRED_PROVIDER_virtual/gpudriver')}"
     +
     +### meta-clang specific optimizations ###
     +LDFLAGS:append:toolchain-clang = " -latomic -lm"
     +DEPENDS:append:toolchain-clang = " libatomic-ops"
     +
     +EXTRA_OEMASON:append:toolchain-clang:x86 = " -Dasm=false"
     +EXTRA_OEMASON:append:toolchain-clang:x86-64 = " -Dasm=false"
     +
     +export YOCTO_ALTERNATE_EXE_PATH = "${STAGING_LIBDIR}/llvm-config"
     +
     +PACKAGECONFIG[gallium-llvm] = "-Dllvm=true -Dshared-llvm=true -Ddraw-use-llvm=true,-Dllvm=false,clang clang-native elfutils"
    meta-virtualization/
    meta-vulkan/
    oe-core/

    Regards,
    Krunal