Yocto Qt and the debacle
Have you ever wondored why those car infotainmentment system are sluggish ? Because those are unoptimised and running on underpowered hardware. Running on underpowered and old hardware is not a bad thing as those are proven and supported for millions of years (just kidding, more of a decade actually) by the vendors. And thanks to the linux community these hardwares gets the support they deserve.
Anyways I am not here to rant and about the underpowered hardwares. I will do that some other day.
Yocto, in simple terms it is a way to build linux distro easily (not so easily though) and Qt, it's a framework for GUI apps (The apps with fancy graphics you see on cars and TVs).
The debacle which I faced is simple but frustating (PS: this post is kind of personal pointers for me and focused on yocto, I might be wrong so please don't bash in the comments). In simple term the linux graphics staack is provided by multiple vendors. i.e. mesa (the all time native) and others by the hardware vendors.
The yocto defaults are provided are provided by mesa i.e. all the gl stuff gles2 gles3 drm's opengl and what not! (oh graphics devs!!). Recently I was integrating a hardware's GPU though it is simple (maybe it is for others :) ) as the vendor provides everything and we just have to bring in the stuff and override the defaults but here lies the part where it becomes quite frustrating at times as the dependency chain is quite extensive. So a few things to make a note here for yocto dev,
- core-image is bigger and heavy then image, use inherit image if you want light weight systems. Bring in the things individually if needed.
- Always go through the vendors' reference distro first or if you get stuck switch back to it and compare.
- After integration profile the hardware if a provision is there.
- Some libraries maybe not be available, especially for Qt libraries (I am taking about you '-ldl', dunfell) just go through the errors logs if you are not getting anywhere.
- Qt seems to progress without deps and throw the compilation at your face with lots of log. (again go through the logs).
That's it for today bye ;)