meta-raspberrypi: subtree update:3a1fec22c0..4b89f63699
Aaron Shaw (1):
linux-firmware-rpidistro: Added firmware for BCM43456
Khem Raj (3):
mesa-gl: Enable swrast dri backend for rpi/userland
userland: Fix weston build with userland graphics
libglu: Fix build with userland graphics
Tobias Off (1):
linux-firmware-rpidistro: Missing link to firmware causes wifi not working on raspberrypi zero w
Trevor Woerner (1):
userland: fix invalid packageconfig
Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Change-Id: I06d2fbef19f827ffcbb485c60935b9a8c373e1c4
diff --git a/meta-raspberrypi/recipes-graphics/mesa/libglu_%.bbappend b/meta-raspberrypi/recipes-graphics/mesa/libglu_%.bbappend
new file mode 100644
index 0000000..56ff421
--- /dev/null
+++ b/meta-raspberrypi/recipes-graphics/mesa/libglu_%.bbappend
@@ -0,0 +1,3 @@
+# when using userland graphic KHR/khrplatform.h is provided by userland but virtual/libgl is provided by mesa-gl where
+# we explicitly delete KHR/khrplatform.h since its already coming from userland package
+DEPENDS_append_rpi = " ${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '', 'userland', d)}"
diff --git a/meta-raspberrypi/recipes-graphics/mesa/mesa-gl_%.bbappend b/meta-raspberrypi/recipes-graphics/mesa/mesa-gl_%.bbappend
index 08ec1c5..84cd479 100644
--- a/meta-raspberrypi/recipes-graphics/mesa/mesa-gl_%.bbappend
+++ b/meta-raspberrypi/recipes-graphics/mesa/mesa-gl_%.bbappend
@@ -1,6 +1,8 @@
PACKAGECONFIG_append_rpi = " gbm"
PROVIDES_append_rpi = " virtual/libgbm"
+DRIDRIVERS_append_rpi = ",swrast"
+
do_install_append_rpi() {
rm -rf ${D}${includedir}/KHR/khrplatform.h
}
diff --git a/meta-raspberrypi/recipes-graphics/userland/files/0024-userland-Sync-needed-defines-for-weston-build.patch b/meta-raspberrypi/recipes-graphics/userland/files/0024-userland-Sync-needed-defines-for-weston-build.patch
new file mode 100644
index 0000000..ec74cc2
--- /dev/null
+++ b/meta-raspberrypi/recipes-graphics/userland/files/0024-userland-Sync-needed-defines-for-weston-build.patch
@@ -0,0 +1,38 @@
+From 4a3e515d3ea7ff0fc4063b9677b056af4ee7a3f6 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 2 Dec 2020 14:28:01 -0800
+Subject: [PATCH] userland: Sync needed defines for weston build
+
+eglext.h from userland is not sufficient to compile latest weston,
+therefore import needed defines and typedefs from latest mesa
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ interface/khronos/include/EGL/eglext.h | 14 ++++++++++++++
+ 1 file changed, 14 insertions(+)
+
+diff --git a/interface/khronos/include/EGL/eglext.h b/interface/khronos/include/EGL/eglext.h
+index 6842bf9..7118e92 100755
+--- a/interface/khronos/include/EGL/eglext.h
++++ b/interface/khronos/include/EGL/eglext.h
+@@ -225,6 +225,20 @@ typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYWAYLANDBUFFERWL) (EGLDisplay dpy, st
+
+ #endif
+
++typedef void* EGLSyncKHR;
++typedef EGLBoolean (EGLAPIENTRYP PFNEGLSETDAMAGEREGIONKHRPROC) (EGLDisplay dpy, EGLSurface surface, EGLint *rects, EGLint n_rects);
++typedef EGLint (EGLAPIENTRYP PFNEGLWAITSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags);
++#ifndef EGL_ANDROID_native_fence_sync
++#define EGL_ANDROID_native_fence_sync 1
++#define EGL_SYNC_NATIVE_FENCE_ANDROID 0x3144
++#define EGL_SYNC_NATIVE_FENCE_FD_ANDROID 0x3145
++#define EGL_SYNC_NATIVE_FENCE_SIGNALED_ANDROID 0x3146
++#define EGL_NO_NATIVE_FENCE_FD_ANDROID -1
++typedef EGLint (EGLAPIENTRYP PFNEGLDUPNATIVEFENCEFDANDROIDPROC) (EGLDisplay dpy, EGLSyncKHR sync);
++#ifdef EGL_EGLEXT_PROTOTYPES
++EGLAPI EGLint EGLAPIENTRY eglDupNativeFenceFDANDROID (EGLDisplay dpy, EGLSyncKHR sync);
++#endif
++#endif /* EGL_ANDROID_native_fence_sync */
+
+ #ifdef __cplusplus
+ }
diff --git a/meta-raspberrypi/recipes-graphics/userland/userland_git.bb b/meta-raspberrypi/recipes-graphics/userland/userland_git.bb
index 32aa4a5..6dfc8a3 100644
--- a/meta-raspberrypi/recipes-graphics/userland/userland_git.bb
+++ b/meta-raspberrypi/recipes-graphics/userland/userland_git.bb
@@ -44,6 +44,7 @@
file://0021-cmake-Disable-format-overflow-warning-as-error.patch \
file://0022-all-host_applications-remove-non-existent-projects.patch \
file://0023-hello_pi-optionally-build-wayland-specific-app.patch \
+ file://0024-userland-Sync-needed-defines-for-weston-build.patch \
"
SRC_URI_remove_toolchain-clang = "file://0021-cmake-Disable-format-overflow-warning-as-error.patch"
@@ -54,10 +55,8 @@
ASNEEDED = ""
-ALLAPPS = "${@bb.utils.contains('PACKAGECONFIG', 'allapps', '-DALL_APPS=true', '', d)}"
EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=Release -DCMAKE_EXE_LINKER_FLAGS='-Wl,--no-as-needed' \
-DVMCS_INSTALL_PREFIX=${exec_prefix} \
- ${ALLAPPS} \
"
EXTRA_OECMAKE_append_aarch64 = " -DARM64=ON "
@@ -66,6 +65,7 @@
PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '', d)}"
PACKAGECONFIG[wayland] = "-DBUILD_WAYLAND=TRUE -DWAYLAND_SCANNER_EXECUTABLE:FILEPATH=${STAGING_BINDIR_NATIVE}/wayland-scanner,,wayland-native wayland"
+PACKAGECONFIG[allapps] = "-DALL_APPS=true,,,"
CFLAGS_append = " -fPIC"
diff --git a/meta-raspberrypi/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro_git.bb b/meta-raspberrypi/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro_git.bb
index 99afde8..671dfa2 100644
--- a/meta-raspberrypi/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro_git.bb
+++ b/meta-raspberrypi/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro_git.bb
@@ -8,6 +8,7 @@
# In maintained upstream linux-firmware:
# * brcmfmac43430-sdio falls under LICENCE.cypress
# * brcmfmac43455-sdio falls under LICENCE.broadcom_bcm43xx
+# * brcmfmac43456-sdio falls under LICENCE.broadcom_bcm43xx
#
# It is likely[^1] that both of these should be under LICENCE.cypress.
# Further, at this time the text of LICENCE.broadcom_bcm43xx is the same
@@ -35,8 +36,8 @@
SRC_URI = "git://github.com/RPi-Distro/firmware-nonfree"
-SRCREV = "98e815735e2c805d65994ccc608f399595b74438"
-PV = "20190114-1+rpt8"
+SRCREV = "b66ab26cebff689d0d3257f56912b9bb03c20567"
+PV = "20190114-1+rpt10"
S = "${WORKDIR}/git"
@@ -56,7 +57,7 @@
# Replace outdated linux-firmware files with updated ones from
# raspbian firmware-nonfree. Raspbian adds blobs and nvram
# definitions that are also necessary so copy those too.
- for fw in brcmfmac43430-sdio brcmfmac43455-sdio ; do
+ for fw in brcmfmac43430-sdio brcmfmac43455-sdio brcmfmac43456-sdio ; do
install -m 0644 brcm/${fw}.* ${D}${nonarch_base_libdir}/firmware/brcm/
done
# add compat links. Fixes errors like
@@ -64,22 +65,27 @@
ln -s brcmfmac43455-sdio.txt ${D}${nonarch_base_libdir}/firmware/brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.txt
ln -s brcmfmac43455-sdio.txt ${D}${nonarch_base_libdir}/firmware/brcm/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt
ln -s brcmfmac43430-sdio.txt ${D}${nonarch_base_libdir}/firmware/brcm/brcmfmac43430-sdio.raspberrypi,3-model-b.txt
+ ln -s brcmfmac43430-sdio.txt ${D}${nonarch_base_libdir}/firmware/brcm/brcmfmac43430-sdio.raspberrypi,model-zero-w.txt
}
PACKAGES = "\
${PN}-broadcom-license \
${PN}-bcm43430 \
${PN}-bcm43455 \
+ ${PN}-bcm43456 \
"
LICENSE_${PN}-bcm43430 = "Firmware-broadcom_bcm43xx-rpidistro"
LICENSE_${PN}-bcm43455 = "Firmware-broadcom_bcm43xx-rpidistro"
+LICENSE_${PN}-bcm43456 = "Firmware-broadcom_bcm43xx-rpidistro"
LICENSE_${PN}-broadcom-license = "Firmware-broadcom_bcm43xx-rpidistro"
FILES_${PN}-broadcom-license = "${nonarch_base_libdir}/firmware/LICENCE.broadcom_bcm43xx-rpidistro"
FILES_${PN}-bcm43430 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43430*"
FILES_${PN}-bcm43455 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43455*"
+FILES_${PN}-bcm43456 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43456*"
RDEPENDS_${PN}-bcm43430 += "${PN}-broadcom-license"
RDEPENDS_${PN}-bcm43455 += "${PN}-broadcom-license"
+RDEPENDS_${PN}-bcm43456 += "${PN}-broadcom-license"
RCONFLICTS_${PN}-bcm43430 = "\
linux-firmware-bcm43430 \
linux-firmware-raspbian-bcm43430 \
@@ -96,6 +102,14 @@
linux-firmware-bcm43455 \
linux-firmware-raspbian-bcm43455 \
"
+RCONFLICTS_${PN}-bcm43456 = "\
+ linux-firmware-bcm43456 \
+ linux-firmware-raspbian-bcm43456 \
+"
+RREPLACES_${PN}-bcm43456 = "\
+ linux-firmware-bcm43456 \
+ linux-firmware-raspbian-bcm43456 \
+"
# Firmware files are generally not run on the CPU, so they can be
# allarch despite being architecture specific