Hello,
We have embedded system based on stm32mp157 which doesn’t have support for vulkan drivers.
Is it possible to run Iced with OpenGL ES backend?
If it’s possible how the application should be run or configured?
Hello,
We have embedded system based on stm32mp157 which doesn’t have support for vulkan drivers.
Is it possible to run Iced with OpenGL ES backend?
If it’s possible how the application should be run or configured?
Have you tried to simply compile and run an app? The tiny skia backend is CPU-only and iced should pick it up automatically at run time if necessary.
You can use wgpu’s OpenGL ES backend by setting the WGPU_BACKEND environment variable, so WGPU_BACKEND=gles cargo run for example.
Another option is to disable wgpu and rely on tiny-skia for software rendering (you need to disable the default feature flags and enable everything you need except for wgpu). Or you could just let wgpu detect available adapters and choose the most optimal one (no changes required).
Thanks this way it works WGPU_BACKEND=gles cargo run
However we don’t have powerful hardware so gui is quite unresponsive compared to LVGL for example.
Maybe try the tiny-skia CPU-only renderer? You can do temporarily via ICED_BACKEND=tiny-skia cargo run and then for a more permanent solution:
So something like
[dependencies]
# ...
iced = { version = "0.13.1", default-features = false, features = [
"tiny-skia",
"image",
# ...
] }
This works better, I’m wonder why OpenGL ES has worse perfomance