
Introducing the Qt Lite project – Qt for any platform, any thing, any size - aurhum
http://blog.qt.io/blog/2016/08/18/introducing-the-qt-lite-project-qt-for-any-platform-any-thing-any-size/
======
newsat13
The amount of editorial in this post is mind blowing. Am I the only one who
found it extremely hard (yes, extremely) to sift through all the blurb of
text. In the end, I am not even sure what is being released.

~~~
kbutler
Skimmed it.

TLDR: will be able to configure smaller subsets of Qt modules so you don't
have to deliver the whole package on small systems.

------
n00b101
_The new configuration system in Qt, allows your define the content you need
from each module in much more detail for your project and easily allows for
feature based tailoring of the Qt modules. We are starting with enabling this
fully for Qt Core, Qt Network, Qt GUI, Qt QML and Qt Quick. You can now fine
tune which features from these modules you want to include in your project.
There is no longer any need to include unnecessary features._

To be clear, this potentially reduces binary sizes, but it does not by itself
change run-time performance.

 _No Open GL Requirement ... The Qt Quick 2D renderer can work in software
only, but it is also designed to utilize accelerated 2D operations, for
devices that packs a little bit more punch, but still doesn’t have full OpenGL
support._

I wonder what kinds of devices this is intended for? Presumably, they are a
very important market for Qt to have implemented this? And these devices have
graphics displays but they lack GPUs? What device could that be?

CPU software rendering seems like a step backwards for performance. GPUs and
OpenGL must be more energy efficient at this task than software rendering, and
I would imagine that important embedded devices with graphics displays must
all have GPUs or will in the future?

I would have thought that "Qt for any platform" would include web browser
(WebAssembly / Emscripten / WebGL) but no such luck. Based on the title, I
thought this was going to be some drastic optimization of Qt's GUI. It doesn't
sound like that's the case.

I haven't used Qt on embedded devices, but I've looked at several demos of Qt
compiled to JavaScript with Emscripten [1] and the results seem very slow.
Part of the reason seems to be that these Emscripten demos have Qt falling
back to software rendering, instead of using WebGL accelerated rendering ... I
don't think that another software rendering backend for Qt solves this
problem.

[1]
[http://vps2.etotheipiplusone.com:30176/redmine/projects/emsc...](http://vps2.etotheipiplusone.com:30176/redmine/projects/emscripten-
qt/wiki/Demos)

~~~
ChuckMcM

       I wonder what kinds of devices this is intended for?
    

This: [http://www.st.com/content/st_com/en/products/evaluation-
tool...](http://www.st.com/content/st_com/en/products/evaluation-
tools/product-evaluation-tools/mcu-eval-tools/stm32-mcu-eval-tools/stm32-mcu-
discovery-kits/32f469idiscovery.html) ARM Cortex M-4 architecture, 800 x 480
full color display, 16MB of RAM and 16MB of flash on this demo board and the
part includes a 2D bitblit unit (ST calls is ChromArt(tm)) which can do fill
from constant, memory to memory region copy, memory to memory copy with alpha
blend, (and all three with pixel format conversion options)

Put a keyboard and a VGA monitor on it and you've got a PC that is at least as
powerful as the ones from the late 80's early 90's.

~~~
roymurdock
What are possible use cases for a device like this? (I didn't downvote you and
I don't know why anyone would)

~~~
erichocean
Certainly, why would you want that vs. a $5 Rapsberry Pi Zero which _does_
have an actual GPU, media acceleration, etc., more RAM, a more powerful CPU,
etc.

~~~
yuretz
E.g. because of much longer guaranteed support/supply life, which is a must if
you are trying to run a serious production. There might be some other reasons
too.

~~~
erichocean
> _because of much longer guaranteed support /supply life_

The underlying components in the Pi Zero also have a long "guaranteed"
support/supply life. You don't have to rely on the Pi foundation for your
components, or the board itself (as I pointed out in another reply in this
thread).

My primary point is that the cost of a GPU these days is very close to zero,
so I see little benefit in picking a platform that doesn't have one _if you
need that capability_.

~~~
akiselev
Uhhh have you ever _dealt_ with Broadcom? The BCM2835 chip powering the RPi
zero isn't something you can buy without negotiating with Broadcom directly
and a minimum order size in the tens or hundreds of thousands. That is a far
cry from STM parts you can order off of Digikey or Mouser. Even some of my
bigger clients won't base products on Broadcom chips for that reason alone.

And no, even in the best of cases where you have great software support from
the vendor (ha! as if) and a great reference design, adding a GPU to a design
is expensive because of both software and hardware R&D. unless you have an
integrated CPU/GPU combo but then you're back to the problem of dealing with
Qualcomm/Broadcom.

------
Rexxar
What is the benefit over static linking and letting the linker remove unused
symbols ? (without considering licensing rules)

~~~
jjnoakes
Mostly the new software render, which can run without OpenGL.

------
protomyth
"At least for now, the configuration tooling will be a part of the Qt for
Device Creation product, and not open source."

I do wonder how a lot of companies's dual license model is going to interact
with the IoT / embedded world.

~~~
joezydeco
I'm thinking about avoiding it for my IoT device node work.

I'm prototyping a node project right now for a large customer (>50K
deployments) and while Qt helped me get code running quickly there won't be a
way to comply with the dynamic linking model on my final hardware. Can't
afford the Qt license in my BOM (probably would be 25% of my bill) so out it
goes.

~~~
protomyth
Any idea what you are going to replace it with?

~~~
joezydeco
A lot of my smaller devices uses FreeRTOS, it's got a nice simple scheduler
and it's easy to work with.

I've also used the uEZ application later from FDI on top of FreeRTOS when I
need a more robust application.

Although I'm looking at the Kinetis M3 line for upcoming work, so I might use
mbed.

------
kbart
I wish they had done this few years back. I've wasted waaay too much time
trying to minimize and cram down Qt to the small devices.

------
tonetheman
Is it out anywhere? I looked through it and never saw a download link or check
out the code here... something.

