Export UI to Linux Frame Buffer with LVGLv9

What do you want to achieve?

I want to export a UI I have built in SLS to an Ubuntu VM. The VM has LVGL 9 running.

What have you tried so far?

I have got the demo for LVGL 9 working.
I then designed and exported the UI, following instructions in the docs (put in folder beside lvgl, include ui.h, call lv_init, call ui_init etc)
However when I build the project I get undefined reference error to ui_init().
If I then include ui.c this error no longer shows but multiple other undefined references appear.
Is there some change required to the CMakeLists.txt file for the project

Screenshot or video


  • SquareLine Studio version: 1.3.4
  • Operating system: SLS on Windows. Running exported code on Ubuntu.
  • Target hardware: Linux Frame Buffer

SquareLine Studio v1 doesn’t support LVGL9 compatible export now. LVGL9 has went through a major API change with many new features, and is not totally backwards-compatible with LVGL8.

Ah, I was afraid of as much, thanks for getting back to me. I don’t suppose there’s a conversion script available to update 8.3.6 code to 9?

There’s a ChangeLog describing the API-changes: Changelog — LVGL documentation
We’re not aware of any v8->v9 converters, but SquareLine Studio v2 will be able to export LVGL-v9 code, until that I guess you can ask if a converter exists or is planned, in LVGL forum or GitHub-discussion, e.g.: Changes in master (v9 development) · Issue #4011 · lvgl/lvgl · GitHub , v9 discussion and changes · Issue #3298 · lvgl/lvgl · GitHub

Thanks, when is SLS v2 due?

This .h file might help in the ‘conversion’ between LVGL v8 and v9 codes: