-
Notifications
You must be signed in to change notification settings - Fork 70
i.MX6
This wiki page documents how to build an image with WPE for a board based on i.MX6.
Please be sure to first read the WPE introduction page that gives an overview of the launchers and wpebackends available.
To build WPE for the i.MX6 there are different alternatives:
-
Use proprietary Vivante OpenGL drivers. With this drivers we can use the following backends:
- wpebackend-rdk/wayland (runs inside weston)
- wpebackend-rdk/imx6 (runs directly over the framebuffer)
- wpebackend-fdo (runs inside weston)
-
Use open source Etnaviv OpenGL drivers. With this drivers we can use the following backends:
- wpebackend-rdk/wayland (runs inside weston)
- wpebackend-fdo (runs inside weston)
Performance will vary depending on the stack chosen (propietary vs opensource) as well depending on the wpebackend chosen.
The i.MX6 hardware includes a VPU (Video Processing Unit) that is capable of decoding H.264 accelerated via hardware. To leverage this with WPE we need the following:
- Yocto version should be rocko or newer (this is because we need gstreamer-1.12 or superior. This version requirement is lower for other platforms, but for i.MX6 is 1.12)
- Ensure the gl plugin of gstreamer-plugins-bad is being built. It should build by default if you add this to
conf/local.conf
DISTRO_FEATURES_append = " opengl wayland"
- Ensure the packageconfig
gst_gl
is enabled on WPE (this is the default) - Install the gstreamer-imx plugins into the image. You can do this by adding to
conf/local.conf
IMAGE_INSTALL_append = " gstreamer1.0-plugins-imx gstreamer1.0-plugins-imx-meta"
Note: The instructions above have been only tested with the proprietary stack (Vivante). In theory it should be also possible to enable accelerated hardware decoding using the open source stack by leveraging the gstreamer v4l2 plugin and the kernel CODA driver. The steps for that should be pretty much the same, but installing the v4l2 gstreamer plugin instead of the gstreamer1.0-plugins-imx one.