DH electronics GmbH
scroll Scroll Down down

HMI Graphics Frameworks at DH electronics

HMI Graphics Frameworks at DH electronics

Date : 31. August 2024

Comparison of HMI Graphics Frameworks

As soon as a display is to be used in an embedded device, the question of the right graphics framework arises. As there are a wide variety of frameworks, we have compared three relevant examples here and analysed the advantages and disadvantages.

LVGL - benefits

  • Free licence costs and open source
  • Low hardware requirements, GPU utilisation optional
  • Existing Yocto integration

LVGL - drawbacks

  • Not the same graphical performance as Qt or Flutter

QT - benefits

  • Market leader
  • GPU is required for good performance
  • Existing Yocto integration
  • Existing user base with support forum

QT - drawbacks 

  • Licence costs to get decent LTS support

Flutter - benefits

  • Licence costs free and open source
  • Cross-platform portability (Android/Linux/OSX/...)
  • Large user base
  • Useful documentation and examples supported by Google

Flutter - drawbacks

  • Requires powerful hardware (CPU and GPU)
  • Yocto integration of meta-flutter is currently not optimal

 

WebKit VS. Chromium

WPEWebkit is a port of the Webkit browser engine used by Safari and specialised for embedded Linux. Cog is a lightweight lanucher for WPEWebkit and comes with WPEWebkit. Chromium, on the other hand, is the open-source version of Google Chrome and almost all popular browsers such as Edge, Opera and Brave use Chromium as their base.

WPEWebKit

You can find the corresponding Yocto layer from Webkit here: github.com/Igalia/meta-webkit

Advantages of WPEWebKIt

  • Optimised for embedded devices with weaker hardware
  • Very lightweight (less memory required in the finished image)
  • Good integration in Yocto/OpenEmbedded
  • Compatible with many web frameworks (substructure of Safari)

Disadvantages of WPEWebKit

  • Only kiosk mode available for Cog without GUI for navigation 
  • Moderate use of multicore
     

Chromium

The corresponding Yocto layer of Chromium can be found here: github.com/OSSystems/meta-browser

Advantages of Chromium

  • Chromium-based browsers dominate the browser market
  • Very good compatibility with many web frameworks
  • Good handling of multicore

Disadvantages of Chromium

  • Resource-hungry: 

    This means, for example, that there are hardly any optimisations for embedded devices. It also takes 3 - 5 times longer than WPEWebkit and requires a lot of RAM. It also requires a lot of memory in the finished image.

  • The integration in Yocto/Openembedded regularly causes problems: 

    The updates always require very new versions of the compilers. This often requires workarounds for the LTS versions of Yocto/OpenEmbedded. The layer often lags behind with the updates, which often leads to security vulnerabilities and there are also regular problems with GPU acceleration after updates.

 

 

Back to overview