Raspberry PI - WebPlatformForEmbedded/meta-wpe GitHub Wiki
Setup
Note: You only need this if you do not have an existing OpenEmbedded Yocto environment.
Make sure you install the repo
command by Google first.
create a workspace for your yocto build:
$ mkdir -p rpi-yocto
Inside the newly created directory, initiate the repository
$ repo init -u ssh://[email protected]/WebPlatformForEmbedded/meta-wpe.git -b morty -m tools/manifests/rpi-yocto.xml
Fetch and sync all repositories:
$ repo sync
Build
Initiate OE by invoking the oe init script:
source poky/oe-init-build-env rpi-ml-build
or at least for Morty build
source openembedded-core/oe-init-build-env rpi-ml-build
Add bb layers:
bitbake-layers add-layer ../meta-openembedded/meta-oe
bitbake-layers add-layer ../meta-openembedded/meta-python
bitbake-layers add-layer ../meta-openembedded/meta-multimedia
bitbake-layers add-layer ../meta-openembedded/meta-networking
bitbake-layers add-layer ../meta-raspberrypi
bitbake-layers add-layer ../meta-wpe
Edit conf/local.conf
and set the target machine:
MACHINE = "raspberrypi3"
Remove x11 from Distro features since we use wayland+westeros
DISTRO_FEATURES_remove = "x11"
Add opengl to Distro Features
DISTRO_FEATURES_append = " opengl"
you can use raspberrypi2 as well if you own raspberrypi2 machine.
To set a different GCC e.g. 6.3:
GCCVERSION = "6.%"
Build WPE with Westeros Compositor (DISTRO_FEATURES_append = " wayland" required):
$ bitbake wpe-westeros-image
Or build WPE with full screen EGL:
$ bitbake wpe-eglfs-image
Install
To flash the sdimg on the sd card:
$ sudo dd if=tmp/deploy/images/raspberrypi3/wpe-westeros-image-raspberrypi3.rpi-sdimg of=/dev/sdX
Image without Wayland
Optionally it is possible to use the RPI directly on top of RPI userland for the EGL. To achieve this add the following lines to the local config:
WPE_BACKEND = "rpi libinput"
WPE_PLATFORM = "egl"
NETFLIX_BACKEND = "rpi"
DISTRO_FEATURES_remove = "wayland"
Optional settings
Use 4.9 kernel (optional), edit conf/local.conf
and set:
PREFERRED_VERSION_linux-raspberrypi = "4.9%"
To build without Westeros/Wayland support on RPI (fullscreen EGL), edit conf/local.conf
and set:
WPE_BACKEND_rpi = "rpi"
DISTRO_FEATURES_remove = "wayland"
Note WPE has many other view backends it can use. To select specific setting, like BCM Nexus or IntelCE edit your conf/local.conf
and set the WPE_BACKEND = foo
directly.
To build an initramfs image, edit conf/local.conf
and set:
INITRAMFS_IMAGE_BUNDLE_rpi = "1"
INITRAMFS_IMAGE_rpi = "wpe-initramfs-image"
KERNEL_INITRAMFS = "-initramfs" BOOT_SPACE = "163840"
To install the initram fs, copy the zImage to the fat32 partition of your RPI.