I’ve purchased an STM32H7S78-DK development board from ST which has the ChromeArt GPU on board
Is there a port of LVGL v9 that works on the H7?
Would love to test it out and see if it works, and how it works
I’ve purchased an STM32H7S78-DK development board from ST which has the ChromeArt GPU on board
Is there a port of LVGL v9 that works on the H7?
Would love to test it out and see if it works, and how it works
STM32H7S7L8H6H is equipped with NeoChrom (GPU2D), Chrom-ART (DMA2D) and Chrom-GRC (GFXMMU). DAM2D support in v9 is not as complete yet as it was in 8.3 but it exists and offers noticeable acceleration. I think GFXMMU support has just been added but I have not checked it out myself yet.
@liamHowatt, would you care to comment?
Yes thanks for clarifying.
I meant to point out the NeoChrom GPU support, not the ChromArt that most of the F and H chips already support
Hi, here is the port for that board:
The DMA2D support in LVGL was actually developed on this board so it’s ready to use LVGL’s DMA2D rendering. I just realized the port wasn’t updated to include LVGL’s DMA2D renderer after it got merged.
I just opened a PR (may be already merged depending on when you see this) which enables DMA2D rendering by default for that board. The average score on the benchmark with DMA2D is 18% CPU, 27 FPS, 3ms render time VS without 19% CPU, 27 FPS, 4ms render time. That’s the average of all the benchmark scenes. The DMA2D renderer only speeds up a couple types of draw tasks: fills and images.
Here’s the PR:
You can use DMA2D before the PR gets merged. Just upgrade the submodule and set LV_USE_DRAW_DMA2D
to 1
in lv_conf.h.
Regarding NeoChrom, here’s a nearly-ready PR (again, may be already merged depending on when you see this) for a STM32U5 board which uses the new NeoChrom GPU renderer in LVGL (different than DMA2D aka ChromArt) here:
Since this is for the STM32U5 - this won’t compile with the U5 hal files included in the project on the H7 board, will it?
The STM32H7 MCUs don’t have the NeoChrom/NemaGFX GPU from what I understand.
H7:
U5:
Have I got that right?
You are correct that the H7 line in general does not have it, but the H7RS (STM32H7R7/7S7) does have the NeoChrom GPU built in.
I have a the dev kit with the TouchGFX demo that uses the GPU
Oh wow, thanks for the tip. The amount of work to get it working should be small even though we don’t have a port repo for it. Sorry for sending a link to a similar but clearly different H7 port.
FYI here are the docs for LVGL’s NeoChrom support: NemaGFX Acceleration (AKA NeoChrom) — LVGL documentation