Rust bindings for LVGL updated

Hey there! I’m the new maintainer for lvgl-rs, the Rust bindings for LVGL. Version 0.6.0 released a few days ago with a lot of additions, notably updating to LVGL 8.x.

A lot has been added on since the initial post about this from the previous maintainer; it’s still a work-in-progress, but certainly usable in a serious project with minimal unsafe code as long as only the features marked as complete in the README are used.

Let me know what you think :slight_smile:

1 Like

Hey,

It’s fantastic! :heart_eyes:

This is from the README:

We make use of bindgen for generating the bindings to LittlevGL at build time. There

Is it fully auto-generated or is there some manual work too? How complicated would it be to support LVGL v9? (some API changes, but conceptually the same)

Hi there!

The codegen for the raw C bindings is entirely automatic - that’s handled in the lvgl-sys crate. Version 0.6.0 updated to 8.x from 7.x as the project had been unmaintained for a while before, and the changes there were minimal.

Generating some of the safe bindings is done semi-automatically, in the lvgl-codegen and lvgl crates. There’s some work-in-progress code for the codegen crate to completely automate binding generation, but that’s not currently a high priority as there’s a lot of bugs to squash still and quality-of-life changes to implement for users.

If updating from 8 to 9 is similar to updating from 7 to 8, I should be able to get that done in a few days.

Sorry for the late reply, I’m just back from the Easter holiday.

It sounds amazing! I wonder if you’d be interested in hosting the rust binding under the LVGL organization as an official binding. If it will be actively maintained we can advertise it on our website and other marketing channels as well. No push, just asking. :slight_smile:

I’m sorry right back for my late reply - yes, I’ll be maintaining it actively. I’m currently taking a short break following the update just to make sure I don’t burn out, but I’ll go back to enhancing the bindings later this week and I do absolutely intend to keep this up to date in the future. I’d love to have this hosted under LVGL! I’ll talk to the project owner about this and get their opinion also. Thanks so much!

Very nice! :+1:

Amazing, thank you. Looking forward to your feedback!

Seems like the answer is yes from the project owner also, as per this issue. How can I proceed? :smile:

Amazing! :tada:

Move the repo to an organization it’s a little bit cumbersome (or at least I don’t know a simpler way). This how we usually do it:

  1. You should transfer the repo to me (kisvegabor)
  2. I transfer the repo to the LVGL orgnization
  3. I give write permission to you

I’m not 100% sure but I believe this way the stars, issues and PRs will be kept.

Is it good for you this way?

Hey all!

It sounds good to me. I will move the repo to your account. I just would like to ask to be kept as one of the maintainers, I hope to be able to continue to contribute to the project in one way or another.

Exciting! :slight_smile:

Aaaaaaand ready!

Thank you very much! I’ve set the role of @ioctl and @Nia to “Maintain”. So you can do basically anything with the repository (except deleting it).

Please check if everything look good. If so, I’ll announce it on some places. :slight_smile:

1 Like

It looks good from my side! Exciting times. Thank you, @kisvegabor and @Nia !!!

2 Likes

Woo, thanks so much :smile: I look forward to see where this goes now!

This is great work! I see that the items listed below are still not supported. I wonder if there are any plans to add this?

  • Images
  • File system
  • Tasks