-
Notifications
You must be signed in to change notification settings - Fork 8.3k
Description
Is your feature request related to a problem? Please describe.
PR #68168 updates LVGL to version 9+ which now has built-in support for handling lottie animations through ThorVG. However, to limit the scope of the PR, it does not include the necessary changes to make ThorVG work in Zephyr.
To get the added ThorVG support there are a few minor things that needs to be fixed:
- Fix some minor issues related to cross compilation (at least with GNU Arm toolchain) in LVGL/ThorVG:
- thomasstenersen/lvgl@e94f308 (probably not needed)
- thomasstenersen/lvgl@0b70f62
- Don't know if the XML parser is actually needed
- Looks like there are several more instances of
alloca()use, an alternative is to fix the original#ifdefor rewrite thesimpleXmlParseW3CAttribute()to not stack allocate, cause it doesn't look like it needs to.
- thomasstenersen/lvgl@cb054e5
- Expose
strdup()in the libc - Add the ThorVG sources to the LVGL module: thomasstenersen@e4665f5
Describe the solution you'd like
It looks like ThorVG is copied directly from https://github.com/thorvg/thorvg into https://github.com/lvgl/lvgl, so fixing the first issue should be done with a PR to ThorVG first before updating https://github.com/lvgl/lvgl and pulling in the update into Zephyr. Exposing strdup() in the libc can be done independently though.
Additional context
I've created a proof of context branch in my Zephyr fork. I've also added a sample (samples/subsys/display/lvgl_lottie) to showcase the feature. The sample has been tested on native_sim and stm32f746g_disco.