I have several products using LVGL. It’s an excellent graphical library. My platform uses an ARM Cortex-A53 running a Linux system. The SoC has a built-in ARM Mali-400 based GPU, which supports OpenGL ES 1.1 and 2.0 as well as OpenVG 1.1. I would like to use this GPU for graphics rendering acceleration to offload some of the CPU workload. However, I don’t intend to use the GPU for display output — I have dedicated hardware DMA handling that. I only want to use the GPU for rendering acceleration to speed up LVGL.
Does the current version of LVGL support GPU-based rendering acceleration using this GPU? Could you provide some suggestions on how to implement it?
According to the documentation:
The OpenGL ES display/input driver offers support for simulating the LVGL display and keyboard/mouse inputs in an desktop window created via GLFW.
It is an alternative to Wayland, XCB, SDL or Qt.
The main purpose for this driver is for testing/debugging the LVGL application in an OpenGL simulation window.
It only simulates desktop use. My requirement is to directly accelerate LVGL in a Linux environment. Is this currently supported? Similar to the VG‑Lite General GPU renderer.
You self reply, when you on linux why use LVGL ? Build complete X support and use it. If you ask low flash and ram forget advanced GPU in LVGL.
@william
To answer your question…
Yes it is able to be done.While Open GL is usually thought of as a way to render graphics to a display what it actually is is a way to render graphics to a buffer and then the buffer is able to get written to the display. There is a rendering driver built into LVGL to handle the rendering aspects without writing anything to a display. This is an OpenGL ES driver so if your GPU is able to be used using OpenGL ES then it should work out of the box without having to do anything to get it working other than turning on the OpenGL ES renderer in LVGL.
I can help you out with checking compatibility with the driver and getting it up and running if you like.