chinglingwang, I think there is a big misunderstanding. Let me try to explain the big picture.
The scenario, we are looking at:
1. there is a device with i.MX6 that provides
2. there are multiple applications with multiple windows that we want to render. Thus, we need a compositor to compose them next to each other. With today's technologies it only makes sense to use a Wayland compositor (no X11).
3. there are certain functionalities that we want to have in the compositor, which are not supported by Weston. That is the reason why we are NOT using Weston. Instead, we are using ANOTHER Wayland compositor (note that Weston is not the only Wayland compositor, but one of many different existing ones). Our choice is to use the QtWayland Compositor (actually, we are extending the basic QtWayland compositor with the features we need).
Now, the graphics stack is as follows:
- Vivante provides EGL
- the QtWayland compositor directly renders at EGL via EGLFS; QtWayland compositor acts as the Wayland compositor for the system
- the applications let their windows be rendered by the QtWayland compositor
Does that make sense for you or do you have any problems with that?
There are many projects around that have the stack exactly like this.
The following two packageoptions for the qtbase Yocto recipe should activate the eglfs support:
PACKAGECONFIG_GL = "gles2"
PACKAGECONFIG += "eglfs"
You can check that the options are correctly picked up by looking into the config.summary file in the Yocto build folder for package qtbase.
Best regards,
Andreas