Hi! I’ve encountered recently a question about which toolkit to use on embedded Linux. Being a GNOME person, I suggested GTK without knowing anything about the embedded use-case. The other party mentioned they’d like to draw directly to framebuffer and have it hardware accelerated. Qt seems to offer well-documented features for this use case: Qt for Embedded Linux | Qt 5.15.
Is GTK a good choice for embedded Linux or is it more convenient to stick with Qt or under solutions? And GTK is a good choice what should one use to properly utilize it?
…such as a minimal copy of Weston (which does provide a framebuffer backend), which is already used “in the wild” for embedded projects. You’ll probably want to look at “kiosk shell” — rather than the default desktop-shell — which autostarts a given fullscreen app
Define “hardware acceleration”. RPi3 has a GPU on its SoC that can use GLES, so you can have a Wayland display server that uses hardware acceleration to move buffers and present them on the screen. Additionally, GTK4 supports GLES as a rendering API, so it can use hardware acceleration to draw the contents of an application.
Of course, I would recommend using an RPi4, because anything older than that is kind of low spec’ed for complex rendering, especially if you end up on websites.
But I would also be hard pressed to classify a Raspberry Pi as an “embedded” Linux system. Just because it’s an Arm SoC, it doesn’t mean it’s “embedded”; otherwise, an Apple Arm MacBook would classify as an “embedded” system.