Skip to main content
Visitor II
April 22, 2024
Question

WpeWebkit GPU performance issues

  • April 22, 2024
  • 2 replies
  • 1621 views

Hello,

we have product based on a STM32MP157 running Linux. The distribution is based on Yocto kirkstone and we are using a 6.1.82 Kernel. For the MP1s' GPU we use the open source entaviv driver that ships with this kernel. The device has a graphical user interface that is displayed on 4" display. The device can be operated remotely via a webbrowser as well.

The visualization of our application is handled by a web gui so that we can provide a uniform user interface to users independet whether they log in via a browser on a host PC to the device or operate the device with the display. For this reason the GUI on the local device is in fact our web gui running in a browser in kiosk mode. For this local browser in kiosk mode we use the  Cog browser from the webkit project (version 0.18.2 with wpewebkit 2.42.5).

Long story short: With this setup we are struggeling with performance issuses when operating the device locally with the cog browser. From my understanding webkit currently supports the use of the GPU for almost all rendering tasks but relies on libcairo for rasterization (which appears to be the task of actually drawing the contents on the screen). The responsiveness of this local GUI is rather slow and I see constant CPU load of about 40% on both cores mainly due to the WPEWebkit processes. Switching to Chromium as a browser did not help, as the CPU load went up even higher.

My questions are:

  • Does anyone know a browser engine and browser that makes full use of the GPU for rendering and displaying content?
  • Did someone have similar problems and maybe had better luck using the closed source GPU driver gcnano?

Best regards and thanks,

Martin

 

    This topic has been closed for replies.

    2 replies

    ST Employee
    April 24, 2024

    This post has been escalated to the ST Online Support Team for additional assistance. We'll contact you directly.

    Visitor II
    October 11, 2025

    Was a solution found to this?

    ST Employee
    October 17, 2025

    Hi,

    one approach could be to use Qt webengine even if Chromium is embedded behind.

    Quick Nanobrowser has been optimized to reduce some Chromium ressources:

    https://doc.qt.io/qt-6/qtwebengine-webenginequick-quicknanobrowser-example.html

    We have tested it on MP1 and MP2 and it runs correctly in kiosk mode. I don't have the CPU load measurements, sorry.

    BR,

    Philippe.

    Graduate II
    October 29, 2025

    Hi @PPAGE.13 

    I'm very interested in how you made that work. Is the optimized source code available for download?

    I too want to do some test to make an optimized web browser working properly on MP2. I'm planning to looking for a lightweight browser that have WebKit(or other such as QtWebEngine) engine and gstreamer as backend.

    If you could give me some information about this, it would be helpful.