No virtual/egl provider is available in the default setup with
vc4graphics enabled and neither opengl nor vulkan in DISTRO_FEATURES:
$ bitbake -e virtual/egl | tee env.egl
ERROR: Nothing PROVIDES 'virtual/egl'
vc-graphics-hardfp PROVIDES virtual/egl but was skipped: PREFERRED_PROVIDER_virtual/libgles2 set to mesa, not vc-graphics-hardfp
vc-graphics PROVIDES virtual/egl but was skipped: PREFERRED_PROVIDER_virtual/libgles2 set to mesa, not vc-graphics
$ bitbake -e userland 2>&1 | tee env.userland
ERROR: Nothing RPROVIDES 'libegl-mesa' (but /jenkins/mjansa/build-ros/ros2-dashing-warrior/meta-raspberrypi/recipes-graphics/userland/userland_git.bb RDEPENDS on or otherwise requires it)
NOTE: Runtime target 'libegl-mesa' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['libegl-mesa']
ERROR: Required build target 'userland' has no buildable providers.
Missing or unbuildable dependency chain was: ['userland', 'libegl-mesa']
$ bitbake -e mesa 2>&1 | tee env.mesa
ERROR: Nothing PROVIDES 'mesa'
mesa was skipped: one of 'vulkan opengl' needs to be in DISTRO_FEATURES
$ bitbake -e vc-graphics-hardfp 2>&1 | tee env.vc-graphics-hardfp
ERROR: Nothing PROVIDES 'vc-graphics-hardfp'
vc-graphics-hardfp was skipped: PREFERRED_PROVIDER_virtual/libgles2 set to mesa, not vc-graphics-hardfp
There is unbuildable dependency on virtual/egl from gstreamer1.0-plugins-base because:
1) gstreamer1.0-plugins-base depends on virtual/egl because of "egl" PACKAGECONFIG
2) "egl" PACKAGECONFIG is enabled by
meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_%.bbappend
PACKAGECONFIG_GL_rpi = "egl gles2"
without respecting the "opengl" in DISTRO_FEATURES like the recipe in oe-core does
openembedded-core/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.14.4.bb:
PACKAGECONFIG_GL ?= "${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gles2 egl', '', d)}"
3) virtual/egl is provided either by:
- userland (only without vc4graphics in MACHINE_FEATURES):
meta-raspberrypi/recipes-graphics/userland/userland_git.bb:PROVIDES += "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "", "virtual/libgles2 virtual/egl", d)}"
- mesa (selected with vc4graphics in MACHINE_FEATURES)
meta-raspberrypi/conf/machine/include/rpi-default-providers.inc:PREFERRED_PROVIDER_virtual/egl ?= "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "mesa", "userland", d)}"
- vc-graphics(-hardfp)
meta-raspberrypirecipes-graphics/vc-graphics/vc-graphics.inc:PROVIDES = "virtual/libgles2 virtual/egl"
4) vc-graphics(-hardfp) recipe are skipped in default setup, because with vc4graphics being
in MACHINE_FEATURES by default since:
690bdca574
the PREFERRED_PROVIDER_virtual/libgles2 is set to mesa in:
conf/machine/include/rpi-default-providers.inc:PREFERRED_PROVIDER_virtual/libgles2 ?= "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "mesa", "userland", d)}"
resulting in skipping the other virtual/libgles2 providers:
vc-graphics-hardfp PROVIDES virtual/egl but was skipped: PREFERRED_PROVIDER_virtual/libgles2 set to mesa, not vc-graphics-hardfp
vc-graphics PROVIDES virtual/egl but was skipped: PREFERRED_PROVIDER_virtual/libgles2 set to mesa, not vc-graphics
5) mesa is skipped when neither opengl nor vulkan are in DISTRO_FEATURES
6) userland doesn't provide virtual/egl because we have the default vc4graphics
meta-raspberrypi/recipes-graphics/userland/userland_git.bb:PROVIDES += "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "", "virtual/libgles2 virtual/egl", d)}"
and it cannot be built anyway, because with the default vc4graphics it depends on libegl-mesa:
meta-raspberrypi/recipes-graphics/userland/userland_git.bb:RDEPENDS_${PN} += "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "libegl-mesa", "", d)}"
and libegl-mesa is provided only by mesa recipe from oe-core which in turn
requires either "opengl" or "vulkan" to be in DISTRO_FEATURES
This causes a lot of unresolved dependencies in default setup with vc4graphics but without opengl.
- with Yocto 2.6 Thud and older it worked, because vc4graphics wasn't enabled by default before:
690bdca574
To build gstreamer1.0-plugins-base with egl PACKAGECONFIG enabled you have 2 options:
A) Just add "opengl" to DISTRO_FEATURES and use the default vc4graphics with mesa providing virtual/egl
B) Use DISABLE_VC4GRAPHICS added in
96c8459c93
to explicitly disable vc4graphics and use userland to provide virtual/egl
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
This RaspberryPi firmware update includes a change in the license file
as well[1]. This change is for supporting customisation program.
[1] dd9e9ebb5d
As a result of this change, we update the hash in the bcm2835-bootfiles
recipe as well.
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Use the IMAGE_NAME_SUFFIX variable to build the SDIMG name. Some layers,
notably meta-mender, change the IMAGE_NAME_SUFFIX variable to something
other that ".rootfs", causing build failures.
Signed-off-by: Francois Retief <fgretief@gmail.com>
This updates brcmfmac43455-sdio.bin to version 7.45.189
and brcmfmac43430-sdio.bin to version 7.45.98.83
This updated upstream firmware also includes the changes from
0001-brcmfmac43455-sdio.txt-Follow-raspbian-change-for-bo.patch
so we remove this patch along with removing the do_clean_pc
function which is not needed anymore since we don't apply
any other patches to the upstream source.
Signed-off-by: Florin Sarbu <florin@balena.io>
Intuitively, bcm2835-bootfiles:do_deploy should depend on rpi-config:do_deploy.
This indirectly resolves a missing dep between rpi-config:do_deploy and
do_image_rpi_sdimg (on an image recipe inheriting from sdcard_image-rpi.bbclass).
This manifested as changes to rpi-config (e.g. setting or unsetting
ENABLE_* variables) not triggering a rebuild of the SD card image.
Signed-off-by: Chris Laplante <mostthingsweb@gmail.com>
Since we enabled vc4graphics by default[1], there is no easy way to disable
it if needed. This patch introduces a variable (DISABLE_VC4GRAPHICS)
which when set to '1' will not add 'vc4graphics' to MACHINE_FEATURES
forcing the old behaviour.
One could use it in 'local.conf' for example.
[1] https://github.com/agherzan/meta-raspberrypi/pull/417
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
As of late[1], we defaulted to enabling vc4graphics in MACHINE_FEATURES.
Let's cleanup the machine configurations as per this change.
[1] https://github.com/agherzan/meta-raspberrypi/pull/417
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Update linux kernel 4.14 series recipe for building with latest -rt
branch.
This fixes#474.
Signed-off-by: Francesco Giancane <francescogiancane8@gmail.com>
Kernel 4.19.y and above was patched to rename the Raspberry Pi Zero W dts.
Unfortunately, this modification was not propagated to previous kernels,
especially on the 4.14.y series which is still supported in this layer.
Thus, kernel 4.14.y would not build because correct .dts file is not found.
The aforementioned modification was merged as backport back in 4.14.y series.
Updating to the latest commit fixes the issue.
Signed-off-by: Francesco Giancane <francescogiancane8@gmail.com>
The PCIe bounce buffers were ported[1] in the kernel so we can remove
this limitation now.
[1] https://github.com/raspberrypi/linux/pull/3144
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Videocore 5/6 support was added as a separate driver in mesa: v3d. Enable
this so we can have it available for Raspberry Pi 4. Also, this driver
depends on kmsro.
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Bump revision to fix playback errors on RPi 4 (https://github.com/popcornmix/omxplayer/issues/733)
and update patches accordingly.
Update the license hash because of the change in FSF mailing address.
Signed-off-by: Kirill Goncharov <kdgoncharov@gmail.com>
* I have this in our layer for some time:
RPI_KERNEL_DEVICETREE_OVERLAYS_append = " overlays/vc4-fkms-v3d.dtbo"
because we're using vc4graphics also on raspberrypi3 and it was
working fine until recently.
* now the default rpi-base.inc in warrior and master branch includes the same since:
37aa050d5a
and do_image_rpi_sdimg started failing with a bit useless log:
...
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 4194kB 46.1MB 41.9MB primary boot, lba
2 46.1MB 1145MB 1099MB primary
mkfs.fat: warning - lowercase labels might not work properly with DOS or
Windows
mkfs.fat 4.1 (2017-01-24)
WARNING: exit code 1 from a shell command.
* after adding -v to mcopy calls I got slightly better log:
...
Copying w1-gpio-pullup.dtbo
Copying w1-gpio.dtbo
WARNING: exit code 1 from a shell command.
* the issue is that mcopy behavior in non-interactive shell is to fail
when the target file already exists (sometimes it seems to cause mcopy
to hang forever), but when you execute the run.do_image_rpi_sdimg
script manually in interactive shell it will nicely show this prompt
on stderr:
$ dtb=vc4-fkms-v3d.dtbo recipe-sysroot-native/usr/bin/mcopy -i boot.img -s BUILD/deploy/images/raspberrypi3/$dtb ::overlays/$dtb
Long file name "vc4-fkms-v3d.dtbo" already exists.
a)utorename A)utorename-all r)ename R)ename-all o)verwrite O)verwrite-all
s)kip S)kip-all q)uit (aArRoOsSq): o
* with the bbfatal the log is finally a bit more useful:
...
Copying w1-gpio-pullup.dtbo
Copying w1-gpio.dtbo
ERROR: mcopy cannot copy TOPDIR/BUILD/deploy/images/raspberrypi3/vc4-fkms-v3d.dtbo into boot.img
WARNING: exit code 1 from a shell command.
* the only exception is FATPAYLOAD where it was ignoring mcopy with || true
before, I've added bbwarn, because even issues like mentioned there
"vfat issues like not supporting .~lock files" are probably worth
reporting as warning (why would people add .~lock to FATPAYLOAD if
it cannot be copied into boot.img)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
There is no need to override complete packageconfig but just the openGL
part, this ensures that any common change in oe-core reflects for rpi as
well and does not cause the packageconfigs to go stale
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Its enabled in linux-raspberrypi modules in defconfig
so we can ignore external driver for now, fixes
ERROR: linux-raspberrypi-1_4.19.58+gitAUTOINC+d5dc848c98-r0 do_packagedata_setscene: The recipe linux-raspberrypi is trying to install files into a shared area when those files already exist. Those files and their manifest location are:
/mnt/a/yoe/build/tmp/pkgdata/raspberrypi3-64/runtime/kernel-module-drbd-4.19.58.packaged
(matched in manifest-raspberrypi3_64-drbd.packagedata)
/mnt/a/yoe/build/tmp/pkgdata/raspberrypi3-64/runtime/kernel-module-drbd-4.19.58
(matched in manifest-raspberrypi3_64-drbd.packagedata)
Please verify which recipe should provide the above files.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This is no longer needed, on the contrary is fails the build for
webkitgtk
Fixes
webkitgtk-2.24.2/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:1007:33: error: use of undeclared identifier 'TEXTURE_MAPPER_COLOR_CONVERT_FLAG'
| m_textureMapperFlags |= TEXTURE_MAPPER_COLOR_CONVERT_FLAG;
| ^
Signed-off-by: Khem Raj <raj.khem@gmail.com>