* drop MACHINE_ARCH which was added in:
592274937b
* the recipe is using MACHINE_FEATURES but if everybody either enables or disables vc4graphics
for all rpi MACHINEs it isn't causing it to be MACHINE_ARCH any more than all other rpi
overrides used in this layer.
* raspberrypi3-64 is the only one with vc4graphics by default, but it
has different TUNE_PKGARCH than other rpi MACHINEs). Unfortunately not
without its own set of issues:
http://lists.openembedded.org/pipermail/openembedded-core/2019-April/281328.html
* fixes userland and everything which depends on it (qtbase, qtwebengine..)
to be effectivelly MACHINE_ARCH
=== Comparing signatures for task do_package_write_ipk.sigdata between raspberrypi2 and raspberrypi3 ===
ERROR: qtbase different signature for task do_package_write_ipk.sigdata between raspberrypi2 and raspberrypi3
NOTE: Starting bitbake server...
Hash for dependent task userland/userland_git.bb.do_packagedata changed from dcfe9e7982ce1e231f06293c1e568d77384f167358fe88debe761290483244a0 to baa4d4164b0045f46c966e773cfeeed87f2c491c3dbd368af7cf4cd63ce39177
Unable to find matching sigdata for /OE/build/luneos-master/webos-ports/meta-raspberrypi/recipes-graphics/userland/userland_git.bb.do_packagedata with hashes dcfe9e7982ce1e231f06293c1e568d77384f167358fe88debe761290483244a0 or baa4d4164b0045f46c966e773cfeeed87f2c491c3dbd368af7cf4cd63ce39177
ERROR: 1 errors found in /OE/build/luneos-master/webos-ports/tmp-glibc/sstate-diff/1555500556/signatures.raspberrypi3.do_package_write_ipk.sigdata.log
bitbake-diffsigs tmp-glibc/sstate-diff/1555495762/r*/*/userland/do_fetch
NOTE: Starting bitbake server...
basehash changed from d767ab01261472a220e0ec80b01bc33e60764d56b5880ab3153afd42ea734703 to e57e594d7e4219f22778ccc5d8c102deeeaff64586e0f71cd90964fa2ace4e1c
Variable MACHINE value changed from 'raspberrypi2' to 'raspberrypi3'
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
We specificially enable building libgbm via packageconfig but then the
PROVIDES is hardcoded in main recipes, we make that change here so when
using userland as graphics driver, we can build wayland apps
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This avoids a missing rdep errors seen sometimes when switching
compilers or graphic driver providers
ERROR: userland-20181120-r0 do_package_qa: QA Issue: /usr/lib/libWFC.so contained in package userland requires li bEGL.so.1, but no providers found in RDEPENDS_userland? [file-rdeps]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
The userland should only provide egl libraries rather than gl libraries,
or else it will cause conflicts with other libgl providers like mesa.
Signed-off-by: Ming Liu <liu.ming50@gmail.com>
These names are mapped to mesa equivalent rproviders
when using vc4 rdep should be on libegl1 which is then
mapped to libegl-mesa since thats what provides libegl1
when using mesa. The libegl is not a global name for this
library
Fixes
ERROR: userland-20181120-r0 do_package_qa: QA Issue: /usr/lib/libWFC.so
contained in package userland requires libEGL.so.1, but no providers
found in RDEPENDS_userland? [file-rdeps]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Control the installs via MACHINE_FEATURES and avoid almost duplicate
recipe
Adjust other recipes to depend on userland now
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This causes glamor APIs to be disabled and glxgears run very slow
like 1FPS, without this it speeds up to 55.5fps
Signed-off-by: Khem Raj <raj.khem@gmail.com>
when running -ctestimage target, it fails because of errors it finds in
Xorg logs
| Log:
/mnt/a/yoe/build/tmp/work/raspberrypi3-yoe-linux-gnueabi/core-image-sato/1.0-r0/target_logs/Xorg.0.log
| -----------------------
| Central error: [ 14.760] (EE) AIGLX error: dlopen of /usr/lib/dri/swrast_dri.so failed (/usr/lib/dri/swrast_dri.so: cannot open shared object file: No such file or directory)
Therefore we enable swrast gallium drivers to make xorg happy
Signed-off-by: Khem Raj <raj.khem@gmail.com>
mesa-demos demand libgles1 and userland driver does not have it, therefore make it
conditional on choice of graphics driver, remove it when using userland driver and
keep it when using vc4 graphics driver.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
The patch introduced in 237e0c7 is now fixed upstream in gstreamer-base-1.14.1, hence drop it.
See: <2f3ff84f40>
Signed-off-by: Hugo Hromic <hhromic@gmail.com>
The patch in 237e0c7 used a define guard that clashes with an actual feature of Khronos (EGL_KHR_stream).
This makes some packages such as `qtbase` to think that the outdated Krhonos in userland has newer features.
This fix uses a more specific name for the relevant define guard (EGL_KHR_uint64_typedef).
Signed-off-by: Hugo Hromic <hhromic@gmail.com>
The `gstreamer1.0-plugins-base` package version `1.14` uses `EGL_EXT_image_dma_buf_import`, which
expects the `EGLuint64KHR` typedef that is present in recent versions of Khronos.
However, the older version included in userland does not provide it.
This patch backports the missing typedef from recent Khronos into userland.
See: <https://www.khronos.org/registry/EGL/api/EGL/eglext.h>
Submitted to userland in <https://github.com/raspberrypi/userland/pull/467>
Signed-off-by: Hugo Hromic <hhromic@gmail.com>
Wayland was updated recently in Poky, and now includes `libwayland-egl`:
commit 8097bf7012a0d97d3b8b48eceb5dc20cc4ae7ca9
Author: Denys Dmytriyenko <denys@ti.com>
Date: Tue Apr 10 15:06:09 2018 -0400
wayland: upgrade to 1.15.0
Official announcement:
https://lists.freedesktop.org/archives/wayland-devel/2018-April/037767.html
| libwayland-egl is now part of libwayland, and will presumably be removed
| from mesa in the not too distant future.
Update mesa recipe by removing corresponding libwayland-egl entries.
(From OE-Core rev: 6e5952fcfc13ff4b63c9376bd41a1dbba957f425)
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
However, the `userland` ships its own version of the library (see issue #243).
Until further testing, for now discard the version in `wayland` in favour of the version in `userland`.
Signed-off-by: Hugo Hromic <hhromic@gmail.com>
We have a few recipes which only deploy files that go into the boot partition
and do not create packages to be installed into the rootfs. These recipes don't
need to run the usual packaging tasks so we can drop them to speed up the build
a little.
We also have a bunch of recipes that don't need the usual toolchain as they just
copy files or invoke native commands like `mkimage`. So to speed up the build a
little more we can set INHIBIT_DEFAULT_DEPS to avoid an unnecessary dependency
on the toolchain.
Signed-off-by: Paul Barker <pbarker@toganlabs.com>
Currently oe-core enables dri3 only for x11 AND vulcan. Although patch enabling
dri3 by default in oe-core was sent out, make sure here dri3 is enabled -
whatever oe-core suggest in the future.
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
These renames are recently added
dd98890106
Some packages e.g. libSDL2 has started using the new names
and are resulting in undefined symbols e.g.
| /mnt/a/oe/build/tmp/work/cortexa7t2hf-neon-vfpv4-bec-linux-gnueabi/libsdl2-mixer/2.0.2-r0/recipe-sysroot/usr/lib/libb
rcmEGL.so: undefined reference to `wl_resource_post_error'
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Add patch to allow multiple wayland clients per process
userland has limit of one wayland client per process and thereby allow compositors
to launch multiple wayland client apps
Signed-off-by: Jeff Wannamaker <jeff_wannamaker@cable.comcast.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
userland package is the Raspberry Pi provider for the openGL stack.
If selected, it shall provide the gles2 and egl stacks in conjunction
with mesa-gl.
libegl was missing in the RPROVIDES variable, thus some run-time
dependencies were not met when using userland as provider.
Signed-off-by: Francesco Giancane <francescogiancane8@gmail.com>
rpi-backend.so was an attempt to create a specialized
weston backend to be used on raspberry pi like platforms.
At the moment, this backend's support has been dropped in favor
of using the standard drm backend, as the vc4 driver is now mainline
in mesa and in kernel (for kernel support).
As a result, weston on raspberry pi does not require the rpi-backend.so
anymore, nor it is buildable (weston's configure complains about
unrecognized configuration switch).
This patch enables weston to natively run on the DRM backend.
Signed-off-by: Francesco Giancane <francescogiancane8@gmail.com>
* bitbake is using re.match, so raspberrypi actually matches with anything
^raspberrypi.* which currently works, but it will also match with hypothetical
raspberrypi-is-no-more-this-is-banana-now MACHINE which isn't intended by
this COMPATIBLE_MACHINE.
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
* drop duplicated --enable-rpi-compositor and WESTON_NATIVE_BACKEND=rpi-backend.so
* use rpi override, adding --enable-rpi-compositor unconditionally breaks other MACHINEs with:
configure: WARNING: unrecognized options: --enable-rpi-compositor
* use just one append and one bb.utils.contains to save some bitbake cycles while parsing
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
libgl is actually provided by mesa-gl and this
casued unneeded conflict between these two
packages resulting in sato image reporting missing
libGL.so.1
Signed-off-by: Khem Raj <raj.khem@gmail.com>
xorg-xserver recommends xf86-input-libinput since oe-core's commit
| commit 2d005faff6341a81a2afae28860101ba9db51ae8
| Author: Jussi Kukkonen <jussi.kukkonen@intel.com>
| Date: Wed Oct 26 11:37:38 2016 +0300
|
| conf: Use xf86-input-libinput by default
| ...
As nice side effect warnings for missing evdev in Xorg.0.log are gone.
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
* We need to use the X11 modesetting driver with VC4.
* We need to build at least the mesa swrast DRI driver.
(its already the default so don't overwrite it to empty)
Signed-off-by: Carlos Alberto Lopez Perez <clopez@igalia.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
WARNING: userland-git-r5 do_package_qa: QA Issue: /usr/bin/dtoverlay-post
contained in package userland requires /bin/bash, but no providers found
in RDEPENDS_userland? [file-rdeps]
Signed-off-by: Scott Ellis <scott@jumpnowtek.com>
While having 'wayland' set DISTRO_FEATURES 'wayland-native' is handled as a cmake parameter which breaks the do_configure:
$ cat /data/builds/rpi3-sandbox/tmp/work/raspberrypi2-poky-linux-gnueab i/userland/git-r5/temp/run.do_configure
cmake \
${OECMAKE_SITEFILE} \
[...]
-DCMAKE_BUILD_TYPE=Release -DCMAKE_EXE_LINKER_FLAGS='-Wl,--no-as-needed' wayland-native \
-Wno-dev
$ CMake Error: The source directory "/data/builds/rpi3-sandbox/tmp/work/raspberrypi2-poky-linux-gnueabi/userland/git-r5/build/wayland-native" does not exist.
| Specify --help for usage, or press the help button on the CMake GUI.
Assuming that wayland-native should only be defined as a DEPENDS package this patch moves it to the correct PACKAGECONFIG position.
Signed-off-by: Tom Doehring <toolmmy@gmail.com>
Signed-off-by: toolmmy <toolmmy@gmail.com>
Building wayland support requires availability of wayland-scanner to avoid
build errors like:
| /bin/sh:
| /home/andrei/work/yocto/build-rpi-master/tmp/sysroots/x86_64-linux/usr/bin/wayland-scanner:
| No such file or directory
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
The support for PiTFT 28 inch resistive touchscreen is optional
and can be enabled by adding below in local.conf:
MACHINE_FEATURES += "pitft pitft28r"
While at it also fix a minor typo in README.
Signed-off-by: Petter Mabäcker <petter@technux.se>
--as-needed exposes a dependency problem where libegl needs some symbols
from libgles2 but the order that waf uses on linker cmdline for these
libs is reversed so we end up with link time failures e.g.
libEGL.so: undefined reference to `glxx_client_GetRenderbufferParameteriv'
Signed-off-by: Khem Raj <raj.khem@gmail.com>
These are needed for pkgconfig to have correct version number which is
checked by many configure systems e.g. cogl to decide on support for
wayland-egl
rprovides are expected by cogl as well to define runtime deps on
libgles2 and libgl
Signed-off-by: Khem Raj <raj.khem@gmail.com>
backport and fix needed patches for supporting wayland-egl
use PACKAGECONFIG for wayland so we can add proper DEPENDS on wayland
Fix QA warnings about dev-so
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Drop upstreamed patches
0002-fix-musl-build.patch was partially upstreamed
git'ify the remaining patches
Change license field to BSD 3 clause, since thats what
the licence it with BCM and RPI Copyrights
Licence changed from Broadcom to Raspberry Pi Ltd
see commit 0863709b9fb90ee1204b7fe52f69535830d3c111
Author: popcornmix <popcornmix@gmail.com>
Date: Mon Feb 1 21:07:02 2016 +0000
Update copyright
diff --git a/LICENCE b/LICENCE
index 2582681..dea4c26 100644
--- a/LICENCE
+++ b/LICENCE
@@ -1,4 +1,5 @@
Copyright (c) 2012, Broadcom Europe Ltd
+Copyright (c) 2015, Raspberry Pi (Trading) Ltd
All rights reserved.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Add basic support for PiTFT display by using device-trees.
In order get it working below configurations must be active in
local.conf:
MACHINE_FEATURES += "pitft"
- This will enable SPI bus and i2c device-trees, it will also setup
framebuffer for console and x server on PiTFT.
[Support #70]
Signed-off-by: Petter Mabäcker <petter@technux.se>
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
vcos headers include headers like "vcos_platform.h" "vcos_futex_mutex.h"
"vcos_platform_types.h" and these headers are different based on
platform/OSes. e.g. OS targets that support pthreads these headers
should come from pthreads/ folder but not for others. So one would add
right -I option for every package that accesses them directly or
indirectly. so if a software does #include <EGL/egl.h> then it will
break
| In file included from
/mnt/home/kraj/work/angstrom/build/tmp-angstrom-glibc/sysroots/raspberrypi2/usr/include/interface/vcos/vcos_assert.h:149:0,
| from
/mnt/home/kraj/work/angstrom/build/tmp-angstrom-glibc/sysroots/raspberrypi2/usr/include/interface/vcos/vcos.h:114,
| from
/mnt/home/kraj/work/angstrom/build/tmp-angstrom-glibc/sysroots/raspberrypi2/usr/include/interface/vmcs_host/vc_dispmanx.h:33,
| from
/mnt/home/kraj/work/angstrom/build/tmp-angstrom-glibc/sysroots/raspberrypi2/usr/include/EGL/eglplatform.h:110,
| from
/mnt/home/kraj/work/angstrom/build/tmp-angstrom-glibc/sysroots/raspberrypi2/usr/include/EGL/egl.h:36,
| from
/mnt/home/kraj/work/angstrom/build/tmp-angstrom-glibc/work/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/weston/1.8.0-r0/weston-1.8.0/clients/../shared/platform.h:29,
| from
/mnt/home/kraj/work/angstrom/build/tmp-angstrom-glibc/work/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/weston/1.8.0-r0/weston-1.8.0/clients/window.h:33,
| from
/mnt/home/kraj/work/angstrom/build/tmp-angstrom-glibc/work/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/weston/1.8.0-r0/weston-1.8.0/clients/eventdemo.c:40:
|
/mnt/home/kraj/work/angstrom/build/tmp-angstrom-glibc/sysroots/raspberrypi2/usr/include/interface/vcos/vcos_types.h:38:33:
fatal error: vcos_platform_types.h: No such file or directory
| #include "vcos_platform_types.h"
| ^
| compilation terminated.
This is wrong, it should not happen since doing simple #include
<EGL/egl.h> should not demand manual addition of some internal paths
tobe added to -I flags.
This patch fixes the headers which refer to headers inside pthreads/
folder to prefix them with pthreads/ so we dont have to specify
additional paths
This fixes weston on rpi and I believe there are more patches now to
recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_%.bbappend
recipes-multimedia/omxplayer/omxplayer_git.bb
which can be removed as well
Signed-off-by: Khem Raj <raj.khem@gmail.com>
several userspace libraries like libepoxy poke for pkgconfigs ( .pc )
files to detect egl support, and comes out to fail in configure stage,
one of the patches now adds support to generate .pc files for some known
cases. it could be further extended if needed for other libraries too
Secondly, the default CMAKE_INSTALL_PREFIX is /opt/vc but in OE we use
proper /usr so lets make this change as well, it simplifies do_install()
.so are not versioned so we need to grapple with OE's defaults of
expecting versioned .so files.
Adjust packages for -dev package such that it can automatically package
pkgconfig files and inherit pkgconfig because in cmake code we are not
looking for pkgconfig so we need the dependency also put in place for
consistent builds
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Building userland source with gcc 5.x causes multiple issues such as:
vcos_thread.h:186:15: warning: inline function 'vcos_thread_get_affinity' declared but never defined
| VCOS_UNSIGNED vcos_thread_get_affinity(VCOS_THREAD_T *thread);
The following patches fixes these issues and allows building userland on the current
poky master branch.
Signed-off-by: Tom Doehring <toolmmy@googlemail.com>
We have errors like below with glibc 2.22+
net_sockets_common.c:139:20: error: storage size of 'hints' isn't known
struct addrinfo hints, *info, *p;
^
newer glibc has now fixed the definitions of getaddrinfo and ilk to be
enabled with correct posix version.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Update to latest version of userland for rpi.
[Support #60]
Signed-off-by: Petter Mabäcker <petter@technux.se>
Acked-by: Andrei Gherzan <andrei@gherzan.ro>