Raspbian comes with a fairly outdated version of Qt inherited from Debian, and there are no precompiled EGLFS binaries that I can find. Even the Qt folks don't distribute an installer. I could understand a complex beginners guide[1] if this were lower level stuff. It's not.
How recent? Debian's latest stable, Buster, got released a couple of months ago. Raspbian's rebase on Debian Buster is recent, like a good month ago. Raspbian should sport Buster's Qt version.
Of course Debian only bundles X11 versions of Qt so if you're looking for an EGLFS build, you're still stuck rolling your own. If the Qt folks distributed pre-built EGLFS binaries for the Pi this would be a huge usability win IMO.
https://doc.qt.io/qt-5/embedded-linux.html#linuxfb
Qt is fairly popular in the embedded space. I'd bet the support and robustness is quite good.
I won’t redo the whole embedded GUI from custom NanoVG-based library to Avalonia, started much earlier than 2 months ago. For next embedded Linux project, or major version upgrade of the current one, I’ll definitely evaluate Avalonia.
Does it use GLES to render fonts and 2D graphics? Or they’re rendered on CPU?
Does it support ClearType-like font rendering, like this forked NanoVG? https://github.com/Const-me/nanovg/
Is there something comparable to WPF’s D3DImage to insert custom 3D content? In my custom library, I’ve implemented GlesInterop control which does nothing on the NanoVG render pass, but after the whole GUI is rendered, overlays a custom GLES content on top of the result.
How hard it is to implement custom touchscreen input? I’m currently generating touch events by reading from /dev/input/event0 with a FileStream class.
Is there on-screen keyboard in Avalonia? That’s probably the most complex piece of UI I’ve implemented in that project: input focus, modifier keys switching layouts, and that’s just for US English keyboard.
But the kiss approach was great here. WarpScript includes all you need to render text, vectors, images... The limit is that I cannot use the touchscreen.
Thanks for your replies everyone !