4 ms·
While I love seeing many alternatives regarding UI frameworks, I'd love to see one general purpose "market leader". I love `iced` for its simplicity and flexib
by sandreas 6mo ago
While I love seeing many alternatives regarding UI frameworks, I'd love to see one general purpose "market leader".
I love `iced` for its simplicity and flexibility, but unfortunately there is no official software renderer, which makes it impossible to use for my little embedded side project.
`Slint` is also usable, however I'm not sure about the licensing approach that makes you pay for non open source projects (which is totally understandable, but somehow this feels like a no-go for the "leading" UI framework). The Slint UI DSL feels very good at first, but the more you use it, the more you run into limitations like missing async support for callbacks, the lack of importing structs from Rust into and export UI structs to Rust, etc. However, it at least supports a software renderer and framebuffer.
Is there any other lightweight UI Framework supporting software-rendering and framebuffer for embedded devices (RISC-V 64bit musl, LicheeRV Nano)?
- FrankenApps 6mo agoIsn't pure CPU rendering possible in iced with the tiny-skia backend?
- sandreas 6mo agoMaybe... Is this framebuffer? My platform is pretty unusual (riscv64-musl), so I was pretty happy when something was working. If your interested, it is a portable audio player with the size of the iPod Nano 7g: https://github.com/nanowave-player/nanowave-ui https://github.com/nanowave-player/nanowave-ui
- nicoburns 6mo agoYou might need to modify it slightly to get it to render to the right location, but it's a pure software renderer. You could ask in the Iced zulip https://iced.zulipchat.com/ https://iced.zulipchat.com/
- FrankenApps 6mo agoCool stuff. Have you tried https://github.com/embedded-graphics/embedded-graphics https://github.com/embedded-graphics/embedded-graphics ?
- PoignardAzur 6mo ago> Is there any other lightweight UI Framework supporting software-rendering and framebuffer for embedded devices (RISC-V 64bit musl, LicheeRV Nano)? There's no crates.io release yet, but the master branch of Xilem and Masonry is somewhat renderer-agnostic, and lets you use vello_cpu, which does SIMD-assisted software rendering (I don't know how good the RISC-V support is). I say "somewhat" because it's supported by the internals crates (xilem_masonry, masonry_core), but not by the composition root crate (xilem), so you have to implement your own integration with winit, but we're getting there!