Currently, we're running Linux with Qt 4 on PowerPC.
We're moving to a newer CPU (i.MX6 quad core). Freescale announced that they would continue manufacturing and supporting it for 15 years and it comes in industrial grade and consumer grade packaging depending on your needs.
We're moving away from Qt for the GUI. HTML5 is the way of the future. ;)
For people who are starting out, I'd recommend using Yocto. It's a build/development environment for embedded Linux. Look it up.
By they way, if it's not real-time critical, there's nothing stopping you from using any programming language you like except how difficult they can be to cross-compile.
For hard real-time stuff you need a dedicated rt system and you'll have to use C, C++ or maybe Rust.
For soft real-time stuff you can get away with RT-patched Linux. Any language with GC is generally bad with the exception of Erlang, Go and Nim; where the GC is optimised for low latency rather than bulk through-put.
* It's easier to find people with JS skills than C++ skills
* It takes ages to build Qt and it's unreasonably hard to compile. Building the Linux kernel is far less painful.
* It takes ages to build a single Qt project and we have multiple architectures to deploy to (ppc, arm, x86).
* Remote connections are trivial. People only need a browser to connect remotely.
The people at the company who have been using it like it a lot. They just have to put together a few tags and boom there's your GUI.
The GUI has access to some system variables via WebSocket. We have a two-way binding abstraction so people don't have to think too much about events and such.
I wouldn't recommend HTML for a small company though. Better stick to Qt if you're a small group of competent C++ programmers.
I've been doing straight opengl-es on my devices and like not being locked into a gui platform. It makes even more sense to do it this way when you've got external buttons as inputs, because you're not even able to use slots and signals, which is the most useful part of qt.