cancel
Showing results for 
Search instead for 
Did you mean: 

WpeWebkit GPU performance issues

hmmtr
Associate

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

 

3 REPLIES 3
Christian N
ST Employee

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

Was a solution found to this?

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.

In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.