-
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.
The first step is to setup the Yocto build environment for your Freescale/NXP i.MX6 target hardware. Refer to the board vendor's "Getting started guide for Yocto".
For example, check this guide that teaches how to build an image for the Wandboard
After that, the next step is to add the path to meta-webkit to conf/bblayers.conf
and proceed to select the stack (propietary vs opensource) and the wpebackend.
To build WPE for the i.MX6 there are different possibilities:
-
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)
- Note: To enable the open source Etnaviv stack add on
conf/local.conf
MACHINEOVERRIDES .= ":use-mainline-bsp"
Performance will vary depending on the stack chosen (propietary vs opensource) as well depending on the wpebackend chosen.
- Users of i.MX6 interested in the open source stack may find relevant information in this issue
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.