Managed to get a basic Kotlin Native program ( https://gitlab.com/napperley/lvgl-hello ) working on the Raspberry Pi 4 that uses the LVGL library ( https://lvgl.io/ ), and the Linux Frame Buffer ( https://en.wikipedia.org/wiki/Linux_framebuffer#:~:text=The%20Linux%20framebuffer%20(fbdev)%20is,typically%20on%20the%20system%20console. ) as the backend 🎉. The two main issues with the program are the graphical corruption caused by the mouse cursor, and the resolution (1280x720) isn't fully utilized (only half of the screen is used). Memory usage is around 4.2 MB (reserved memory) with the old Kotlin Native memory model. Release binary size is around 1.2 MB (all libraries are statically linked).
I am wondering if there are some Kotlin team members interested in using this project as a use case (Embedded Linux GUIs) for the new Kotlin Native memory model (via the experimental tracing GC). Here are some YouTube videos that will give you a basic idea of what the LVGL library (originally designed for Micro Controllers but also supports Embedded Linux devices) is capable of:
• 100MHz oscilloscope with Raspberry pi PICO, micropython and LVGL (
https://youtu.be/rAWYpLoQVxYâ–¾
)
• LVGL Raspberry Pi SDL2 (
https://youtu.be/wEsPvbL4dT8â–¾
)
• Raspberri Pi & radioberry trancever using LVGL GUI (