Skip to content
Carlos Alberto Lopez Perez edited this page May 22, 2018 · 10 revisions

Introduction

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.

Building an image with WPE for an i.MX6 board.

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:

  1. 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)
  2. 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.

Enabling accelerated video decoding

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:

  1. 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)
  2. 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"
  1. Ensure the packageconfig gst_gl is enabled on WPE (this is the default)
  2. 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.