From 12e5ffbbbaa05790d387750fadff4a2bf74e4f93 Mon Sep 17 00:00:00 2001 From: Andrew Geissler Date: Fri, 11 Dec 2020 16:26:08 -0600 Subject: 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 Change-Id: I06d2fbef19f827ffcbb485c60935b9a8c373e1c4 --- .../recipes-graphics/mesa/libglu_%.bbappend | 3 ++ .../recipes-graphics/mesa/mesa-gl_%.bbappend | 2 ++ ...land-Sync-needed-defines-for-weston-build.patch | 38 ++++++++++++++++++++++ .../recipes-graphics/userland/userland_git.bb | 4 +-- .../linux-firmware-rpidistro_git.bb | 20 ++++++++++-- 5 files changed, 62 insertions(+), 5 deletions(-) create mode 100644 meta-raspberrypi/recipes-graphics/mesa/libglu_%.bbappend create mode 100644 meta-raspberrypi/recipes-graphics/userland/files/0024-userland-Sync-needed-defines-for-weston-build.patch (limited to 'meta-raspberrypi') diff --git a/meta-raspberrypi/recipes-graphics/mesa/libglu_%.bbappend b/meta-raspberrypi/recipes-graphics/mesa/libglu_%.bbappend new file mode 100644 index 000000000..56ff4213a --- /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 08ec1c59a..84cd479af 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 000000000..ec74cc220 --- /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 +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 +--- + 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 32aa4a578..6dfc8a373 100644 --- a/meta-raspberrypi/recipes-graphics/userland/userland_git.bb +++ b/meta-raspberrypi/recipes-graphics/userland/userland_git.bb @@ -44,6 +44,7 @@ SRC_URI = "\ 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 @@ inherit cmake pkgconfig 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 @@ EXTRA_OECMAKE_append_aarch64 = " -DARM64=ON " 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 99afde848..671dfa20b 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 @@ SECTION = "kernel" # 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 @@ NO_GENERIC_LICENSE[WHENCE] = "WHENCE" 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 @@ do_install() { # 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 @@ do_install() { 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 @@ RREPLACES_${PN}-bcm43455 = "\ 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 -- cgit v1.2.3