lvgl
lvgl copied to clipboard
v9.4 planning
For this release let's set up clear schedule upfront and execute feature freeze and the release accordingly:
- September 15, 2025: Start the feature freeze period (merge only critical fixes)
- October 1, 2025: Release v9.4
Planned features:
- [ ] OpenGL 3D renderer (gltf) support
- [ ] Finalize XML support
Ideas:
- [ ] Gstreamer
- [ ] Blur
To improve:
- [ ] Improve the docs (add description for caching, vector API, etc)
- [ ] SVG
- [ ] lv_menu with groups
Please comment about any ideas that you would like to see in LVGL v9.4
- integrate gstreamer for linux
- is something like the
gaussian blurstill on the list? I saw it on the list for 9.3 so maybe for 9.4?
More stable SVG support, as SVG in 9.3 it is hardly working. And seems to be low priority.
SVG could be a killer feature.
May I suggest something that would solve menu navigation with keypad input devices? https://forum.lvgl.io/t/create-a-lv-menu-that-responds-to-keypad-input/20081
Thank you! I added all these!
@wijnsema
More stable SVG support, as SVG in 9.3 it is hardly working. And seems to be low priority. @etag4048 is planing to work on it. What is the main issue that you see?
What is the main issue that you see?
I cannot get it to work at all actually, see #8405
@itavero got it working but rendering is not correct,
Also, compiler flags needed are not enforced/documented.
@itavero got it working but rendering is not correct,
See #8426 and #8442
How to achieve this chart effect in LVGL 9? Could you provide an example?
There will be a clear integration of LVGL and freeRTOS, with examples for versions 9.3 and 9.4?
Something really working, besides this
https://docs.lvgl.io/master/details/integration/chip/stm32.html#freertos-example
Preferably for ESP32 microcontroller🙂
If there are any outstanding bugs, I would think these should be a priority so new projects can feel safe to start with 9.3/9.4....
@kisvegabor I created https://github.com/lvgl/lvgl/issues/8455 to track the menu navigation issue
@kisvegabor Do we have plans to support html widget? It is more friendly to large amounts of text layout rendering.
@onecoolx I agree that we should achieve large amount of clean text rendering, it's a very good idea. However HTML - I am not a big fan of. IMHO it's way too complex for LVGL which is supposed to be light and versatile :) HTML is not light nor versatile. I believe we should go 'old school' on this and use SGML instead. https://www.tei-c.org/Vault/GL/P3/SG.htm no attributes - no headaches. XML/HTML is LR+4. if we only need to render text, so using only entities things like h1 h2, b should suffice and if we can apply styles to each entity it would be already very useful and a cool feature.
Are we building a web browser out of LVGL :) ? I hope not...
To achieve good text rendering we may have to consider to use Harfbuzz for text shaping, we also need to figure out how to properly scale Freetype outlines. Retrieving the outlines in font units and then scaling and doing grid-fitting properly not 128px. The current Freetype integration is a very good start but let's test it with more fonts and more sizes. It requires time to really understand digital typography...
I think that 9.4 and 9.5 should focus on making LVGL more robust.
A lot of features were added, let's perfect them first.
Make the scale label gap configurable. Currently, it is a hardcoded constant.
@onecoolx I agree that we should achieve large amount of clean text rendering, it's a very good idea. However HTML - I am not a big fan of. IMHO it's way too complex for LVGL which is supposed to be light and versatile :) HTML is not light nor versatile. I believe we should go 'old school' on this and use SGML instead. https://www.tei-c.org/Vault/GL/P3/SG.htm no attributes - no headaches. XML/HTML is LR+4. if we only need to render text, so using only entities things like h1 h2, b should suffice and if we can apply styles to each entity it would be already very useful and a cool feature.
Are we building a web browser out of LVGL :) ? I hope not...
To achieve good text rendering we may have to consider to use Harfbuzz for text shaping, we also need to figure out how to properly scale Freetype outlines. Retrieving the outlines in font units and then scaling and doing grid-fitting properly not 128px. The current Freetype integration is a very good start but let's test it with more fonts and more sizes. It requires time to really understand digital typography...
Yes, you are right. A full-featured browser is a huge and complex project. I have worked on it for many years and know how complex it is. But we may not need a full-featured browser, we just need to be able to do text layout in a simple way. There are some very small, lightweight browsers that may achieve this goal, such as "dillo".
https://dillo.org/ https://github.com/dillo-browser/dillo
@onecoolx With our XML support we are one step closer to HTML support too. Converting HTML to LVGL-XML seems quite feasible. Our main focus is on the editor/XML now, so a direct HTML support is not on the roadmap for now. 🙁
@etag4048 I agree that we need to pay attention to
- further improve docs
- teach people that we have many cool new features (svg, rle, lz4 compression, XML, vector fonts, or even subjects)
- add even more tests to catch performance regression
Text rendering and update_layout are very time-consuming tasks for me. It would be great if we could improve them in V9.4. :smile:
@kisvegabor According to the discussion in #8218. I have tried the MEMFS feature in LVGL. it seems that MEMFS only support font. do we have plan to support images?
@kisvegabor can we get rid of SimSun font in the repo? It was "marked" as deprecated in the last release. If so I'll send a PR :^)
It is on progress but it should be good to mention: VGLite draw unit unification
It could be cool and very usefull to upgrade keyboard, button matrix popover...
Pop-overs currently are merely a visual effect and don't allow selecting additional characters such as accented characters yet.
👍
Complete dmabuf support for wayland
With regards to SVG, I think there also still room for improvement with regards to the amount of memory it needs to load/render a file from the file system. Currently it loads the entire file into RAM before doing anything with it.
As mentioned in my forum post, I think it would be great if we could have more of a "streaming" approach (e.g. read parts of the file as it is being processed).
With regards to the aforementioned issues I had with SVG: both are cleared up now, however, I think there's still two improvement points there:
- LVGL should not compile if
LV_USE_VECTOR_GRAPHIC == 1, but there's no backend to do the rendering (in my case ifLV_USE_THORVG_INTERNALis not set). Currently it compiles and runs without any warning, but it does not work, which is confusing. - The SVG interpreter should have better logging. E.g. in case it finds path data it cannot process correctly, it should write something in the logs about it. I spend quite some hours figuring out why a few paths of the SVG I supplied did not render correctly.
Can the lv_table be modified to add the functionality of freezing the first row?
Since the table is quite long, when scrolling to the bottom, the header row (usually containing titles) becomes hidden, making it difficult to view intuitively. Therefore, we request the addition of a header row freezing feature.
Can the lv_table be modified to add the functionality of freezing the first row?
I just started to add it and then realized why it's not added yet. 😅 The same effect be realized if you add a simple one-row-table on to of the real one. Could this trick work for you?
If so we can a just add an example.
The same effect be realized if you add a simple one-row-table on to of the real one. Could this trick work for you?
I think it would be best to implement this feature by adding an API, such as lv_table_freeze_first_row.
@kisvegabor Could you provide the updated code for implementing the effects currently demonstrated on the Demos page
Hi @lizhaoming634 The widgets demo code is available here https://github.com/lvgl/lvgl/tree/master/demos/widgets
Hi @lizhaoming634 The widgets demo code is available here https://github.com/lvgl/lvgl/tree/master/demos/widgets